DIPAPI Dokumantasyonu
v1

Webhook

Bir document tamamlandiginda (ya da basarisiz oldugunda) delivery queue, batch.callback_url adresine (ya da tenant varsayilanina) ayri bir webhook gonderir. Batch bazinda toplu webhook yoktur — her document kendi bildirimini alir.

Imza dogrulama

Her istek X-Signature: sha256=<hex hmac> basligi tasir. Deger, tenant.webhook_secret ile istek govdesinin (ham JSON body, parse edilmeden once) HMAC-SHA256 imzasidir.

Kendi tarafinizda ayni hesaplamayi yapip sabit zamanli karsilastirma yapmalisiniz (timingSafeEqual / hmac.compare_digest) — string esitligi (===) zamanlama saldirilarina acik oldugu icin kullanilmamalidir. Kod ornekleri sag panelde.

Event tipleri

  • document.completedresult dolu, error: null
  • document.failedresult: null, error dolu

Retry politikasi

Hedef 2xx disinda bir kod donerse ya da timeout olursa, exponential backoff ile tekrar denenir:

1dk -> 5dk -> 30dk -> 2sa -> exhausted

exhausted durumuna ulasan bir job icin istemci GET /v1/jobs/{id} polling'ine dusmelidir — bu endpoint her zaman guncel durumu doner.

Notlar

  • MVP'de payload formati sabittir; tenant'a ozel sablon destegi yoktur.
  • callback_url bos birakilirsa tenant.default_callback_url kullanilir.
  • Webhook endpoint'inizin idempotent olmasi onerilir; ayni document.id icin birden fazla bildirim gelebilir (retry senaryolarinda).