Passer au contenu principal

Vue d’ensemble

Le rapport de vérification NFC consigne ce que Didit a lu et validé à partir de la puce NFC d’un document — un passeport électronique, une carte d’identité électronique ou un autre document électronique ICAO 9303. Il comprend les données biographiques de la puce, les contrôles d’intégrité cryptographique (hachages du SOD et des Data Groups), ainsi qu’un résumé du Document Signer Certificate (DSC) utilisé par le pays de délivrance. Le rapport est généré une fois que l’utilisateur a terminé l’étape NFC dans un workflow. Didit lit les Data Groups de la puce sur l’appareil de l’utilisateur, vérifie la signature du Document Security Object (SOD) par rapport au certificat CSCA du pays de délivrance, compare le hachage de chaque Data Group aux valeurs signées par le SOD, et procède à un recoupement entre la MRZ de la puce et la MRZ lue par OCR sur la face visible du document. Une carte japonaise My Number Card est lue via JPKI à la place (chip_protocol: "jpki") : son rapport contient les vérifications du certificat, de la signature, de la révocation et des données du titulaire sous jpki, et les champs ICAO restent null. Voir Japan My Number Card (JPKI). Chaque rapport comporte son propre status — indépendant du statut global de la session — qui reflète la manière dont l’étape NFC seule s’est conclue :
  • Approuvé — la puce a été lue et aucun des avertissements déclenchés n’est configuré pour orienter l’étape vers un examen ou un refus.
  • En cours d’examen — au moins un avertissement s’est déclenché dont l’action configurée est Examen (par exemple NFC_CHIP_NOT_VERIFIED ou NFC_TRUST_ANCHOR_MISSING lorsque l’action pour puce non vérifiée est définie sur Examen, ou JPKI_REVOCATION_UNCHECKED avec son action par défaut).
  • Refusé — au moins un avertissement s’est déclenché dont l’action configurée est Refuser (par exemple NFC_AND_OCR_DATA_NOT_SAME lorsque l’action en cas d’incohérence de données est définie sur Refuser).
  • Non terminé — l’utilisateur n’a jamais terminé l’étape NFC ; la lecture de la puce a été abandonnée ou l’appareil ne prenait pas en charge le NFC.
  • Nouvelle soumission demandée — un réviseur a demandé à l’utilisateur de soumettre à nouveau le document ; le rapport sera remplacé par une nouvelle tentative.

Où il apparaît dans les réponses d’API

Le rapport NFC est transmis dans le tableau nfc_verifications[] — toujours un tableau JSON, jamais un objet nfc unique. Plusieurs entrées apparaissent lorsqu’un workflow effectue l’étape NFC plus d’une fois (par exemple dans le cadre d’un flux de step-up) ; chaque entrée comporte son propre node_id.
  • API de décision de session — apparaît sous forme de nfc_verifications[] au niveau racine de GET /v3/session/{sessionId}/decision/. Voir Récupérer la décision de session.
  • Webhooks — les payloads status.updated incluent le même tableau nfc_verifications[] dès que l’étape NFC a produit des données. Voir Webhooks.
  • NFC autonome — pour la soumission directe de la puce, voir la Vue d’ensemble du NFC.
Lorsque votre workflow comprend une étape NFC qui a été ignorée ou contournée, le payload de décision contient également un champ de premier niveau nfc_skip_reason indiquant précisément pourquoi — le document n’a pas de puce, le certificat du pays de délivrance n’est pas disponible, l’appareil n’a pas de lecteur NFC, la vérification s’est déroulée sans SDK natif (aucun accès NFC depuis un navigateur), la clé d’accès à la puce n’a pas pu être dérivée de la MRZ, une My Number Card n’a pas pu être lue via JPKI, ou l’utilisateur a choisi d’ignorer l’étape. Il reste null pour les résultats hors de cette taxonomie — le plus souvent un utilisateur qui a abandonné en cours de tentative (statut du rapport Not Finished) ou une session où le NFC est toujours en attente. Voir les Motifs de non-exécution pour les valeurs exactes.
L’ancienne documentation faisait référence à un champ unique nfc. Ce format n’existe pas sur l’endpoint de décision v3 — il apparaît uniquement sur les destinations explicitement associées aux webhooks V2, où il contient également chip_protocol et jpki. Lisez toujours response.nfc_verifications[0] et itérez sur le tableau.

Schéma

Le schéma canonique champ par champ se trouve sur la page de référence Modèles de données. Les champs ci-dessous reflètent ce schéma canonique.

Valeurs de statut

Les deux avertissements relatifs aux certificats (DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) sont à titre informatif : ils apparaissent dans warnings[] mais ne modifient jamais le status NFC à eux seuls. Voir Avertissements NFC pour la matrice complète des comportements.

Exemples

Approved — puce lue et cryptographiquement valide

Declined — non-concordance OCR / puce

Carte My Number japonaise (JPKI)

Une carte My Number japonaise est lue via JPKI dans les SDK natifs : la personne saisit le code PIN de la carte et la carte signe un défi à usage unique (voir comment cela fonctionne). Son rapport présente chip_protocol: "jpki" et transmet les preuves sous jpki. portrait_image, signature_image, chip_data, authenticity et certificate_summary sont null, car la carte ne contient aucune donnée ICAO.
La lecture de la carte My Number via JPKI n’est pas encore activée en production. D’ici là, une carte My Number ignore l’étape NFC avec le motif d’omission JPKI_UNAVAILABLE.

Champs JPKI

Le rapport ne contient jamais les certificats eux-mêmes, leurs numéros de série, les signatures ou le numéro individuel (My Number) à 12 chiffres de la carte, que l’étape NFC ne lit jamais.

Exemple : lecture d’une carte My Number

Lorsque la vérification de révocation n’est pas disponible pour une lecture, le même rapport comporte revocation_status: "unchecked", un avertissement JPKI_REVOCATION_UNCHECKED et status: "In Review" avec les paramètres par défaut. Voir les avertissements NFC.

Note de sécurité

Les données de la puce NFC étant signées par l’autorité émettrice, un rapport approuvé avec sod_integrity: true et dg_integrity: true constitue la preuve d’identité la plus solide que Didit puisse produire. Considérez les URL des images signées (portrait_image, signature_image) comme temporaires : téléchargez-les rapidement et ne les mettez pas en cache publiquement — demandez à nouveau la décision lorsque vous avez besoin de liens actualisés.

Pages connexes

Dernière modification le 7 novembre 2026