ID
Scan
NFC kimlik doğrulama API'si • Gizlilik öncelikli • API uyumlu

Kimlik doğrulama özelliğini kendi yazılımınıza entegre edin.

Kendi sisteminizden güvenli NFC kimlik doğrulama istekleri oluşturun. Kullanıcıları e-posta veya SMS yoluyla davet edin ya da oluşturulan bağlantıyı kendiniz gönderin. Kullanıcı mobil uygulamada NFC çipini tarar ve siz de işlemleriniz için gerekli olan alanları alırsınız.

NFC çipi doğrulamaDG1/DG2 verilerini okuyun ve belge çipini kontrol edin.
Veri küçültmeİş akışınız için gerekli olan alanları ve denetimleri talep edin.
Kendi iş akışıSonuçları kendi dosyalarınızla ilişkilendirmek için dış kaynaklara başvurun.
Örnek akış
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

API akışı

ID Scan, mobil tarama sürecinin tamamını kendileri oluşturmadan kimlik doğrulama özelliği eklemek isteyen yazılım satıcıları ve kuruluşlar için tasarlanmıştır.

1

Talep oluştur

Arka uç sisteminizden bir tarama talebi oluşturun. Harici referans, dil, geçerlilik süresi, teslimat ayarları, istenen alanlar ve kontroller ekleyin.

2

Kullanıcıyı davet et

ID Scan'ın e-posta veya SMS göndermesine izin verin ya da geri gönderilen doğrulama bağlantısını kullanarak kendi iletişim kanalınızı kullanın.

3

Uygulamada tarayın

Kullanıcı mobil uygulamayı açar, MRZ’yi tarar, NFC çipini okur ve isteğe bağlı olarak DG2’deki vesikalık fotoğrafla canlı bir selfie kontrolü gerçekleştirir.

4

Sonucu al

API aracılığıyla durumu, kontrolleri, istenen alanları ve denetim bilgilerini alın. Yalnızca yapılandırılmış alanlar döndürülür.

Ana URL ve kimlik doğrulama

API çağrıları, ID Scan API ana URL'sine gönderilir ve ID Scan portalında oluşturulan bir API anahtarı kullanılarak kimlik doğrulaması yapılır. API anahtarı, özel bir istek başlığı aracılığıyla gönderilir ve yalnızca sunucu tarafında kullanılmalıdır. API anahtarlarını hiçbir zaman ön uç kodunda veya mobil uygulamalarda açıkta bırakmayın.

Base URL https://api.id-scan.app Example request GET https://api.id-scan.app/api/scan-requests/{id}/details X-API-KEY: YOUR_API_KEY Accept: application/json

İstek-yanıt oluştur

Bir tarama isteği oluşturulduğunda, API istek kimliğini, istek anahtarını, geçerlilik süresini ve doğrulama bağlantılarını döndürür. Kendi e-postanızda, SMS'inizde, portalınızda veya iş akışınızda, kendi teslimatınızı kullanırken döndürülen WebUrl'yi kullanın. Mobil cihazlarda DeepLinkUrl, uygulamayı doğrudan açabilir.

{ "ScanRequestId": "2153ae29-0b77-4601-87b6-17ce9037ef3d", "Status": "requested", "LanguageCode": "nl", "ExternalReference": "customer-12345", "RequestKey": "ab6f1c05de29", "ExpiresAtUtc": "2026-05-28T06:58:17.9384521Z", "DeepLinkUrl": "idcheck://scan/ab6f1c05de29", "WebUrl": "https://id-scan.app/ab6f1c05de29", "IsTest": false }

Teslimat Seçenekleri

Kullanıcının doğrulama isteğini nasıl alacağını seçebilirsiniz. Bu sayede ID Scan, hem tamamen otomatik hem de özel iletişim akışlarına uyum sağlayabilir.

Platform e-postası

ID Scan, güvenli bir doğrulama bağlantısı içeren markalı bir davet e-postası gönderir.

Platform SMS

ID Scan, doğrulama bağlantısını SMS yoluyla gönderir. Mobil öncelikli kayıt süreçleri için kullanışlıdır.

Kendi teslimatı

Sisteminiz bağlantıyı alır ve bunu kendi e-posta, SMS, portal veya mesajlaşma iş akışınız aracılığıyla gönderir.

Talep durumları

Bir doğrulama talebi, birkaç farklı durumdan geçer. Entegrasyonlar bu durumları kullanarak ilerlemeyi gösterebilir, hatırlatıcılar gönderebilir veya yeni bir talebin gerekli olup olmadığına karar verebilir.

DurumAçıklama
requestedThe request has been created and is waiting for the user to start or complete the verification.
completedThe user completed the flow. Use IsSuccess and the check fields to determine whether verification passed.
expiredThe request expired before the user completed the verification.
deletedThe request was deleted and is no longer available for completion.
failedThe request could not be completed successfully because of an error or failed verification step.

Dış kaynak

Bir doğrulama talebini kendi müşterinize, çalışanınıza, dosyanıza, siparişinize veya kayıt sürecine bağlamak için harici bir referans kullanın. Talep ayrıntılarını aldığınızda aynı referans geri döndürülür.

Müşteri ID

Talebi kendi müşteri kaydınızla ilişkilendirin.

Dava veya dosya numarası

Sonucu bir Wwft, İK veya uyum dosyasına ekleyin.

Sipariş veya iş akışı kimliği

Doğrulama işlemi tamamlandıktan sonra otomatik iş akışlarını sürdürmek için bu referansı kullanın.

Zorunlu alanlar

ID Scan, veri minimizasyonunu destekler. Sisteminizde hangi alanların görüntüleneceğini tam olarak belirleyebilirsiniz. Kullanıcıya, gönderimden önce hangi verilerin paylaşılacağı gösterilebilir.

AlanAçıklamaKaynak
surnameSurname / family name from the identity document.NFC DG1
given_namesGiven names from the identity document.NFC DG1
date_of_birthDate of birth. Can also be used for age checks.NFC DG1
date_of_expiryDocument expiry date.NFC DG1
document_numberDocument number. Can be returned full or masked depending on template settings.NFC DG1
document_typeDocument type, such as passport or identity card.NFC DG1
issuing_countryCountry that issued the document.NFC DG1
country_of_issueCountry of issue when available.NFC DG1
nationalityNationality from the identity document.NFC DG1
genderGender marker from the document, if requested.NFC DG1
photoPortrait photo from the NFC chip. Only return when explicitly needed.NFC DG2
mrz_masked_imageMasked MRZ image as proof of scan without exposing all MRZ data.Camera/MRZ
selfie_imageLive selfie image. Usually only included for manual review.Camera/selfie

Mevcut çekler

Doğrulama sürecinin bir parçası olarak çeşitli kontroller talep edilebilir. Bu kontrollerden bazıları teknik NFC kontrolleriyken, diğerleri ise asgari yaş veya selfie doğrulaması gibi iş kurallarıdır.

KontrolAçıklamaElde edilen sonuç
nfc_read_successIndicates whether the NFC chip was successfully read.true / false
chip_authentication_successIndicates whether chip authentication or chip verification succeeded.true / false
document_not_expiredChecks if the document expiry date is in the future.true / false
minimum_ageChecks whether the person meets a configured minimum age without necessarily returning the date of birth.{ required, passed }
sod_signature_validChecks the SOD signature when available.true / false
dg1_hash_validChecks whether DG1 data matches the signed document data.true / false
dg2_hash_validChecks whether the portrait photo data matches the signed document data.true / false
active_auth_okOptional active authentication result when supported by the document.true / false / not available
selfie_checkOptional live selfie verification matched against the DG2 portrait photo.{ requested, consent_given, passed, status, method }

Sonuç ve dönüş alanları

Sonuç uç noktası, istek durumunu, doğrulama durumunu, harici referansı, seçilen kimlik alanlarını, seçilen resimleri ve kontrol sonuçlarını döndürür. İstenmeyen alanlar döndürülmez.

Talep durumu

Talep edilen, tamamlanan, süresi dolan, silinen veya başarısız olanlar; oluşturma ve tamamlanma zaman damgaları dahil.

Seçilen alanlar

Yalnızca isim, uyruk, doğum tarihi veya belge geçerlilik süresi gibi kimlik bilgileri.

Denetim ve teftiş

NFC okuma durumu, çip doğrulama, belge geçerliliği, selfie kontrolü ve isteğe bağlı PDF/raporlama verileri.

Görüntü alanları

DG2 portre fotoğrafı, maskeli MRZ görüntüsü ve selfie görüntüsü gibi görüntü alanları, talep edildiğinde satır içi olarak Base64 kodlu veriler halinde döndürülür. Görüntüler, herkese açık URL’ler olarak döndürülmez.

Base64 ile kodlanmış

Veri değerini Base64 kodlu ikili görüntü verisi olarak kullanın.

İçerik türü

Görüntüyü doğru şekilde yeniden oluşturmak için image/jpeg gibi bir içerik türü kullanın.

Sadece talep edildiğinde

Görüntü verileri, yalnızca şablonda bu alan açıkça talep edildiğinde eklenir.

Belge numarasının gizlenmesi

Belge numarası tam olarak veya maskelenmiş şekilde döndürülebilir. Maskeleme, belge numaralarının gereksiz yere ifşa edilmesini önlerken, kendi sisteminizde eşleştirme veya denetim kontrollerinin yapılmasına da olanak tanır.

DeğerSeçenekAçıklama
(empty)No maskingReturn the document number as read from the identity document. Only use when the full document number is required.
last4_visibleLast 4 visibleMask the document number and only return the last four characters, for example *****7P44.
first4_visibleFirst 4 visibleMask the document number and only return the first four characters.

Örnek API isteği

Aşağıdaki örnek bir doğrulama isteği oluşturur, ID Scan'den daveti e-posta yoluyla göndermesini ister ve yalnızca seçilen alanları ve onayları döndürür.

POST /api/scan-requests X-API-KEY: YOUR_API_KEY Content-Type: application/json { "externalReference": "customer-12345", "language": "en", "expiresInHours": 72, "delivery": { "mode": "platform", "channels": ["email"], "emailAddress": "client@example.com", "phoneNumber": null }, "template": { "fields": { "given_names": { "requested": true }, "surname": { "requested": true }, "document_number": { "requested": true, "masking": "last4_visible" }, "country_of_issue": { "requested": true }, "photo": { "requested": true }, "date_of_expiry": { "requested": true }, "nationality": { "requested": true }, "mrz_masked_image": { "requested": true } }, "checks": { "document_not_expired": true, "nfc_read_success": true, "chip_authentication_success": true, "selfie_check": true, "minimum_age": 18 } } }

Örnek sonuç

İşlem tamamlandıktan sonra, sisteminiz sonuçları istek kimliği veya istek anahtarıyla alabilir. Dış referans, sonucu kendi sisteminize bağlamak için kullanılabilir.

GET /api/scan-requests/{id}/details X-API-KEY: YOUR_API_KEY { "VerificationRequestId": "912eef5b-7ec7-4825-9125-b5a0e68eb878", "Name": "Jane Doe", "EmailAddress": "jane@example.com", "PhoneNumber": "31612345678", "PreferredLanguage": "en", "Status": "completed", "RequestType": "identity_check", "DeliveryMode": "platform", "DeliveryChannels": "sms,email", "ResultJson": { "fields": { "country_of_issue": "NLD", "nationality": "NLD", "given_names": "JANE MARIA", "surname": "DOE", "date_of_expiry": "2034-01-03", "document_number": "*****7P44", "photo": { "available": true, "content_type": "image/jpeg", "data": "/9j/..." }, "mrz_masked_image": { "available": true, "content_type": "image/jpeg", "data": "/9j/4AAQSQ==..." } }, "checks": { "nfc_read_success": true, "chip_authentication_success": true, "document_not_expired": true, "minimum_age": { "required": 18, "passed": true }, "selfie_check": { "requested": true, "consent_given": true, "passed": true, "status": "passed", "method": "on_device_face_match" } } }, "CreatedDateTimeUtc": "2026-05-26T06:14:26", "InvitationSentDateTimeUtc": "2026-05-26T06:14:26", "CompletedDateTimeUtc": "2026-05-26T06:16:04", "HasResult": true, "IsSuccess": true, "NfcReadSuccess": true, "ChipAuthenticationSuccess": true, "Summary": "Passport chip successfully read", "DocumentType": "PASSPORT" }

Veri saklama ve gizlilik

Saklama ayarları kiracı bazında yapılandırılabilir. Doğrulama verileri, belirli bir süre geçtikten sonra, okunduktan sonra veya yapılandırdığınız gizlilik politikasına göre silinebilir. Bu, hassas kimlik verilerinin gereksiz yere depolanmasını sınırlamaya yardımcı olur.

Sabit günler

Belirlenen gün sayısından sonra doğrulama verilerini sil.

Okuduktan sonra

Veriler alındıktan sonra okundu olarak işaretlenmeli ve o andan sonra silinmesi planlanmalıdır.

Portal ve API ayarları

Gerektiğinde portal ve API iş akışları için ayrı saklama ayarları kullanın.

Ek son noktalar

Entegrasyonlar, istek oluşturma ve alma işlemlerinin yanı sıra davetiyeleri yeniden gönderebilir veya bir isteği silebilir. Bir isteğin silinmesi, iş akışı iptal edildiğinde veya doğrulama artık gerekli olmadığında kullanılabilir.

Davetiyeyi yeniden gönder

POST /api/scan-requests/{id}/resend

Silme talebi

DELETE /api/scan-requests/{id}

Detayı oku

GET /api/scan-requests/{id}/details

Test modu

Canlı ortama geçmeden önce tüm entegrasyon akışını doğrulamak için test modu kullanılabilir. Test istekleri, API yanıtında IsTest etiketiyle işaretlenir; böylece sisteminiz test verilerini üretim iş akışlarından ayırabilir.

Güvenli testler

Üretim iş akışlarını kullanmadan istek oluşturma, iletim, uygulama tarama ve sonuç alma işlemlerini doğrulayın.

Yanıtta görülebilir

Oluşturma isteği yanıtında IsTest öğesi bulunur; bu sayede test isteklerini kolayca tespit edebilirsiniz.

Daha sonra yayına geç

Öncelikle bir test API anahtarı veya test kiracısı kurulumuyla başlayın ve doğrulama işleminden sonra canlı doğrulamaya geçin.

Başarısızlık ve yetersiz sonuçlar

Her istek başarılı bir doğrulama ile sonuçlanmayabilir. Kullanıcı işlemi durdurabilir, istek süresi dolabilir veya NFC okuma işlemi başarısız olabilir. Nihai sonucu belirlemek için Status, HasResult, IsSuccess ve kontrol alanlarını kullanın.

{ "VerificationRequestId": "912eef5b-7ec7-4825-9125-b5a0e68eb878", "Status": "completed", "HasResult": true, "IsSuccess": false, "NfcReadSuccess": false, "ChipAuthenticationSuccess": false, "Summary": "NFC chip could not be read", "DocumentType": null, "ResultJson": { "checks": { "nfc_read_success": false, "chip_authentication_success": false, "document_not_expired": null, "selfie_check": { "requested": true, "consent_given": false, "passed": false, "status": "not_completed", "method": "on_device_face_match" } } } }

NFC kimlik doğrulamasını entegre etmeye hazır mısınız?

Canlıya geçmeden önce ücretsiz bir hesap oluşturun, bir API anahtarı oluşturun ve tüm süreci test edin.