API til identitetsverifikation via NFC • Privatlivet i centrum • Klar til API-integration

Integrer ID-verifikation i din egen software.

Opret sikre anmodninger om identitetsbekræftelse via NFC fra dit eget system. Inviter brugere via e-mail eller SMS, eller send selv det genererede link. Brugeren scanner NFC-chippen i mobilappen, og du henter kun de felter, som din proces har brug for.

Verifikation af NFC-chipLæs DG1/DG2-dataene og kontroller dokumentchippen.
DataminimeringAnmod kun om de felter og valideringer, der er nødvendige for din arbejdsgang.
Egen arbejdsgangBrug eksterne referencer til at knytte resultaterne til dine egne sagsmapper.
Eksempel på forløb
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

API-forløb

ID Scan er udviklet til softwareudbydere og organisationer, der ønsker at integrere identitetsverifikation uden selv at skulle udvikle hele den mobile scanningsproces.

1

Opret en anmodning

Opret en scanningsanmodning fra dit backend-system. Tilføj en ekstern reference, sprog, udløbsdato, leveringsindstillinger, krævede felter og valideringer.

2

Inviter brugeren

Lad ID Scan sende e-mailen eller SMS'en, eller brug din egen kommunikationskanal med det returnerede bekræftelseslink.

3

Scan i appen

Brugeren åbner mobilappen, scanner MRZ-området, læser NFC-chippen og kan eventuelt gennemføre en live-selviekontrol i forhold til DG2-portrætfotoet.

4

Hent resultatet

Hent status, valideringer, anmodede felter og revisionsoplysninger via API'et. Der returneres kun konfigurerede felter.

Grund-URL og godkendelse

API-anmodninger sendes til ID Scan API's basis-URL og godkendes ved hjælp af en API-nøgle, der er genereret i ID Scan-portalen. API-nøglen sendes via en særlig anmodningsheader og bør kun bruges på serversiden. API-nøgler må aldrig vises i frontend-kode eller mobilapplikationer.

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

Opret anmodning og svar

Når der oprettes en scanningsanmodning, returnerer API'en anmodnings-ID, anmodningsnøgle, udløbstidspunkt og bekræftelseslinks. Brug den returnerede WebUrl i din egen e-mail, SMS, portal eller arbejdsgang, når du benytter selvbetjening. På mobile enheder kan DeepLinkUrl åbne appen direkte.

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

Leveringsmuligheder

Du kan vælge, hvordan brugeren skal modtage bekræftelsesanmodningen. På den måde kan ID Scan integreres i både fuldautomatiske og skræddersyede kommunikationsforløb.

Platform-e-mail

ID Scan sender en e-mail med en invitation i virksomhedens design, der indeholder et sikkert bekræftelseslink.

SMS-platform

ID Scan sender bekræftelseslinket via SMS. Det er praktisk til onboarding-processer, der primært foregår på mobilen.

Selvafhentning

Dit system modtager linket og videresender det via din egen e-mail, SMS, portal eller beskedfunktion.

Status for anmodninger

En verifikationsanmodning gennemgår en række forskellige status. Integrationer kan bruge disse status til at vise fremskridt, udløse påmindelser eller afgøre, om der er behov for en ny anmodning.

StatusBeskrivelse
requestedThe request has been created and is waiting for the user to start or complete the verification.
compliance_pendingThe identity verification has been completed and optional compliance screening is being processed.
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.

Ekstern henvisning

Brug en ekstern reference til at knytte en verifikationsanmodning til din egen kunde, medarbejder, sag, ordre eller onboarding-journal. Den samme reference vises, når du henter oplysninger om anmodningen.

Kunde-ID

Knyt anmodningen til din egen kunde- eller klientpost.

Sagsnummer

Knyt resultatet til en Wwft-, HR- eller compliance-sag.

Ordre- eller arbejdsgangs-ID

Brug referencen til at fortsætte de automatiserede arbejdsgange, når verifikationen er afsluttet.

Obligatoriske felter

ID Scan understøtter dataminimering. Du kan indstille præcis, hvilke felter der skal sendes tilbage til dit system. Brugeren kan få vist, hvilke data der vil blive videregivet, inden indsendelsen.

FeltBeskrivelseKilde
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

Tilgængelige checks

Der kan anmodes om kontrolforanstaltninger som led i verifikationsprocessen. Nogle af disse er tekniske NFC-kontroller, mens andre er forretningsmæssige krav, såsom aldersgrænse eller selfie-verifikation.

TjekBeskrivelseResultatet
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 }
compliance_screeningOptional PEP, sanctions and related person screening after the NFC identity verification has completed.{ requested, match_found, pep_match, sanctions_match, rca_match, highest_score, matches }

PEP- og sanktionskontrol

ID Scan kan, hvis det ønskes, sammenholde de verificerede identitetsoplysninger med registre over politisk eksponerede personer (PEP), sanktionslister og registre over tilknyttede personer. Dette understøtter KYC-, AML- og compliance-processer, når dokumentverificeringen via NFC er afsluttet.

PEP-screening

Kontroller, om den verificerede person er opført som en politisk eksponeret person.

Kontrol af sanktioner

Kontroller, om den verificerede person er opført i sanktionsrelaterede datasæt.

Manuel gennemgang

Eventuelle fund bør altid gennemgås manuelt, inden der iværksættes foranstaltninger.

Resultat- og returfelter

Resultatet returnerer anmodningens status, verifikationsstatus, ekstern reference, udvalgte identitetsfelter, udvalgte billeder og kontrolresultater. Felter, der ikke blev anmodet om, returneres ikke.

Status på anmodningen

Anmodet, afsluttet, udløbet, slettet eller mislykket, herunder tidsstempler for oprettelse og afslutning.

Udvalgte felter

Kun indtastede personoplysninger såsom navn, nationalitet, fødselsdato eller dokumentets udløbsdato.

Kontrol og revision

NFC-læsestatus, chipgodkendelse, dokumentets gyldighed, selfie-kontrol samt valgfri PDF- og rapporteringsdata.

Billedfelter

Billedfelter som f.eks. DG2-portrætfoto, maskeret MRZ-billede og selfie-billede returneres direkte som Base64-kodede data, når der anmodes herom. Billederne returneres ikke som offentlige URL-adresser.

Base64-kodet

Brug dataværdien som binære billeddata kodet med Base64.

Indholdstype

Brug content_type, f.eks. image/jpeg, for at gendanne billedet korrekt.

Kun efter anmodning

Billeddata medtages kun, hvis feltet udtrykkeligt er angivet i skabelonen.

Skjulning af dokumentnummer

Dokumentnummeret kan returneres i fuld længde eller i maskeret form. Maskering bidrager til at mindske unødvendig offentliggørelse af dokumentnumre, samtidig med at det stadig er muligt at foretage sammenligninger eller revisionskontrol i dit eget system.

VærdiMulighedBeskrivelse
(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.

Eksempel på API-anmodning

I eksemplet nedenfor oprettes en verifikationsanmodning, hvor ID Scan anmodes om at sende invitationen via e-mail, og hvor der kun returneres de valgte felter og markeringer.

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, "compliance_screening": true } } }

Eksempel på resultat

Når processen er afsluttet, kan dit system hente resultatet ved hjælp af anmodnings-ID eller anmodningsnøgle. Den eksterne reference kan bruges til at integrere resultatet i dit eget system.

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_birth": "1985-04-12", "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" } }, "compliance": { "requested": true, "provider": "OpenSanctions", "match_found": false, "pep_match": false, "sanctions_match": false, "rca_match": false, "highest_score": 0.00, "matches": [] } }, "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" }

Opbevaring og privatliv

Opbevaringsindstillingerne kan konfigureres for hver enkelt kunde. Verifikationsdata kan slettes efter en bestemt periode, efter at de er blevet læst, eller i overensstemmelse med den konfigurerede privatlivspolitik. Dette bidrager til at begrænse unødvendig opbevaring af følsomme identitetsoplysninger.

Faste dage

Slet verifikationsdata efter et angivet antal dage.

Efter at have læst

Markér data som læst, når de hentes, og planlæg sletning efter dette tidspunkt.

Portal- og API-indstillinger

Brug om nødvendigt forskellige opbevaringsindstillinger for portal- og API-arbejdsgange.

Yderligere effektmål

Ud over at oprette og hente anmodninger kan integrationer også sende invitationer på ny eller slette en anmodning. Sletning af en anmodning kan anvendes, når en arbejdsgang annulleres, eller når en verifikation ikke længere er nødvendig.

Send invitationen igen

POST /scan-requests/{id}/resend

Anmodning om sletning

DELETE /scan-requests/{id}

Læs mere

GET /scan-requests/{id}/details

Test tilstand

Testtilstanden kan bruges til at validere hele integrationsforløbet, inden systemet sættes i drift. Testanmodninger markeres med »IsTest« i API-svaret, så dit system kan skelne mellem testdata og produktionsworkflows.

Sikker testning

Test oprettelse af anmodninger, levering, scanning af apps og hentning af resultater uden at bruge produktionsworkflows.

Vises som svar

Svaret på oprettelsesanmodningen indeholder IsTest, hvilket gør det nemt at identificere testanmodninger.

Gå live senere

Start med at oprette en test-API-nøgle eller en test-tenant, og skift til live-verifikation efter validering.

Eksempel på open source i .NET

Se vores offentlige eksempel på .NET-integration på GitHub. Eksemplet viser, hvordan man opretter verifikationsanmodninger, henter verifikationsresultater og integrerer NFC-pasverifikation i egne applikationer.

Fuldstændigt eksempel

Omfatter arbejdsgange til oprettelse af anmodninger, hentning af resultater og identitetsverifikation ved hjælp af C# og .NET.

NFC-verifikation

Lær, hvordan du behandler resultater af NFC-pasverifikation, dokumentfelter og verifikationskontroller.

Open source

Klon repositoriet, test API'et, og brug det som udgangspunkt for din egen integration.

Fejl og ufuldstændige resultater

Ikke alle anmodninger resulterer i en vellykket verifikation. En bruger kan afbryde forløbet, anmodningen kan udløbe, eller NFC-aflæsningen kan mislykkes. Brug Status, HasResult, IsSuccess og kontrolfelterne til at fastslå det endelige resultat.

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

Er du klar til at integrere identitetsverifikation via NFC?

Opret en gratis konto, generer en API-nøgle, og afprøv hele forløbet, inden du går live.