{"_id":"@capsarsiv/sdk","name":"@capsarsiv/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@capsarsiv/sdk","version":"0.1.0","description":"Caps Arşivi developer API için hazırlanmış unofficial SDK. Türkçe caps arşivi verilerini uygulamalarda, botlarda ve araçlarda kullanmak için caps listeleme, arama, rastgele caps, caps detay ve tag işlemlerini kolaylaştırır.","module":"dist/index.js","main":"dist/index.js","types":"dist/index.d.ts","type":"module","private":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && bun build index.ts --outdir dist --target node --format esm && bunx tsc --noEmit false --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepublishOnly":"bun run typecheck && bun run build","typecheck":"bunx tsc --noEmit"},"keywords":["capsarsiv","caps arşivi","caps arsiv","caps","türkçe caps","turkce caps","caps api","caps sdk","caps arşivi sdk","caps arşivi api","developer api","türkçe meme","turkce meme","meme api","meme sdk","resimli caps","internet capsleri","bot caps","discord bot caps","telegram bot caps","sdk","api","npm sdk","javascript sdk","typescript"],"homepage":"https://github.com/queaxtra/capsarsiv-sdk#readme","repository":{"type":"git","url":"git+https://github.com/queaxtra/capsarsiv-sdk.git"},"bugs":{"url":"https://github.com/queaxtra/capsarsiv-sdk/issues"},"author":"Fatih Yılmaz","license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@types/bun":"^1.3.14"},"peerDependencies":{"typescript":"^6.0.3"},"_id":"@capsarsiv/sdk@0.1.0","_integrity":"sha512-pHQTu0UdSkqfd2iim3tZ1O+/9Hl7YyyvBurI69O80M5/FDbgXtNKuQYTsed2sWvsWZsVqkEXWNAxfUirMfZrSQ==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"8cd2c23628bc1e1758ed1c22063e62d579e1834c","dist":{"integrity":"sha512-pHQTu0UdSkqfd2iim3tZ1O+/9Hl7YyyvBurI69O80M5/FDbgXtNKuQYTsed2sWvsWZsVqkEXWNAxfUirMfZrSQ==","shasum":"8cd2c23628bc1e1758ed1c22063e62d579e1834c","tarball":"https://registry.npmjs.org/@capsarsiv/sdk/-/sdk-0.1.0.tgz","fileCount":8,"unpackedSize":16761,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfOzdaP7B5gUjJ98cjANTT/3vRPai8ezl63/3DKL2g5QIhAJBDUPh4pkyt5US8yL1jl8Sunl3D7pCMLSbIpNqXFvqc"}]},"_npmUser":{"name":"queaxtra","email":"fatih@etik.com"},"directories":{},"maintainers":[{"name":"queaxtra","email":"fatih@etik.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1781814294406_0.1988240780707793"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-18T20:24:54.260Z","0.1.0":"2026-06-18T20:24:54.545Z","modified":"2026-06-18T20:24:54.726Z"},"maintainers":[{"name":"queaxtra","email":"fatih@etik.com"}],"description":"Caps Arşivi developer API için hazırlanmış unofficial SDK. Türkçe caps arşivi verilerini uygulamalarda, botlarda ve araçlarda kullanmak için caps listeleme, arama, rastgele caps, caps detay ve tag işlemlerini kolaylaştırır.","homepage":"https://github.com/queaxtra/capsarsiv-sdk#readme","keywords":["capsarsiv","caps arşivi","caps arsiv","caps","türkçe caps","turkce caps","caps api","caps sdk","caps arşivi sdk","caps arşivi api","developer api","türkçe meme","turkce meme","meme api","meme sdk","resimli caps","internet capsleri","bot caps","discord bot caps","telegram bot caps","sdk","api","npm sdk","javascript sdk","typescript"],"repository":{"type":"git","url":"git+https://github.com/queaxtra/capsarsiv-sdk.git"},"author":"Fatih Yılmaz","bugs":{"url":"https://github.com/queaxtra/capsarsiv-sdk/issues"},"license":"MIT","readme":"# @capsarsiv/sdk\n\nCaps Arşivi developer API SDK. Bu paket, Türkçe Caps Arşivi API uçlarını modern TypeScript fonksiyonları olarak kullanmanızı sağlar.\n\n> Bu npm modülü official bir Caps Arşivi modülü değildir. Topluluk tarafından hazırlanmış bağımsız bir SDK'dır.\n\n## Özellikler\n\n- `x-api-key` kimlik doğrulamasını otomatik yönetir\n- Caps listeleme, arama, detay, rastgele caps ve tag uçları\n- Türkçe, güvenli ve anlaşılır hata mesajları\n- Timeout desteği\n- Bun, Node.js 18+ ve modern edge runtime'lar ile uyumlu fetch tabanlı yapı\n\n## Kurulum\n\n```bash\nbun add @capsarsiv/sdk\n```\n\n## API key alma\n\n1. [Caps Arşivi üyelik](https://capsarsiv.com/uyelik) sayfasından giriş yapın.\n2. Hesabınız altındaki **developer API** bölümüne gidin.\n3. **API key oluştur** butonuyla key oluşturun.\n4. Key sadece oluşturulduğu anda gösterilir, güvenli bir ortam değişkeninde saklayın.\n\nAPI her istekte `x-api-key` header'ı bekler. SDK bunu sizin için otomatik ekler.\n\n## Hızlı başlangıç\n\n```ts\nimport { createCapsarsivClient } from \"@capsarsiv/sdk\";\n\nconst capsarsiv = createCapsarsivClient({\n  apiKey: process.env.CAPSARSIV_API_KEY!,\n});\n\nconst caps = await capsarsiv.getCaps({\n  q: \"futbol\",\n  sort: \"popular\",\n  limit: 5,\n});\n\nconsole.log(caps.items);\n```\n\n## Client oluşturma\n\n```ts\nimport { CapsarsivClient } from \"@capsarsiv/sdk\";\n\nconst client = new CapsarsivClient({\n  apiKey: process.env.CAPSARSIV_API_KEY!,\n  timeoutMs: 10_000,\n});\n```\n\n### Config seçenekleri\n\n`apiKey` zorunludur ve Caps Arşivi developer API key değerini alır. `baseUrl` normal kullanımda verilmez, varsayılan olarak `https://capsarsiv.com` kullanılır. `timeoutMs` verilmediğinde istekler 10 saniye içinde tamamlanmazsa iptal edilir. Özel runtime'larda global `fetch` yerine kendi `fetch` implementasyonunuzu da verebilirsiniz.\n\n## Fonksiyonlar\n\n### Capsleri listele ve ara\n\n```ts\nconst response = await capsarsiv.getCaps({\n  q: \"futbol\",\n  tag: \"spor\",\n  sort: \"popular\",\n  limit: 10,\n});\n\nconsole.log(response.items);\n```\n\nParametreler:\n\n`sort` ile sıralama seçebilirsiniz. Desteklenen değerler `newest`, `popular`, `trend` ve `random` değerleridir. `q` başlık, açıklama, tag ve alternatif adlarda arama yapar. `tag` tek bir tag'e göre filtreleme sağlar. `limit` değeri 1 ile 100 arasında olmalıdır, verilmezse API kendi varsayılan limitini kullanır.\n\n### Rastgele caps getir\n\n```ts\nconst cap = await capsarsiv.getRandomCap({\n  exclude: [\"ornek-caps\", \"baska-caps\"],\n});\n\nconsole.log(cap.title);\n```\n\n`exclude` alanı string veya string listesi olabilir. Liste verdiğinizde SDK bunu virgülle ayrılmış slug listesine dönüştürür.\n\n### Slug ile tek caps getir\n\n```ts\nconst cap = await capsarsiv.getCap(\"ornek-caps\");\n\nconsole.log(cap.image_url);\n```\n\nCaps bulunamazsa API `404` döner ve SDK `CapsarsivHttpError` fırlatır.\n\n### Tagleri listele\n\n```ts\nconst tags = await capsarsiv.getTags({\n  limit: 40,\n});\n\nconsole.log(tags.items);\n```\n\nParametreler:\n\n`limit` değeri 1 ile 200 arasında olmalıdır. Değer verilmezse API varsayılan olarak 40 tag döndürür.\n\n## Response tipleri\n\n### Cap\n\n```ts\ntype Cap = {\n  slug: string;\n  title: string;\n  image_url: string;\n  image_version: number;\n  description: string | null;\n  type: string;\n  tags: string[];\n  aliases: string[];\n  score: number;\n  source_url: string | null;\n  view_count: number;\n  created_order: number;\n};\n```\n\n### Tag\n\n```ts\ntype Tag = {\n  name: string;\n  count: number;\n};\n```\n\n## Hata yönetimi\n\nSDK hataları Türkçe mesajlarla döndürür.\n\n```ts\nimport {\n  CapsarsivHttpError,\n  CapsarsivValidationError,\n  createCapsarsivClient,\n} from \"@capsarsiv/sdk\";\n\nconst capsarsiv = createCapsarsivClient({\n  apiKey: process.env.CAPSARSIV_API_KEY!,\n});\n\ntry {\n  const cap = await capsarsiv.getCap(\"olmayan-caps\");\n  console.log(cap);\n} catch (error) {\n  if (error instanceof CapsarsivValidationError) {\n    console.error(error.code, error.message);\n    throw error;\n  }\n\n  if (error instanceof CapsarsivHttpError) {\n    console.error(error.status, error.code, error.message);\n    throw error;\n  }\n\n  throw error;\n}\n```\n\nYaygın hata kodları:\n\n`DOGRULAMA_HATASI`, SDK tarafında parametre doğrulaması başarısız olduğunda döner. API key eksik veya geçersizse `YETKISIZ_ERISIM`, caps bulunamazsa `KAYIT_BULUNAMADI`, kota veya rate limit aşılırsa `LIMIT_ASILDI` kodu kullanılır. Bağlantı, timeout veya ağ sorunlarında `AG_HATASI`; diğer başarısız HTTP cevaplarında `API_HATASI` döner.\n\n## Limitler\n\nCaps Arşivi developer API limitleri:\n\n- Dakikada en fazla 60 istek\n- API key başına aylık 1000 istek\n- Limit aşımında API `429` döndürür\n\nSDK otomatik retry yapmaz. Kota ve rate limit kontrolünü uygulamanızın kullanım senaryosuna göre yönetmeniz önerilir.\n\n## Lisans\n\nBu proje MIT lisansı altında lisanslanmıştır.\n","readmeFilename":"README.md","_rev":"1-dd0e54c40e11df990800047a389a937a"}