GET /v1/requests/{request_id}

Asenkron doğrulama veya gecikmeli işlemlerden sonra sonucu almak için bu uç noktayı kullanın. Yanıt her zaman size ait uygulama ve istek ile sınırlıdır. Sync/async seçimi için karar rehberine bakın.

Polling stratejisi

Canlı doğrulama sonuçları çoğunlukla 1-2 dakika içinde gelir; yoğun anlarda 10 dakikaya kadar uzayabilir. Polling'i buna göre kurun:

  • İlk kontrolü yaklaşık 30 sn sonra yapın, ardından 30-60 sn aralıkla devam edin.
  • Polling'i kullanıcı isteği içinde değil, arka plandaki bir zamanlanmış görev veya kuyruk işinde yapın. Kullanıcı ekranda sonucu beklememeli.
  • processing durumundaki talepler iptal edilmez; birkaç dakika sonra hâlâ sonuç yoksa kontrol aralığını seyrekleştirin (ör. 5 dakikada bir) ve aynı bilgilerle yeni talep göndermeyin.
  • Uygulama başına dakikada 60 istek sınırı vardır ve polling istekleri de bu sınıra dahildir. Bekleyen çok sayıda talebiniz varsa webhook kullanın.

Durum değerleri

  • processing — İstek hâlâ işleniyor; 30-60 sn sonra tekrar deneyin.
  • completed — Tamamlandı; result nesnesinde verified ve from_cache yer alır.
  • failed — Başarısız; error nesnesinde kod ve mesaj döner.

Örnek: tamamlandı (200)

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "reference_id": null,
  "status": "completed",
  "created_at": "2026-03-31T12:00:00+00:00",
  "result": {
    "verified": true,
    "from_cache": false,
    "processed_at": "2026-03-31T12:00:05+00:00"
  },
  "credits": {
    "used": 1,
    "remaining": 499
  }
}

credits yalnızca production uygulamalarında döner.

Örnek: işleniyor

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "reference_id": null,
  "status": "processing",
  "created_at": "2026-03-31T12:00:00+00:00"
}

Örnek: başarısız

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "reference_id": null,
  "status": "failed",
  "created_at": "2026-03-31T12:00:00+00:00",
  "error": {
    "code": "verification_error",
    "message": "Doğrulama işlemi tamamlanamadı."
  }
}

cURL örneği

REQ_ID="550e8400-e29b-41d4-a716-446655440000"
sleep 30
for i in $(seq 1 20); do
  STATUS=$(curl -sS "$BASE_URL/v1/requests/$REQ_ID" \
    -H "Authorization: Bearer $API_KEY" | jq -r .status)
  echo "$STATUS"
  [ "$STATUS" != "processing" ] && break
  sleep 45
done