Panoramica
Il report di verifica NFC acquisisce ciò che Didit ha letto e convalidato dal chip NFC di un documento: un passaporto elettronico (ePassport), una carta d’identità elettronica o un altro documento elettronico conforme a ICAO 9303. Include i dati anagrafici del chip, i controlli di integrità crittografica (hash di SOD e Data Group) e un riepilogo del Document Signer Certificate (DSC) utilizzato dal paese di emissione. Il report viene generato dopo che l’utente ha completato il passaggio NFC in un workflow. Didit legge i Data Group del chip sul dispositivo dell’utente, verifica la firma del Document Security Object (SOD) rispetto al certificato CSCA del paese di emissione, confronta l’hash di ciascun Data Group con i valori firmati dal SOD ed esegue un controllo incrociato tra la MRZ del chip e la MRZ rilevata tramite OCR dal lato visibile del documento. La My Number Card giapponese viene invece letta tramite JPKI (chip_protocol: "jpki"): il suo report include i controlli su certificato, firma, revoca e dati del titolare sotto jpki, mentre i campi ICAO rimangono null. Consulta Japan My Number Card (JPKI).
Ciascun report presenta un proprio status — indipendente dallo stato generale della sessione — che riflette l’esito del solo passaggio NFC:
- Approvato — il chip è stato letto e nessuno degli avvisi attivati è configurato per instradare il passaggio a revisione o rifiuto.
- In revisione — si è attivato almeno un avviso la cui azione configurata è Revisione (ad esempio
NFC_CHIP_NOT_VERIFIEDoNFC_TRUST_ANCHOR_MISSINGquando l’azione per chip non verificato è impostata su Revisione, oppureJPKI_REVOCATION_UNCHECKEDcon la sua azione predefinita). - Rifiutato — si è attivato almeno un avviso la cui azione configurata è Rifiuta (ad esempio
NFC_AND_OCR_DATA_NOT_SAMEquando l’azione per incongruenza dei dati è impostata su Rifiuta). - Non completato — l’utente non ha mai completato il passaggio NFC; la lettura del chip è stata abbandonata o il dispositivo non supportava l’NFC.
- Nuovo invio richiesto — un revisore ha richiesto all’utente di ripetere l’invio; il report verrà sostituito da un nuovo tentativo.
Dove compare nelle risposte API
Il report NFC viene fornito all’interno dell’arraynfc_verifications[] — sempre un array JSON, mai un singolo oggetto nfc. Voci multiple compaiono quando un workflow esegue l’NFC più di una volta (ad esempio in un flusso step-up); ciascuna voce include il proprio node_id.
- API di decisione della sessione — compare come
nfc_verifications[]al livello principale diGET /v3/session/{sessionId}/decision/. Consulta Recupera la decisione della sessione. - Webhook — i payload di
status.updatedincludono lo stesso arraynfc_verifications[]non appena il passaggio NFC ha prodotto dati. Consulta Webhook. - NFC autonomo — per l’invio diretto del chip, consulta la Panoramica su NFC.
nfc_skip_reason che indica esattamente il motivo: il documento non ha un chip, il certificato del paese di emissione non è disponibile, il dispositivo non dispone di un lettore NFC, la verifica è stata eseguita senza un SDK nativo (nessun accesso NFC da browser), non è stato possibile ricavare la chiave di accesso al chip dalla MRZ, non è stato possibile leggere una My Number Card tramite JPKI oppure l’utente ha scelto di saltare il passaggio. Rimane null per gli esiti non inclusi in questa tassonomia, più comunemente nel caso in cui un utente abbia abbandonato a metà del tentativo (stato del report Not Finished) o in una sessione in cui l’NFC è ancora in sospeso. Consulta Motivi di esclusione per i valori esatti.
La documentazione precedente faceva riferimento a un singolo campo
nfc. Tale formato non esiste sull’endpoint di decisione v3: compare solo nelle destinazioni esplicitamente configurate sui webhook V2, dove include anche chip_protocol e jpki. Leggi sempre response.nfc_verifications[0] e itera sull’array.Schema
Lo schema canonico campo per campo si trova nella pagina di riferimento Modelli di dati. I campi sottostanti rispecchiano tale schema canonico.Valori di status
I due avvisi relativi al certificato (
DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) sono informativi: compaiono in warnings[] ma di per sé non modificano mai lo status NFC. Vedi Avvisi NFC per la matrice di comportamento completa.Esempi
Approved — chip letto e crittograficamente valido
Declined — mancata corrispondenza tra OCR e chip
Japan My Number Card (JPKI)
Una Japan My Number Card viene letta tramite JPKI negli SDK nativi: la persona inserisce il PIN della carta e la carta firma una sfida monouso (vedi come funziona). Il relativo report presentachip_protocol: "jpki" e riporta le prove sotto jpki. portrait_image, signature_image, chip_data, authenticity e certificate_summary sono null, poiché la carta non contiene dati ICAO.
Campi JPKI
Il report non include mai i certificati stessi, i relativi numeri di serie, le firme o il Numero Individuale (My Number) a 12 cifre della carta, che il passaggio NFC non legge mai.
Esempio: lettura di My Number Card
revocation_status: "unchecked", un avviso JPKI_REVOCATION_UNCHECKED e status: "In Review" con le impostazioni predefinite. Vedi Avvisi NFC.
Nota sulla sicurezza
I dati del chip NFC sono firmati dall’autorità di emissione, pertanto un report approvato consod_integrity: true e dg_integrity: true costituisce la prova d’identità più solida che Didit possa produrre. Tratta gli URL firmati delle immagini (portrait_image, signature_image) come temporanei: scaricali tempestivamente e non memorizzarli pubblicamente nella cache; richiedi nuovamente la decisione quando hai bisogno di link aggiornati.
Contenuti correlati
- Avvisi NFC — enum completa degli avvisi, cause e risoluzione.
- Webhook — ascolta l’evento
status.updatedper ricevere il report NFC. - Modelli di dati — Verifica NFC — schema canonico con tutti i campi.
- Documenti supportati — quali documenti elettronici Didit può leggere tramite NFC.