DIPAPI Dokumantasyonu
v1

Baslangic ve Auth

DIP API, dokuman parse ve arama akislarini programatik olarak kullanmaniz icin tasarlanmis M2M (makine-to-makine) bir arayuzdur. Bu bolum, entegrasyona baslamadan once bilmeniz gereken auth, hata formati ve rate limit kurallarini anlatir.

API Key

Her istek bir API key ile kimliklendirilir. Key iki tipte gelir:

  • dip_live_... — gercek tenant verisi, billing ve rate limit'e tabi.
  • dip_test_... — staging/entegrasyon testleri icin; billing ve rate limit'ten muaftir, sabit bir hard-cap ile sinirlidir.

Key'ler yalnizca dashboard'dan (user-app, oturum tabanli auth ile) olusturulur ve iptal edilir — API'nin kendisi key CRUD islemi sunmaz. Yeni bir key olusturuldugunda ham deger yalnizca o cevapta gorunur, sonrasinda tekrar gosterilmez; guvenli bir yerde saklayin.

Bearer ile kimliklendirme

Tum istekler Authorization basligina Bearer seklinde key icermelidir:

Authorization: Bearer dip_live_a1b2c3d4e5f6...
  • Eksik/gecersiz key -> 401 unauthorized
  • Iptal edilmis (revoke) key -> yine 401 unauthorized, mesaj invalid_or_revoked_key
  • Key dogrulandiktan sonra tum sorgular otomatik olarak o key'in tenant'ina scope edilir. Baska bir tenant'a ait bir kaynagi id ile sorgulasaniz bile 404 donulur (kaynagin varligini sizdirmamak icin 403 degil).

Hata formati

Tum hatalar ayni zarfla doner:

{ "error": { "code": "...", "message": "...", "request_id": "..." } }

| HTTP | code | Anlami | | --- | --- | --- | | 400 | invalid_request | Eksik/hatali alan | | 401 | unauthorized | Eksik, gecersiz veya revoke edilmis key | | 402 | insufficient_credit | Bakiye negatif, upload reddedildi | | 404 | not_found | Kaynak yok ya da baska tenant'a ait | | 413 | payload_too_large | Dosya boyutu limiti asildi | | 422 | unprocessable_file | Desteklenmeyen format ya da bozuk dosya | | 429 | rate_limited | Throttle limiti asildi (Retry-After ile) | | 500 | internal_error | Beklenmeyen sunucu hatasi | | 503 | service_unavailable | Alt sistem gecici olarak musait degil |

Rate limit

Her cevapta (basarili ya da 429) rate limit basliklari doner. Limitler tenant bazinda anahtarlanir, IP bazinda degil:

| Scope | Limit | | --- | --- | | tenant_upload | 60 / dakika | | tenant_status | 600 / dakika | | tenant_search | 300 / dakika |

429 alindiginda Retry-After header'indaki saniye kadar bekleyip tekrar deneyin; istemci tarafinda exponential backoff onerilir.