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.

Зовнішнє посилання

Використовуйте зовнішній ідентифікатор, щоб пов’язати запит на перевірку зі своїм клієнтом, співробітником, досьє, замовленням або записом про реєстрацію. Цей самий ідентифікатор повертається під час отримання деталей запиту.

ID клієнта

Прив’яжіть запит до запису про вашого клієнта.

Номер справи або досьє

Прив’яжіть результат до справи Wwft, кадрової справи або справи з питань дотримання нормативних вимог.

Ідентифікатор замовлення або робочого процесу

Використовуйте посилання, щоб продовжити автоматизовані робочі процеси після завершення перевірки.

Поля, заповнення яких є обов’язковим

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 та протестуйте весь процес перед запуском у виробництво.