Vai al contenuto principale

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_VERIFIED o NFC_TRUST_ANCHOR_MISSING quando l’azione per chip non verificato è impostata su Revisione, oppure JPKI_REVOCATION_UNCHECKED con la sua azione predefinita).
  • Rifiutato — si è attivato almeno un avviso la cui azione configurata è Rifiuta (ad esempio NFC_AND_OCR_DATA_NOT_SAME quando 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’array nfc_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 di GET /v3/session/{sessionId}/decision/. Consulta Recupera la decisione della sessione.
  • Webhook — i payload di status.updated includono lo stesso array nfc_verifications[] non appena il passaggio NFC ha prodotto dati. Consulta Webhook.
  • NFC autonomo — per l’invio diretto del chip, consulta la Panoramica su NFC.
Quando il tuo workflow include un passaggio NFC che è stato saltato o ignorato, il payload della decisione contiene anche un campo di livello principale 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 presenta chip_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.
La lettura delle My Number Card tramite JPKI non è ancora abilitata in produzione. Fino a quel momento, una My Number Card salta il passaggio NFC con motivo di esclusione JPKI_UNAVAILABLE.

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

Se il controllo di revoca non è disponibile per una lettura, lo stesso report presenta 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 con sod_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

Ultima modifica il 7 novembre 2026