Polling yapmadan terminal verification sonuclarini almak icin webhook kullanin.
Mevcut terminal event'ler
Su anda yayinlanan terminal event'ler:
verification.completedverification.review_requiredverification.failed
Webhook yapilandirmasi her istemci uygulamasi icin tutulur. Her uygulama kendi endpoint'ine ve imza gizli anahtarina sahiptir.
Gerekli basliklar
Her giden istekte su basliklar bulunur:
Content-Type: application/jsonUser-Agent: docufykit-webhooks/1.0X-Webhook-EventX-Webhook-IdX-Webhook-TimestampX-Webhook-Signature
Imza formati
Imza formati sunlardir:
sha256=HMAC_SHA256(secret, timestamp + "." + delivery_id + "." + raw_body)
Imzayi yeniden serialize edilmis JSON ile degil, ham request body baytlariyla dogrulayin.
import crypto from "node:crypto";
function verifyDocufykitWebhook({
secret,
timestamp,
deliveryId,
rawBody,
signature,
}: {
secret: string;
timestamp: string;
deliveryId: string;
rawBody: Buffer;
signature: string;
}) {
const payload = Buffer.concat([
Buffer.from(timestamp, "utf8"),
Buffer.from(".", "utf8"),
Buffer.from(deliveryId, "utf8"),
Buffer.from(".", "utf8"),
rawBody,
]);
const expected =
"sha256=" +
crypto.createHmac("sha256", secret).update(payload).digest("hex");
const actual = Buffer.from(signature, "utf8");
const wanted = Buffer.from(expected, "utf8");
return (
actual.length === wanted.length &&
crypto.timingSafeEqual(actual, wanted)
);
}
Ortama gore retry davranisi
Sandbox
- yalnizca tek teslimat denemesi
- otomatik retry plani yok
dead_letterdurumu yok- basarisiz teslimatlar manuel replay yapilana kadar
failedkalir
Production
Endpoint'iniz 2xx donmezse platform su planla otomatik retry yapar:
- 30 saniye
- 2 dakika
- 10 dakika
- 1 saat
- 6 saat
- 24 saat
Son denemeden sonra teslimat dead_letter durumuna gecer.
Replay akisi
Musteriler sunlari yapabilir:
- portal uzerinden son webhook request/response ciftini incelemek
- failed ve dead-letter teslimatlari gormek
- deliveries sayfasindan manuel replay baslatmak
Entegrasyon notlari
- Her ortam icin ayri webhook URL kullanin.
- Sandbox ve production icin ayri uygulamalar ve ortam onekli API anahtarlari kullanin.
- Imzali webhook teslimatini birincil async sonuc yolu olarak ele alin.
- REST sorgularini imza dogrulamasinin yerine gecen bir yol olarak degil, ikincil inceleme yolu olarak kullanin.