POST /v1/verify

Kimlik bilgisi eşleşme isteğini oluşturur. verified alanı, gönderdiğiniz bilgilerin eşleşip eşleşmediğini gösterir. mode alanına göre sonuç asenkron işleme ile (önerilen) veya aynı HTTP yanıtında döner.

Sync / async karar rehberi

Operasyon süresi doğası gereği değişkendir. Üretim entegrasyonunda async varsayılan olmalıdır: talep oluştur → UUID al → webhook bekle → gerekirse polling ile yedek kontrol.

  1. Webhook alabiliyor musunuz? → mode: async + webhook (önerilen).
  2. Webhook alamıyorsanız → async + polling (önerilen aralık: 2, 4, 8, 16 sn; toplam ~30 sn).
  3. Cevabı aynı HTTP isteğinde almak zorundaysanız → mode: sync. Süreç uzadığında istemci zaman aşımı riski vardır; istemci zaman aşımı süresini en az 30–60 sn tutun. Üretimde mümkünse async tercih edin.

İstek gövdesi

AlanTipZorunluAçıklama
id_numberstring (11 hane)EvetT.C. kimlik numarası; yalnızca rakam, checksum geçerli olmalı.
first_namestringEvetAd (max 100 karakter).
last_namestringEvetSoyad (max 100 karakter).
birth_datestringEvetDoğum tarihi YYYY-MM-DD formatında.
modestringHayırsync veya async. Varsayılan: async.
skip_cachebooleanHayırProduction’da önbelleği atla; varsayılan false.
reference_idstringHayırKendi sisteminizdeki referans (max 255); yanıtta geri döner.

reference_id kullanımı

Kendi sisteminizdeki sipariş, başvuru veya kullanıcı kimliğini reference_id ile gönderin; yanıt, webhook ve polling sonuçlarında aynı değer geri döner. Böylece tcdogrula request_id ile kendi kayıtlarınızı eşleştirebilirsiniz.

Senkron yanıt örneği (200)

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

credits alanı production anahtarlarında döner; sandbox’ta bulunmaz.

Asenkron kabul yanıtı (202)

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "reference_id": null,
  "status": "processing",
  "message": "Doğrulama talebi alındı ve işleniyor."
}

Asenkron mod + önbellekten sonuç (200)

mode: async ile gönderilen isteklerde önbellekte geçerli sonuç varsa yanıt 200 OK ile anında döner; status alanı completed olur ve sonuç bilgisi yanıtta yer alır. Önbellekte sonuç yoksa 202 ve processing döner.

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "reference_id": "order-123",
  "status": "completed",
  "result": {
    "verified": true,
    "from_cache": true,
    "cached_at": "2026-03-28T08:00:00+00:00",
    "processed_at": "2026-03-31T12:00:00+00:00"
  },
  "credits": {
    "used": 1,
    "remaining": 499
  }
}

Yanıt başlıkları

  • X-Request-Id — İsteğe ait benzersiz kimlik (UUID).
  • X-Credits-Remaining — Production’da kalan kredi sayısı; sandbox’ta unlimited olabilir.