> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# NFC सत्यापन रिपोर्ट: चिप डेटा और प्रामाणिकता

> Didit की NFC / ePassport रिपोर्ट पढ़ने का तरीका: स्थिति, चिप डेटा, प्रमाणपत्र प्रामाणिकता, API रिस्पॉन्स में इसका स्थान और उदाहरण payload।

## Overview

**NFC सत्यापन रिपोर्ट** यह कैप्चर करती है कि Didit ने किसी दस्तावेज़ की NFC चिप (जैसे ई-पासपोर्ट, इलेक्ट्रॉनिक आईडी कार्ड या कोई अन्य ICAO 9303 ई-दस्तावेज़) से क्या पढ़ा और सत्यापित किया। इसमें चिप का बायोग्राफिकल डेटा, क्रिप्टोग्राफ़िक अखंडता जांच (SOD और डेटा ग्रुप हैश), और जारीकर्ता देश द्वारा उपयोग किए गए दस्तावेज़ हस्ताक्षरकर्ता प्रमाणपत्र (DSC) का सारांश शामिल होता है।

यह रिपोर्ट तब तैयार की जाती है जब उपयोगकर्ता किसी वर्कफ़्लो में NFC चरण को पूरा कर लेता है। Didit उपयोगकर्ता के डिवाइस पर चिप के डेटा ग्रुप को पढ़ता है, जारीकर्ता देश के CSCA प्रमाणपत्र के विरुद्ध दस्तावेज़ सुरक्षा ऑब्जेक्ट (SOD) हस्ताक्षर को सत्यापित करता है, SOD द्वारा हस्ताक्षरित मानों के विरुद्ध प्रत्येक डेटा ग्रुप हैश की जांच करता है, और दस्तावेज़ के दृश्यमान भाग से OCR किए गए MRZ के साथ चिप के MRZ की क्रॉस-जांच करता है।

Japan My Number Card को इसके बजाय JPKI के माध्यम से पढ़ा जाता है (`chip_protocol: "jpki"`): इसकी रिपोर्ट `jpki` के तहत प्रमाणपत्र, हस्ताक्षर, निरस्तीकरण और धारक-डेटा जांच को दर्शाती है, और ICAO फ़ील्ड `null` रहते हैं। [Japan My Number Card (JPKI)](#japan-my-number-card-jpki) देखें।

प्रत्येक रिपोर्ट की अपनी `status` होती है — जो समग्र सत्र स्थिति से स्वतंत्र होती है — जो यह दर्शाती है कि केवल NFC चरण का समाधान कैसे हुआ:

* **Approved** (स्वीकृत) — चिप को पढ़ लिया गया था और सक्रिय हुई कोई भी चेतावनी चरण को समीक्षा या अस्वीकृति के लिए भेजने हेतु कॉन्फ़िगर नहीं की गई है।
* **In Review** (समीक्षाधीन) — कम से कम एक ऐसी चेतावनी सक्रिय हुई जिसकी कॉन्फ़िगर की गई कार्रवाई **Review** (समीक्षा) है (उदाहरण के लिए `NFC_CHIP_NOT_VERIFIED` या `NFC_TRUST_ANCHOR_MISSING` जब असत्यापित-चिप कार्रवाई को समीक्षा पर सेट किया गया हो, या अपनी डिफ़ॉल्ट कार्रवाई के साथ `JPKI_REVOCATION_UNCHECKED`)।
* **Declined** (अस्वीकृत) — कम से कम एक ऐसी चेतावनी सक्रिय हुई जिसकी कॉन्फ़िगर की गई कार्रवाई **Decline** (अस्वीकार करें) है (उदाहरण के लिए `NFC_AND_OCR_DATA_NOT_SAME` जब डेटा-विसंगति कार्रवाई को अस्वीकार करने पर सेट किया गया हो)।
* **Not Finished** — उपयोगकर्ता ने NFC चरण कभी पूरा नहीं किया; चिप पढ़ने की प्रक्रिया को छोड़ दिया गया था या डिवाइस NFC का समर्थन नहीं करता था।
* **Resub Requested** — एक समीक्षक ने उपयोगकर्ता से पुनः सबमिट करने के लिए कहा; रिपोर्ट को एक नए प्रयास द्वारा प्रतिस्थापित किया जाएगा।

## API रिस्पॉन्स में यह कहाँ दिखाई देती है

NFC रिपोर्ट `nfc_verifications[]` ऐरे के अंदर आती है — **हमेशा एक JSON ऐरे**, कभी भी एकल `nfc` ऑब्जेक्ट नहीं। जब कोई वर्कफ़्लो एक से अधिक बार NFC चलाता है (उदाहरण के लिए एक स्टेप-अप फ़्लो), तो कई प्रविष्टियाँ दिखाई देती हैं; प्रत्येक प्रविष्टि का अपना `node_id` होता है।

* **सत्र निर्णय API** — `GET /v3/session/{sessionId}/decision/` के शीर्ष स्तर पर `nfc_verifications[]` के रूप में दिखाई देता है। [सत्र निर्णय प्राप्त करें](https://docs.didit.me/hi/sessions-api/retrieve-session.md) देखें।
* **webhook** — एक बार जब NFC चरण डेटा उत्पन्न कर लेता है, तो `status.updated` payload में वही `nfc_verifications[]` ऐरे शामिल होता है। [webhook](https://docs.didit.me/hi/integration/webhooks.md) देखें।
* **स्टैंडअलोन NFC** — सीधे चिप सबमिशन के लिए, [NFC अवलोकन](https://docs.didit.me/hi/core-technology/nfc-verification/overview.md) देखें।

जब आपके वर्कफ़्लो में ऐसा NFC चरण शामिल होता है जिसे छोड़ दिया गया था या बायपास कर दिया गया था, तो निर्णय payload में शीर्ष स्तर पर एक `nfc_skip_reason` फ़ील्ड भी होता है जो यह बताता है कि वास्तव में ऐसा क्यों हुआ — दस्तावेज़ में कोई चिप नहीं है, जारीकर्ता देश का प्रमाणपत्र अनुपलब्ध है, डिवाइस में कोई NFC रीडर नहीं है, सत्यापन बिना किसी नेटिव SDK के चला (ब्राउज़र से कोई NFC एक्सेस नहीं), चिप एक्सेस कुंजी MRZ से प्राप्त नहीं की जा सकी, My Number Card को JPKI के माध्यम से नहीं पढ़ा जा सका, या उपयोगकर्ता ने इसे छोड़ना चुना। उस वर्गीकरण से बाहर के परिणामों के लिए यह `null` रहता है — आमतौर पर ऐसा उपयोगकर्ता जिसने प्रयास के बीच में ही छोड़ दिया (रिपोर्ट स्थिति `Not Finished`) या कोई ऐसा सत्र जहाँ NFC अभी भी लंबित है। सटीक मानों के लिए [स्किप करने के कारण](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md#स्किप-के-कारण) देखें।

> [!NOTE]
>
> पुराने दस्तावेज़ों में एकल `nfc` फ़ील्ड का संदर्भ दिया गया था। वह संरचना v3 निर्णय endpoint पर मौजूद **नहीं** है — यह केवल स्पष्ट रूप से V2 webhook पर पिन किए गए गंतव्यों पर दिखाई देती है, जहाँ यह `chip_protocol` और `jpki` भी ले जाती है। हमेशा `response.nfc_verifications[0]` पढ़ें और ऐरे पर पुनरावृत्ति करें।

## स्कीमा

प्रामाणिक फ़ील्ड-दर-फ़ील्ड स्कीमा [डेटा मॉडल](https://docs.didit.me/hi/reference/data-models.md#nfc-सत्यापन) संदर्भ पेज पर उपलब्ध है। नीचे दिए गए फ़ील्ड उस प्रामाणिक स्कीमा को दर्शाते हैं।

| फ़ील्ड | प्रकार | विवरण |
| - | - | - |
| `status` | `"Not Finished" \| "Approved" \| "Declined" \| "In Review" \| "Resub Requested"` | NFC-चरण की स्थिति (ऊपर अर्थ देखें)। |
| `node_id` | string \| null | वर्कफ़्लो ग्राफ़ नोड जिसने यह रिपोर्ट जनरेट की है। यह आपको मल्टी-स्टेप वर्कफ़्लो में दो NFC जाँचों के बीच अंतर करने की सुविधा देता है। |
| `is_nfc_skipped` | boolean | जब इस NFC चरण को पढ़ने के बजाय स्पष्ट रूप से छोड़ दिया गया था, तब `true`। |
| `skip_reason` | string \| null | चरण को क्यों छोड़ा गया — केवल तभी सेट होता है जब `is_nfc_skipped` `true` हो। सत्र-स्तरीय `nfc_skip_reason` के समान मान; [छोड़ने के कारण](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md#स्किप-के-कारण) देखें। |
| `chip_protocol` | `"icao"` \| `"jpki"` | चिप को कैसे पढ़ा जाता है। `icao`: एक ICAO 9303 ePassport या eID चिप। `jpki`: एक Japan My Number Card, जिसका परिणाम `jpki` के अंतर्गत होता है; नीचे दिए गए ICAO फ़ील्ड (`portrait_image`, `signature_image`, `chip_data`, `authenticity`, `certificate_summary`) तब `null` होते हैं। छोड़े गए चरणों पर भी सेट होता है। |
| `jpki` | object \| null | My Number Card से पढ़ने पर क्या साबित हुआ; [JPKI फ़ील्ड](#jpki-फ़ील्ड) देखें। ICAO चिप्स के लिए, छोड़े गए चरणों के लिए, और जब चरण बिना किसी कार्ड को पढ़े बंद हो जाता है, तब `null`। |
| `portrait_image` | string (signed URL) \| null | चिप (DG2) से निकाला गया पोर्ट्रेट। अल्पकालिक प्री-साइन्ड लिंक — तुरंत डाउनलोड करें; नए URL के लिए निर्णय को फिर से प्राप्त करें। |
| `signature_image` | string (signed URL) \| null | उपलब्ध होने पर, चिप (DG7) से धारक के हस्ताक्षर की छवि। वही अल्पकालिक प्री-साइन्ड व्यवहार। |
| `chip_data` | object \| null | चिप से पार्स किए गए बायोग्राफ़िकल डेटा के साथ फ़्लैट ऑब्जेक्ट। सफल पठन के बाद हमेशा मौजूद रहता है: `dgs` (पढ़े गए डेटा ग्रुप की सूची), `surname`, `name`, `country`, `nationality`, `birth_date` (`YYYY-MM-DD`), `expiry_date` (`YYYY-MM-DD`), `sex` (`M`/`F`), `document_type` (MRZ दस्तावेज़ कोड, उदा. `P`), `document_number`, `optional_data`, MRZ चेक डिजिट्स (`birth_date_hash`, `expiry_date_hash`, `document_number_hash`, `optional_data_hash`, `final_hash`), `mrz_string`, और `mrz_type` (`TD1`/`TD2`/`TD3`)। जब चिप में DG11 होता है, तो `place_of_birth` और `address` जोड़े जाते हैं (और गैर-लैटिन नाम वाले दस्तावेज़ों के लिए `full_name` / `full_name_non_latin`); अन्यथा ये कुंजियाँ **अनुपस्थित** होती हैं, null नहीं। NFC चरण छोड़े जाने पर `null`। |
| `authenticity` | object \| null | नीचे दिए गए ICAO पैसिव प्रमाणीकरण परिणाम। JPKI पठन के लिए `null`। |
| `authenticity.sod_integrity` | boolean | जब SOD हस्ताक्षर जारीकर्ता देश के वैध CSCA से जुड़ता है और DSC न तो निरस्त होता है और न ही उसकी समय-सीमा समाप्त होती है, तब `true`। |
| `authenticity.dg_integrity` | boolean | जब प्रत्येक डेटा ग्रुप का हैश SOD द्वारा हस्ताक्षरित मान से मेल खाता है, तब `true`। `false` मान का अर्थ है कि चिप डेटा से छेड़छाड़ की गई थी या उसे आंशिक रूप से पढ़ा गया था। |
| `certificate_summary` | object \| null | इस चिप पर हस्ताक्षर करने वाले DSC का सारांश: `issuer`, `subject`, `serial_number`, `not_valid_before`, `not_valid_after` (`YYYY-MM-DD HH:MM:SS` के रूप में टाइमस्टैम्प), साथ ही अलग-अलग जाँच परिणामों (`csca_verified`, `csca_missing`, `dsc_revoked`, `dsc_expired`, `csca_expired`) के साथ एक `validation` ऑब्जेक्ट। जब DSC का जारीकर्ता CSCA ट्रस्ट एंकर उपलब्ध नहीं होता है, तब `csca_missing` `true` होता है। जब SOD लोड नहीं किया जा सका या चरण छोड़ दिया गया था, तब `null`। |
| `warnings[]` | array | मॉड्यूल-स्तरीय चेतावनियाँ, प्रत्येक में `feature`, `risk`, `additional_data`, `log_type`, `short_description`, `long_description`, और `node_id` शामिल हैं — [NFC चेतावनियाँ](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md) देखें। |

## स्थिति मान

| स्थिति | अर्थ | डाउनस्ट्रीम प्रभाव |
| - | - | - |
| `Approved` | चिप पढ़ ली गई और Review या Decline कार्रवाई के साथ कोई चेतावनी ट्रिगर नहीं हुई — इसमें वह मामला भी शामिल है जहाँ चेतावनियाँ ट्रिगर हुईं लेकिन उनकी कॉन्फ़िगर की गई कार्रवाई "No action" है। | इसे एक सफल NFC जाँच माना जाता है; यह अपने आप सत्र को समीक्षा में नहीं भेजेगा। |
| `In Review` | एक चेतावनी ट्रिगर हुई जिसकी कॉन्फ़िगर की गई कार्रवाई Review है (आपकी सेटिंग्स के आधार पर `SKIPPED_NFC_VALIDATION`, `NFC_CHIP_NOT_VERIFIED`, `NFC_TRUST_ANCHOR_MISSING`, `NFC_AND_OCR_DATA_NOT_SAME`, या `JPKI_*` चेतावनियों में से कोई एक)। | समीक्षक द्वारा कार्रवाई किए जाने तक सत्र भी `In Review` में चला जाता है। |
| `Declined` | एक ऐसी चेतावनी ट्रिगर हुई जिसकी कॉन्फ़िगर की गई कार्रवाई Decline है। | सत्र अस्वीकृत हो जाता है जब तक कि कोई अन्य स्वीकृत शाखा वर्कफ़्लो की शर्त पूरी न करे। |
| `Not Finished` | उपयोगकर्ता ने NFC चरण छोड़ दिया, डिवाइस में NFC समर्थन नहीं था, या चिप पठन कभी पूरा नहीं हुआ। | NFC शाखा ने कोई परिणाम नहीं दिया; वर्कफ़्लो फ़ॉलबैक की जाँच करें। |
| `Resub Requested` | एक समीक्षक ने इस चरण को पुनः सबमिट करने का अनुरोध किया। | उपयोगकर्ता द्वारा पुनः प्रयास करने पर एक नया प्रयास इस रिपोर्ट को बदल देता है। |

> [!NOTE]
>
> दो प्रमाणपत्र चेतावनियाँ (`DSC_CERTIFICATE_REVOKED`, `DSC_CERTIFICATE_EXPIRED`) केवल सूचनात्मक हैं: वे `warnings[]` में दिखाई देती हैं लेकिन अपने आप NFC `status` को कभी नहीं बदलती हैं। संपूर्ण व्यवहार मैट्रिक्स के लिए [NFC चेतावनियाँ](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md) देखें।

## उदाहरण

### Approved — चिप पढ़ी गई और क्रिप्टोग्राफ़िक रूप से मान्य

```json theme={null}
{
  "nfc_verifications": [
    {
      "status": "Approved",
      "node_id": "nfc_primary",
      "portrait_image": "https://<media-host>/.../epassport/<session-id>_face.jpg?signature=...",
      "signature_image": "https://<media-host>/.../epassport/<session-id>_signature.jpg?signature=...",
      "chip_data": {
        "dgs": ["DG1", "DG2", "DG7", "DG11"],
        "surname": "DOE",
        "name": "JOHN",
        "country": "ESP",
        "nationality": "ESP",
        "birth_date": "1990-05-15",
        "expiry_date": "2030-01-01",
        "sex": "M",
        "document_type": "P",
        "document_number": "AAB000123",
        "optional_data": "",
        "birth_date_hash": "4",
        "expiry_date_hash": "7",
        "document_number_hash": "3",
        "optional_data_hash": "",
        "final_hash": "4",
        "mrz_string": "P<ESPDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AAB000123ESP9005154M3001017<<<<<<<<<<<<<<04",
        "mrz_type": "TD3",
        "place_of_birth": "MADRID, MADRID",
        "address": "CALLE MAYOR 1, MADRID"
      },
      "is_nfc_skipped": false,
      "skip_reason": null,
      "authenticity": {
        "sod_integrity": true,
        "dg_integrity": true
      },
      "certificate_summary": {
        "issuer": "Common Name: CSCA SPAIN, Serial Number: 3, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
        "subject": "Common Name: DS n-eID SPAIN 2, Organizational Unit: PASSPORT, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
        "not_valid_before": "2020-11-18 10:21:11",
        "not_valid_after": "2031-02-18 10:21:11",
        "serial_number": 118120836164494130086420187336801405660,
        "validation": {
          "csca_verified": true,
          "dsc_revoked": false,
          "dsc_expired": false,
          "csca_expired": false
        }
      },
      "warnings": []
    }
  ]
}
```

### Declined — OCR / चिप मिसमैच

```json theme={null}
{
  "nfc_verifications": [
    {
      "status": "Declined",
      "node_id": "nfc_primary",
      "portrait_image": "https://<media-host>/.../epassport/<session-id>_face.jpg?signature=...",
      "signature_image": null,
      "chip_data": {
        "dgs": ["DG1", "DG2"],
        "surname": "DOE",
        "name": "JOHN",
        "country": "ESP",
        "nationality": "ESP",
        "birth_date": "1990-05-15",
        "expiry_date": "2030-01-01",
        "sex": "M",
        "document_type": "P",
        "document_number": "AAB000254",
        "optional_data": "",
        "birth_date_hash": "4",
        "expiry_date_hash": "7",
        "document_number_hash": "6",
        "optional_data_hash": "",
        "final_hash": "6",
        "mrz_string": "P<ESPDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AAB000254ESP9005154M3001017<<<<<<<<<<<<<<06",
        "mrz_type": "TD3"
      },
      "is_nfc_skipped": false,
      "skip_reason": null,
      "authenticity": {
        "sod_integrity": true,
        "dg_integrity": true
      },
      "certificate_summary": {
        "issuer": "Common Name: CSCA SPAIN, Serial Number: 3, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
        "subject": "Common Name: DS n-eID SPAIN 2, Organizational Unit: PASSPORT, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
        "not_valid_before": "2020-11-18 10:21:11",
        "not_valid_after": "2031-02-18 10:21:11",
        "serial_number": 118120836164494130086420187336801405660,
        "validation": {
          "csca_verified": true,
          "dsc_revoked": false,
          "dsc_expired": false,
          "csca_expired": false
        }
      },
      "warnings": [
        {
          "feature": "NFC",
          "risk": "NFC_AND_OCR_DATA_NOT_SAME",
          "additional_data": {
            "ocr_mrz": ["P<ESPDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", "AAB000123ESP9005154M3001017<<<<<<<<<<<<<<04"],
            "nfc_mrz": "P<ESPDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AAB000254ESP9005154M3001017<<<<<<<<<<<<<<06"
          },
          "log_type": "error",
          "short_description": "NFC and OCR data not same",
          "long_description": "The Near Field Communication (NFC) chip data and the OCR data don't match, indicating potential document tampering or data inconsistency.",
          "node_id": "nfc_primary"
        }
      ]
    }
  ]
}
```

## Japan My Number Card (JPKI)

नेटिव SDK में Japan My Number Card को JPKI के माध्यम से पढ़ा जाता है: व्यक्ति कार्ड पिन दर्ज करता है और कार्ड एक वन-टाइम चैलेंज पर हस्ताक्षर करता है (देखें [यह कैसे काम करता है](https://docs.didit.me/hi/core-technology/nfc-verification/overview.md#japan-my-number-card-jpki))। इसकी रिपोर्ट में `chip_protocol: "jpki"` होता है और यह `jpki` के तहत साक्ष्य ले जाती है। `portrait_image`, `signature_image`, `chip_data`, `authenticity` और `certificate_summary` `null` होते हैं, क्योंकि कार्ड में कोई ICAO डेटा नहीं होता है।

> [!WARNING]
>
> JPKI के माध्यम से My Number Card पढ़ना अभी प्रोडक्शन में सक्षम नहीं है। जब तक यह सक्षम नहीं होता, तब तक एक My Number Card स्किप कारण `JPKI_UNAVAILABLE` के साथ NFC चरण को छोड़ देता है।

### JPKI फ़ील्ड

| फ़ील्ड | प्रकार | विवरण |
| - | - | - |
| `jpki.certificate_types` | `"user_authentication"` \| `"signature"` का array | पढ़े गए कार्ड प्रमाणपत्र। `user_authentication` (4-अंकीय पिन) हमेशा पढ़ा जाता है; `signature` (हस्ताक्षर पिन) तब पढ़ा जाता है जब NFC नोड की `jpki_request_attributes` सेटिंग चालू होती है, जो कि डिफ़ॉल्ट है। |
| `jpki.chain_valid` | boolean | `true` जब प्रत्येक प्रमाणपत्र अपने प्रकार के JPKI प्रमाणन प्राधिकरण से जुड़ा होता है, अपनी वैधता अवधि के भीतर होता है और उस प्रकार का My Number Card प्रमाणपत्र होता है। |
| `jpki.signature_valid` | boolean | `true` जब कार्ड द्वारा वन-टाइम चैलेंज पर किया गया प्रत्येक हस्ताक्षर सत्यापित हो जाता है। कार्ड केवल अपना पिन दर्ज किए जाने के बाद ही हस्ताक्षर करता है, इसलिए यह साबित करता है कि व्यक्ति के पास कार्ड है और उसे पिन पता है। |
| `jpki.revocation_status` | `"good"` \| `"revoked"` \| `"unchecked"` | `good`: प्रत्येक प्रमाणपत्र के निरस्त न होने की पुष्टि हो गई है। `revoked`: एक प्रमाणपत्र निरस्त है, उदाहरण के लिए क्योंकि कार्ड के खो जाने की सूचना दी गई थी। `unchecked`: कोई निरस्तीकरण उत्तर उपलब्ध नहीं था, इसलिए निरस्त कार्ड से इंकार नहीं किया जा सकता; इसे कभी भी `good` नहीं माना जाता है। निरस्तीकरण की जाँच केवल तभी की जाती है जब चेन और हस्ताक्षर मान्य हों। |
| `jpki.ca_generation` | string \| null | प्रमाणपत्र जारी करने वाले JPKI प्रमाणन प्राधिकरण का जनरेशन, उदाहरण के लिए `"2023"`। जब कोई प्रमाणपत्र किसी से नहीं जुड़ता तो `null`। |
| `jpki.certificate_expires_at` | string (ISO 8601) \| null | पढ़े गए प्रमाणपत्रों में सबसे पहले आने वाली समाप्ति तिथि। |
| `jpki.certificates[]` | array | पढ़े गए प्रत्येक प्रमाणपत्र के लिए एक प्रविष्टि: `type`, `chain_valid`, `signature_valid`, `ca_generation`, `not_valid_before`, `not_valid_after`, और `failure`। जब चेन मान्य होती है तो `failure` `null` होता है, अन्यथा `unreadable_certificate`, `untrusted_issuer`, `expired`, `not_yet_valid`, `wrong_policy` (उस प्रकार का My Number Card प्रमाणपत्र नहीं) या `key_usage` में से एक। |
| `jpki.attributes` | object \| null | हस्ताक्षर प्रमाणपत्र से धारक का डेटा, एक बार जब इसकी चेन मान्य हो जाती है: `full_name` (पंजीकृत के अनुसार, आमतौर पर जापानी लिपि में), `date_of_birth` (`YYYY-MM-DD`), `gender` (`M`, `F` या `null`), `address`, और `name_substitute_characters` / `address_substitute_characters`, जो उन वर्णों को चिह्नित करते हैं जिन्हें एक स्थानापन्न द्वारा प्रतिस्थापित किया गया है क्योंकि वे मानक वर्ण सेट से बाहर हैं (जब कोई भी नहीं हो तो `null`)। `null` तब होता है जब हस्ताक्षर प्रमाणपत्र का अनुरोध नहीं किया गया हो या इसकी चेन मान्य न हो। |
| `jpki.attributes_match_ocr` | boolean \| null | `true` जब विशेषताएँ उसी कार्ड की फ़ोटो से पढ़े गए डेटा से मेल खाती हैं, `false` जब उनमें से कोई भी भिन्न होता है (`JPKI_AND_OCR_DATA_NOT_SAME`), `null` जब किसी चीज़ की तुलना नहीं की जा सकी, जिसमें `attributes` के `null` होने की सभी स्थितियाँ शामिल हैं। |
| `jpki.mismatched_attributes` | array of string | वे विशेषताएँ जो फ़ोटो डेटा से भिन्न होती हैं (`full_name`, `date_of_birth`, `gender`, `address`), कभी भी उनके मान नहीं। |

रिपोर्ट में कभी भी प्रमाणपत्र स्वयं, उनके सीरियल नंबर, हस्ताक्षर या कार्ड का 12-अंकीय व्यक्तिगत नंबर (My Number) शामिल नहीं होता है, जिसे NFC चरण कभी नहीं पढ़ता है।

### उदाहरण: My Number Card पठन

```json theme={null}
{
  "nfc_verifications": [
    {
      "status": "Approved",
      "node_id": "nfc_primary",
      "portrait_image": null,
      "signature_image": null,
      "chip_data": null,
      "is_nfc_skipped": false,
      "skip_reason": null,
      "chip_protocol": "jpki",
      "jpki": {
        "certificate_types": ["user_authentication", "signature"],
        "chain_valid": true,
        "signature_valid": true,
        "revocation_status": "good",
        "ca_generation": "2023",
        "certificate_expires_at": "2029-05-15T14:59:59Z",
        "certificates": [
          {
            "type": "user_authentication",
            "chain_valid": true,
            "signature_valid": true,
            "ca_generation": "2023",
            "not_valid_before": "2024-06-03T01:12:40+00:00",
            "not_valid_after": "2029-05-15T14:59:59+00:00",
            "failure": null
          },
          {
            "type": "signature",
            "chain_valid": true,
            "signature_valid": true,
            "ca_generation": "2023",
            "not_valid_before": "2024-06-03T01:12:40+00:00",
            "not_valid_after": "2029-05-15T14:59:59+00:00",
            "failure": null
          }
        ],
        "attributes": {
          "full_name": "山田 太郎",
          "date_of_birth": "1990-05-15",
          "gender": "M",
          "address": "東京都千代田区千代田1番1号",
          "name_substitute_characters": null,
          "address_substitute_characters": null
        },
        "attributes_match_ocr": true,
        "mismatched_attributes": []
      },
      "authenticity": null,
      "certificate_summary": null,
      "warnings": []
    }
  ]
}
```

किसी पठन के लिए निरस्तीकरण जाँच अनुपलब्ध होने पर, उसी रिपोर्ट में डिफ़ॉल्ट सेटिंग्स के तहत `revocation_status: "unchecked"`, एक `JPKI_REVOCATION_UNCHECKED` चेतावनी, और `status: "In Review"` होता है। देखें [NFC चेतावनियाँ](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md#japan-my-number-card-jpki)।

## सुरक्षा नोट

NFC चिप डेटा जारीकर्ता प्राधिकरण द्वारा हस्ताक्षरित होता है, इसलिए `sod_integrity: true` और `dg_integrity: true` के साथ एक स्वीकृत रिपोर्ट सबसे मजबूत संभावित पहचान साक्ष्य है जो Didit प्रस्तुत कर सकता है। हस्ताक्षरित छवि URL (`portrait_image`, `signature_image`) को अल्पकालिक मानें: उन्हें तुरंत डाउनलोड करें और उन्हें सार्वजनिक रूप से कैश न करें — जब आपको नए लिंक की आवश्यकता हो तो निर्णय का पुनः अनुरोध करें।

## संबंधित

* [NFC चेतावनियाँ](https://docs.didit.me/hi/core-technology/nfc-verification/warnings-nfc-verification.md) — पूर्ण चेतावनी एनम, कारण और समाधान।
* [webhook](https://docs.didit.me/hi/integration/webhooks.md) — NFC रिपोर्ट प्राप्त करने के लिए `status.updated` इवेंट सुनें।
* [डेटा मॉडल — NFC सत्यापन](https://docs.didit.me/hi/reference/data-models.md#nfc-सत्यापन) — प्रत्येक फ़ील्ड के साथ कैनोनिकल स्कीमा।
* [समर्थित दस्तावेज़](https://docs.didit.me/hi/core-technology/nfc-verification/supported-documents-nfc-verification.md) — Didit कौन से ई-दस्तावेज़ NFC के माध्यम से पढ़ सकता है।


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.