ID
Scan
API do weryfikacji tożsamości NFC • Priorytet dla prywatności • Gotowość do integracji z API

Zintegruj funkcję weryfikacji tożsamości ze swoim oprogramowaniem.

Twórz bezpieczne żądania weryfikacji tożsamości za pomocą NFC bezpośrednio ze swojego systemu. Zapraszaj użytkowników przez e-mail lub SMS albo samodzielnie wysyłaj wygenerowany link. Użytkownik skanuje chip NFC w aplikacji mobilnej, a Ty pobierasz tylko te pola, które są potrzebne w Twoim procesie.

Weryfikacja chipu NFCOdczytaj dane DG1/DG2 i sprawdź chip dokumentu.
Ograniczanie ilości danychProszę wybrać tylko te pola i kontrole, które są niezbędne w Państwa procesie pracy.
Własny proces pracyWykorzystaj źródła zewnętrzne, aby powiązać wyniki z własnymi dokumentacjami.
Przykładowy przebieg
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

Schemat działania API

ID Scan jest przeznaczony dla dostawców oprogramowania i organizacji, które chcą wdrożyć weryfikację tożsamości bez konieczności samodzielnego tworzenia pełnego procesu skanowania mobilnego.

1

Utwórz zgłoszenie

Utwórz zlecenie skanowania w swoim systemie zaplecza. Dodaj odniesienie zewnętrzne, język, termin ważności, ustawienia dostawy, wymagane pola oraz kontrole.

2

Zaproś użytkownika

Pozwól, aby aplikacja ID Scan wysłała wiadomość e-mail lub SMS, albo skorzystaj z własnego kanału komunikacji, korzystając z otrzymanego linku weryfikacyjnego.

3

Zeskanuj w aplikacji

Użytkownik otwiera aplikację mobilną, skanuje strefę MRZ, odczytuje dane z chipa NFC i, w razie potrzeby, dokonuje weryfikacji na żywo poprzez porównanie selfie ze zdjęciem portretowym w systemie DG2.

4

Pobierz wynik

Pobierz status, wyniki sprawdzania, żądane pola i informacje audytowe za pośrednictwem interfejsu API. Zwracane są wyłącznie skonfigurowane pola.

Adres bazowy i uwierzytelnianie

Żądania API są wysyłane na podstawowy adres URL interfejsu API ID Scan i uwierzytelniane za pomocą klucza API wygenerowanego w portalu ID Scan. Klucz API jest przekazywany w specjalnym nagłówku żądania i powinien być używany wyłącznie po stronie serwera. Nigdy nie należy ujawniać kluczy API w kodzie interfejsu użytkownika ani w aplikacjach mobilnych.

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

Utwórz żądanie i odpowiedź

Po utworzeniu żądania skanowania interfejs API zwraca identyfikator żądania, klucz żądania, czas wygaśnięcia oraz linki weryfikacyjne. W przypadku samodzielnego dostarczania plików należy wykorzystać zwrócony adres WebUrl w wiadomościach e-mail, SMS-ach, na portalu lub w procesie roboczym. Na urządzeniach mobilnych adres DeepLinkUrl umożliwia bezpośrednie otwarcie aplikacji.

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

Opcje dostawy

Możesz wybrać sposób, w jaki użytkownik otrzyma prośbę o weryfikację. Dzięki temu ID Scan może być wykorzystywany zarówno w całkowicie zautomatyzowanych, jak i niestandardowych procesach komunikacyjnych.

E-mail platformy

ID Scan wysyła firmową wiadomość e-mail z zaproszeniem zawierającą bezpieczny link weryfikacyjny.

Platforma SMS

ID Scan wysyła link weryfikacyjny w wiadomości SMS. Przydatne w procesach rejestracji zorientowanych na urządzenia mobilne.

Odbiór osobisty

Twój system odbiera link i przekazuje go za pośrednictwem Twojej poczty elektronicznej, wiadomości SMS, portalu lub systemu komunikacyjnego.

Statusy zgłoszeń

Żądanie weryfikacji przechodzi przez kilka etapów. Integracje mogą wykorzystywać te etapy do pokazywania postępów, wysyłania przypomnień lub podejmowania decyzji o konieczności złożenia nowego żądania.

StatusOpis
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.

Odniesienie zewnętrzne

Użyj zewnętrznego odniesienia, aby powiązać wniosek o weryfikację z konkretnym klientem, pracownikiem, dokumentacją, zamówieniem lub rekordem rejestracji. To samo odniesienie zostanie zwrócone podczas wyświetlania szczegółów wniosku.

ID Klienta

Powiąż to zgłoszenie z danymi swojego klienta.

Numer sprawy lub numer akt

Powiąż wynik z dokumentacją Wwft, kadrową lub dotyczącą zgodności z przepisami.

Numer zamówienia lub numer procesu

Skorzystaj z tego odniesienia, aby kontynuować zautomatyzowane procesy po zakończeniu weryfikacji.

Pola obowiązkowe

ID Scan wspiera zasadę minimalizacji danych. Możesz dokładnie określić, które pola mają być przekazywane do Twojego systemu. Przed wysłaniem danych użytkownik może sprawdzić, jakie informacje zostaną udostępnione.

PoleOpisŹródło
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

Dostępne czeki

W ramach procesu weryfikacji można zlecić przeprowadzenie pewnych kontroli. Niektóre z nich to techniczne kontrole NFC, inne natomiast dotyczą zasad biznesowych, takich jak minimalny wiek lub weryfikacja na podstawie zdjęcia selfie.

SprawdźOpisWynik
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 }

Pola wyników i zwrotów

Punkt końcowy wyniku zwraca status żądania, status weryfikacji, odniesienie zewnętrzne, wybrane pola tożsamości, wybrane obrazy oraz wyniki sprawdzania. Pola, których nie zamówiono, nie są zwracane.

Status wniosku

Zgłoszone, zrealizowane, wygasłe, usunięte lub nieudane, wraz z datami utworzenia i zakończenia.

Wybrane pola

Wyłącznie skonfigurowane dane osobowe, takie jak imię i nazwisko, obywatelstwo, data urodzenia lub data ważności dokumentu.

Kontrole i audyt

Stan odczytu NFC, uwierzytelnianie chipu, ważność dokumentu, weryfikacja tożsamości za pomocą zdjęcia oraz opcjonalne dane w formacie PDF/raporty.

Pola obrazów

Pola obrazów, takie jak zdjęcie portretowe DG2, zamaskowany obraz MRZ i zdjęcie selfie, są zwracane bezpośrednio w treści jako dane zakodowane w formacie Base64 na żądanie. Obrazy nie są udostępniane w postaci publicznych adresów URL.

zakodowane w Base64

Wartość danych należy traktować jako dane obrazu w formacie binarnym zakodowane w Base64.

Rodzaj treści

Użyj typu zawartości, np. image/jpeg, aby poprawnie odtworzyć obraz.

Tylko na żądanie

Dane obrazu są dołączane tylko wtedy, gdy pole to zostało wyraźnie wskazane w szablonie.

Maskowanie numerów dokumentów

Numer dokumentu może zostać zwrócony w pełnej postaci lub w formie zamaskowanej. Zamaskowanie pozwala ograniczyć niepotrzebne ujawnianie numerów dokumentów, umożliwiając jednocześnie przeprowadzanie porównań lub kontroli audytowych w Państwa systemie.

WartośćOpcjaOpis
(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.

Przykładowe żądanie API

W poniższym przykładzie tworzone jest żądanie weryfikacji, wysyłane jest polecenie do serwisu ID Scan o przesłanie zaproszenia pocztą elektroniczną, a następnie zwracane są wyłącznie wybrane pola i wyniki weryfikacji.

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

Przykładowy wynik

Po zakończeniu operacji system może pobrać wynik na podstawie identyfikatora żądania lub klucza żądania. Odwołanie zewnętrzne można wykorzystać do powiązania wyniku z własnym systemem.

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

Przechowywanie danych i ochrona prywatności

Ustawienia dotyczące okresu przechowywania można konfigurować indywidualnie dla każdego klienta. Dane weryfikacyjne można usuwać po upływie określonego czasu, po ich odczytaniu lub zgodnie ze skonfigurowaną polityką prywatności. Pomaga to ograniczyć niepotrzebne przechowywanie wrażliwych danych dotyczących tożsamości.

Stałe dni

Usuń dane weryfikacyjne po upływie określonej liczby dni.

Po przeczytaniu

Oznacz dane jako przeczytane po ich pobraniu i zaplanuj ich usunięcie po tym momencie.

Ustawienia portalu i API

W razie potrzeby należy stosować odrębne ustawienia przechowywania danych dla procesów w portalu i procesów API.

Dodatkowe punkty końcowe

Oprócz tworzenia i pobierania wniosków integracje umożliwiają ponowne wysyłanie zaproszeń lub usuwanie wniosków. Usunięcie wniosku może być przydatne w przypadku anulowania przepływu pracy lub gdy weryfikacja nie jest już potrzebna.

Wyślij ponownie zaproszenie

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

Prośba o usunięcie

DELETE /api/scan-requests/{id}

Zobacz szczegóły

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

Tryb testowy

Tryb testowy pozwala sprawdzić poprawność całego procesu integracji przed uruchomieniem środowiska produkcyjnego. Żądania testowe są oznaczone w odpowiedzi API atrybutem „IsTest”, dzięki czemu system może oddzielić dane testowe od procesów produkcyjnych.

Bezpieczne testy

Sprawdź proces tworzenia żądania, jego dostarczenia, skanowania aplikacji oraz pobierania wyników bez korzystania z produkcyjnych procesów roboczych.

Widoczne w odpowiedzi

Odpowiedź na żądanie tworzenia zawiera atrybut IsTest, co ułatwia wykrywanie żądań testowych.

Uruchom później

Zacznij od skonfigurowania testowego klucza API lub testowego dzierżawcy, a po weryfikacji przejdź do weryfikacji w środowisku produkcyjnym.

Niepowodzenia i niepełne wyniki

Nie każde żądanie kończy się pomyślną weryfikacją. Użytkownik może przerwać proces, żądanie może stracić ważność lub odczyt NFC może się nie powieść. Aby ustalić ostateczny wynik, należy skorzystać z właściwości Status, HasResult i IsSuccess oraz pól kontrolnych.

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

Chcesz wdrożyć weryfikację tożsamości za pomocą NFC?

Załóż darmowe konto, wygeneruj klucz API i przetestuj cały proces przed uruchomieniem serwisu.