ID
Scan
API per la verifica dell'identità tramite NFC • La privacy al primo posto • Predisposta per le API

Integra la verifica dell'identità nel tuo software.

Crea richieste sicure di verifica dell'identità tramite NFC direttamente dal tuo sistema. Invita gli utenti tramite e-mail o SMS, oppure invia tu stesso il link generato. L'utente scansiona il chip NFC nell'app mobile e tu recuperi solo i campi necessari al tuo processo.

Verifica del chip NFCLeggere i dati DG1/DG2 e verificare il chip del documento.
Riduzione al minimo dei datiRichiedi solo i campi e i controlli necessari per il tuo flusso di lavoro.
Flusso di lavoro personalizzatoUtilizza riferimenti esterni per collegare i risultati ai tuoi dossier.
Esempio di flusso
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

Flusso API

ID Scan è pensato per i fornitori di software e le organizzazioni che desiderano integrare la verifica dell'identità senza dover sviluppare autonomamente l'intero flusso di scansione mobile.

1

Crea una richiesta

Crea una richiesta di scansione dal tuo backend. Aggiungi un riferimento esterno, la lingua, la scadenza, le impostazioni di consegna, i campi richiesti e i controlli.

2

Invita l'utente

Lascia che ID Scan invii l'e-mail o l'SMS, oppure utilizza il tuo canale di comunicazione con il link di verifica ricevuto.

3

Scansiona nell'app

L'utente apre l'app mobile, scansiona la zona MRZ, legge il chip NFC e, se lo desidera, effettua un controllo in tempo reale tramite selfie confrontandolo con la foto ritratto DG2.

4

Recupera il risultato

Recupera lo stato, i controlli, i campi richiesti e le informazioni di audit tramite l'API. Vengono restituiti solo i campi configurati.

URL di base e autenticazione

Le chiamate API vengono inviate all'URL di base dell'API di ID Scan e autenticate tramite una chiave API generata nel portale di ID Scan. La chiave API viene inviata tramite un'intestazione di richiesta dedicata e deve essere utilizzata esclusivamente a livello di server. Non esporre mai le chiavi API nel codice frontend o nelle applicazioni mobili.

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

Crea richiesta e risposta

Quando viene creata una richiesta di scansione, l'API restituisce l'ID della richiesta, la chiave della richiesta, l'ora di scadenza e i link di verifica. Utilizza l'URL web restituito nelle tue e-mail, SMS, nel portale o nel flusso di lavoro quando utilizzi la consegna autonoma. Sui dispositivi mobili, l'URL DeepLink può aprire direttamente l'app.

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

Opzioni di consegna

È possibile scegliere in che modo l'utente riceve la richiesta di verifica. Ciò consente a ID Scan di integrarsi sia in flussi di comunicazione completamente automatizzati che personalizzati.

E-mail della piattaforma

ID Scan invia un'e-mail di invito personalizzata con un link di verifica sicuro.

Piattaforma SMS

ID Scan invia il link di verifica tramite SMS. Utile per i processi di registrazione incentrati sui dispositivi mobili.

Consegna diretta

Il sistema riceve il link e lo inoltra tramite la tua e-mail, SMS, il portale o il flusso di lavoro di messaggistica.

Stati delle richieste

Una richiesta di verifica passa attraverso una serie limitata di stati. Le integrazioni possono utilizzare questi stati per mostrare lo stato di avanzamento, attivare promemoria o stabilire se sia necessaria una nuova richiesta.

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

Riferimento esterno

Utilizza un riferimento esterno per collegare una richiesta di verifica al tuo cliente, dipendente, fascicolo, ordine o record di onboarding. Lo stesso riferimento viene restituito quando si recuperano i dettagli della richiesta.

ID cliente

Collega la richiesta alla scheda del tuo cliente.

Numero di pratica o di fascicolo

Collega il risultato a un fascicolo Wwft, HR o di conformità.

ID ordine o flusso di lavoro

Utilizza il riferimento per riprendere i flussi di lavoro automatizzati una volta completata la verifica.

Campi obbligatori

ID Scan supporta la limitazione dei dati. È possibile configurare esattamente quali campi devono essere restituiti al proprio sistema. All'utente può essere mostrato quali dati saranno condivisi prima dell'invio.

CampoDescrizioneSorgente
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

Assegni disponibili

È possibile richiedere dei controlli nell'ambito del processo di verifica. Alcuni di essi sono controlli tecnici relativi alla tecnologia NFC, mentre altri riguardano regole aziendali quali l'età minima richiesta o la verifica tramite selfie.

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

Campi Risultato e Restituzione

L'endpoint dei risultati restituisce lo stato della richiesta, lo stato della verifica, il riferimento esterno, i campi di identità selezionati, le immagini selezionate e i risultati della verifica. I campi non richiesti non vengono restituiti.

Stato della richiesta

Richieste, completate, scadute, eliminate o non andate a buon fine, compresi i timestamp relativi alla creazione e al completamento.

Campi selezionati

Solo i dati identificativi registrati, quali nome, nazionalità, data di nascita o data di scadenza del documento.

Controlli e revisione contabile

Stato di lettura NFC, autenticazione del chip, validità del documento, verifica tramite selfie e dati opzionali per PDF/reportistica.

Campi immagine

I campi immagine, come la foto ritratto DG2, l'immagine MRZ mascherata e l'immagine del selfie, vengono restituiti in linea come dati codificati in Base64 quando richiesti. Le immagini non vengono restituite sotto forma di URL pubblici.

Codificato in Base64

Utilizza il valore dei dati come dati immagine binari codificati in Base64.

Tipo di contenuto

Utilizza il tipo di contenuto, ad esempio image/jpeg, per ricostruire correttamente l'immagine.

Solo su richiesta

I dati relativi alle immagini vengono inclusi solo se il campo è espressamente richiesto nel modello.

Mascheramento del numero del documento

Il numero del documento può essere restituito per esteso o in forma mascherata. La mascheratura contribuisce a ridurre l'esposizione non necessaria dei numeri dei documenti, consentendo al contempo di effettuare controlli di corrispondenza o di verifica all'interno del proprio sistema.

ValoreOpzioneDescrizione
(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.

Esempio di richiesta API

L'esempio riportato di seguito crea una richiesta di verifica, chiede a ID Scan di inviare l'invito via e-mail e restituisce solo i campi e i controlli selezionati.

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

Esempio di risultato

Una volta completata l'operazione, il sistema potrà recuperare il risultato tramite l'ID della richiesta o la chiave della richiesta. Il riferimento esterno può essere utilizzato per collegare il risultato al proprio sistema.

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

Conservazione dei dati e privacy

Le impostazioni di conservazione possono essere configurate per ogni tenant. I dati di verifica possono essere eliminati dopo un periodo prestabilito, dopo la lettura o in base alla politica sulla privacy configurata. Ciò contribuisce a limitare l'archiviazione superflua di dati sensibili relativi all'identità.

Giorni fissi

Elimina i dati di verifica dopo un determinato numero di giorni.

Dopo aver letto

Contrassegnare i dati come letti al momento del recupero e pianificarne la cancellazione successivamente.

Impostazioni del portale e delle API

Se necessario, utilizzare impostazioni di conservazione separate per i flussi di lavoro del portale e dell'API.

Ulteriori endpoint

Oltre a creare e recuperare le richieste, le integrazioni possono inviare nuovamente gli inviti o eliminare una richiesta. L'eliminazione di una richiesta può essere utile quando un flusso di lavoro viene annullato o quando una verifica non è più necessaria.

Reinvia l'invito

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

Richiesta di cancellazione

DELETE /api/scan-requests/{id}

Leggi i dettagli

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

Modalità di prova

La modalità di test può essere utilizzata per verificare l'intero flusso di integrazione prima del lancio. Le richieste di test sono contrassegnate con "IsTest" nella risposta dell'API, in modo che il sistema possa distinguere i dati di test dai flussi di lavoro di produzione.

Test in condizioni di sicurezza

Verifica la creazione delle richieste, la consegna, la scansione delle app e il recupero dei risultati senza ricorrere ai flussi di lavoro di produzione.

Visibile in risposta

La risposta alla richiesta di creazione contiene il campo IsTest, il che rende facile individuare le richieste di test.

Andare in onda più tardi

Inizia con una chiave API di prova o con la configurazione di un tenant di prova e passa alla verifica in produzione dopo la convalida.

Insuccessi e risultati incompleti

Non tutte le richieste portano a una verifica riuscita. Un utente potrebbe interrompere il flusso, la richiesta potrebbe scadere oppure la lettura NFC potrebbe non andare a buon fine. Utilizza Status, HasResult, IsSuccess e i campi di controllo per determinare l'esito finale.

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

Sei pronto a integrare la verifica dell'identità tramite NFC?

Crea un account gratuito, genera una chiave API e prova l'intero flusso prima di passare alla versione definitiva.