ID
Scan
API за проверка на самоличността чрез NFC • Приоритет на поверителността • Поддръжка на API

Интегрирайте проверката на самоличността във вашия софтуер.

Създавайте защитени заявки за проверка на самоличността чрез NFC от вашата собствена система. Канете потребителите по имейл или SMS, или изпратете сами генерирания линк. Потребителят сканира NFC чипа в мобилното приложение, а вие получавате само полетата, необходими за вашия процес.

Проверка на NFC чипаПрочетете данните от DG1/DG2 и проверете чипа на документа.
Ограничаване на даннитеИзисквайте само полетата и проверките, необходими за вашия работен процес.
Собствен работен процесИзползвайте външни източници, за да свържете резултатите със собствените си досиета.
Примерна схема
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

Поток на API

ID Scan е предназначен за софтуерни доставчици и организации, които желаят да внедрят проверка на самоличността, без да се налага сами да разработват цялостния процес на сканиране през мобилни устройства.

1

Създайте заявка

Създайте заявка за сканиране от вашия бекенд. Добавете външна препратка, език, срок на валидност, настройки за доставка, изисквани полета и проверки.

2

Покани потребителя

Позволете на ID Scan да изпрати имейл или SMS, или използвайте свой собствен канал за комуникация с получената връзка за потвърждение.

3

Сканирай в приложението

Потребителят отваря мобилното приложение, сканира MRZ, чете NFC чипа и по желание извършва проверка чрез селфи на живо в сравнение с портретната снимка от DG2.

4

Извлечи резултата

Извличане на статус, проверки, изисквани полета и информация за одит чрез API. Връщат се само конфигурираните полета.

Базов URL адрес и удостоверяване

API заявките се изпращат към базовия URL адрес на API-то на ID Scan и се удостоверяват чрез API ключ, генериран в портала на ID Scan. API ключът се изпраща чрез специален заглавен ред на заявката и трябва да се използва само от страна на сървъра. Никога не разкривайте API ключове в кода на уеб интерфейса или в мобилните приложения.

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

Създаване на заявка и отговор

Когато се създаде заявка за сканиране, API-то връща идентификатора на заявката, ключа на заявката, срока на валидност и линковете за потвърждение. Използвайте върнатия WebUrl във вашите имейли, SMS-и, портал или работния процес, когато използвате самостоятелно доставяне. На мобилни устройства DeepLinkUrl може да отвори приложението директно.

{ "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 }

Варианти за доставка

Можете да изберете по какъв начин потребителят да получи заявката за потвърждение. Това позволява на ID Scan да се интегрира както в напълно автоматизирани, така и в персонализирани комуникационни процеси.

Имейл на платформата

ID Scan изпраща имейл с покана с логото на компанията, съдържащ защитен линк за потвърждение.

Платформа за SMS

ID Scan изпраща линка за потвърждение чрез SMS. Полезно за процеси на регистрация, насочени към мобилни устройства.

Самостоятелна доставка

Системата ви получава линка и го изпраща чрез вашата електронна поща, SMS, портал или система за съобщения.

Статуси на заявките

Заявката за проверка преминава през няколко етапа. Интеграциите могат да използват тези етапи, за да показват напредъка, да изпращат напомняния или да преценят дали е необходима нова заявка.

СтатусОписание
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.

Външна препратка

Използвайте външен референтен номер, за да свържете заявка за проверка с ваш клиент, служител, досие, поръчка или записи за регистрация. Същият референтен номер се показва, когато извличате подробностите за заявката.

Клиент #

Свържете заявката с профила на вашия клиент.

Номер на делото или досието

Свържете резултата с досие в Wwft, HR или за съответствие.

Идентификационен номер на поръчката или работния процес

Използвайте препратката, за да продължите автоматизираните работни процеси след приключване на проверката.

Задължителни полета

ID Scan поддържа принципа за ограничаване на данните. Настройте точно кои полета да се изпращат към вашата система. На потребителя може да се покаже какви данни ще бъдат споделени преди изпращането.

ПолеОписаниеИзточник
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

Налични чекове

Проверките могат да бъдат изисквани като част от процеса на верификация. Някои от тях са технически NFC проверки, докато други се отнасят до бизнес правила, като например минимална възраст или верификация чрез селфи.

ПроверкаОписаниеПолучен резултат
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 }

Полета за резултат и връщане

Крайната точка на резултата връща статуса на заявката, статуса на проверката, външната препратка, избраните полета за самоличност, избраните изображения и резултатите от проверката. Полетата, които не са били заявени, не се връщат.

Статус на заявката

Заявени, завършени, изтекли, изтрити или неуспешни, включително времеви отметки за създаване и завършване.

Избрани полета

Само конфигурирани данни за самоличността, като име, националност, дата на раждане или срок на валидност на документа.

Проверки и одит

Статус на четене чрез NFC, удостоверяване на чипа, валидност на документа, проверка чрез селфи и допълнителни данни за PDF/отчети.

Полета за изображения

Изображенията, като например портретната снимка за DG2, изображението на MRZ с маска и селфито, се връщат директно в текста като данни, кодирани в Base64, при поискване. Изображенията не се връщат като публични URL адреси.

кодирано в Base64

Използвайте стойността на данните като двоични данни за изображение, кодирани в Base64.

Тип на съдържанието

Използвайте content_type, например image/jpeg, за да възстановите изображението правилно.

Само при поискване

Данните за изображението се включват само когато това поле е изрично посочено в шаблона.

Маскиране на номера на документи

Номерът на документа може да бъде върнат в пълен вид или в маскиран вид. Маскирането спомага за намаляване на ненужното разкриване на номерата на документите, като в същото време позволява извършването на сравнения или одитни проверки във вашата система.

СтойностОпцияОписание
(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.

Пример за заявка към API

В примера по-долу се създава заявка за проверка, изпраща се молба към ID Scan да изпрати поканата по имейл и се връщат само избраните полета и проверки.

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 } } }

Пример за резултат

След приключване на процеса системата ви може да извлече резултата по идентификатора на заявката или ключа на заявката. Външната препратка може да се използва за свързване на резултата с вашата система.

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" }

Съхранение и поверителност

Настройките за съхранение могат да се конфигурират за всеки отделен клиент. Данните за удостоверяване могат да се изтриват след определен период, след прочитане или в съответствие с конфигурираната от вас политика за поверителност. Това спомага за ограничаване на ненужното съхранение на чувствителни лични данни.

Фиксирани дни

Изтриване на данните за проверка след изтичане на зададения брой дни.

След като прочетете

Маркирайте данните като прочетени при извличането им и насрочете изтриването им след този момент.

Настройки на портала и API

При необходимост използвайте различни настройки за съхранение за работните процеси на портала и API.

Допълнителни крайни точки

Освен създаването и извличането на заявки, интеграциите могат да изпращат повторно покани или да изтриват заявки. Изтриването на заявка може да се използва, когато даден работен процес бъде отменен или когато вече няма нужда от проверка.

Изпрати поканата отново

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

Искане за изтриване

DELETE /api/scan-requests/{id}

Прочетете подробностите

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

Тестови режим

Тестовият режим може да се използва за проверка на целия интеграционен поток преди пускането в експлоатация. Тестовите заявки се маркират с IsTest в отговора на API, така че вашата система да може да разграничава тестовите данни от производствените работни потоци.

Безопасно тестване

Проверявайте създаването на заявки, доставката, сканирането на приложения и извличането на резултати, без да използвате производствени работни потоци.

Видимо в отговор

Отговорът на заявката за създаване съдържа полето IsTest, което улеснява откриването на тестовите заявки.

Пусни по-късно

Започнете с тестов API ключ или тестова настройка на клиент и преминете към проверка в реална среда след потвърждаване.

Неуспех и непълни резултати

Не всяко заявка завършва с успешна проверка. Потребителят може да прекъсне процеса, срокът на валидност на заявката може да изтече или четенето чрез NFC може да се провали. Използвайте Status, HasResult, IsSuccess и полетата за проверка, за да определите крайния резултат.

{ "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?

Създайте безплатен акаунт, генерирайте API ключ и тествайте целия процес, преди да преминете към реална работа.