मुख्य सामग्री पर जाएं

अवलोकन

NFC रिपोर्ट पर चेतावनियाँ चिप को पढ़ते और मान्य करते समय Didit द्वारा देखी गई प्रत्येक स्थिति को फ़्लैग करती हैं। वे nfc_verifications[] के प्रत्येक आइटम पर warnings[] सरणी में आती हैं (NFC रिपोर्ट देखें), जिसमें feature "NFC" पर सेट होता है। प्रत्येक प्रविष्टि साझा चेतावनी ऑब्जेक्ट की संरचना का अनुसरण करती है: feature, risk, additional_data, log_type, short_description, long_description, node_id। प्रत्येक चेतावनी के तीन स्तर होते हैं:
  1. risk कोड — एक स्थिर पहचानकर्ता जिसका आप अपने कोड में मिलान कर सकते हैं (नीचे सूचीबद्ध कोड)।
  2. log_type — information, warning, या error में से एक। यह उस कार्रवाई से प्राप्त होता है जिसे आपका वर्कफ़्लो उस जोखिम के लिए कॉन्फ़िगर करता है: कोई कार्रवाई नहीं → information, समीक्षा → warning, अस्वीकार → error।
  3. निर्णय प्रभाव — वही कॉन्फ़िगर की गई कार्रवाई NFC रिपोर्ट के status को भी संचालित करती है: एक समीक्षा कार्रवाई इसे In Review में ले जाती है, एक अस्वीकार कार्रवाई इसे Declined में ले जाती है।
चार NFC जोखिम इस तरह से कॉन्फ़िगर करने योग्य हैं (SKIPPED_NFC_VALIDATION, NFC_CHIP_NOT_VERIFIED, NFC_TRUST_ANCHOR_MISSING, NFC_AND_OCR_DATA_NOT_SAME), साथ ही पाँच Japan My Number Card जोखिम, प्रत्येक की अपनी सेटिंग के साथ। दो प्रमाणपत्र जोखिम (DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) केवल सूचनात्मक हैं: वे हमेशा log_type: "information" रखते हैं और कभी भी अपने आप NFC स्थिति को नहीं बदलते हैं। NFC मॉड्यूल द्वारा उत्पन्न जोखिम कोड का पूरा सेट नीचे दिया गया है। कोई अन्य NFC जोखिम कोड मौजूद नहीं हैं।

उत्पन्न चेतावनियाँ

SKIPPED_NFC_VALIDATION, NFC_CHIP_NOT_VERIFIED और NFC_TRUST_ANCHOR_MISSING के साथ परस्पर अनन्य है: चिप-सत्यापन चेतावनियों का मूल्यांकन केवल तभी किया जाता है जब चिप रीड को छोड़ा नहीं गया था। दोनों चिप-सत्यापन चेतावनियाँ भी परस्पर अनन्य हैं।

सटीक विवरण स्ट्रिंग्स

API प्रत्येक जोखिम के लिए ये सटीक short_description और long_description स्ट्रिंग्स लौटाता है:

स्किप के कारण

SKIPPED_NFC_VALIDATION चेतावनियों में additional_data.skip_reason शामिल होता है, जो सात स्थिर कोडों में से एक होता है और यह स्पष्ट रूप से बताता है कि NFC क्यों नहीं चला (स्किप कारण उपलब्ध होने से पहले रिकॉर्ड किए गए सत्रों पर, additional_data null हो सकता है — ऐतिहासिक निर्णयों को प्रोसेस करते समय फ़ील्ड को वैकल्पिक मानें)। यही टैक्सोनॉमी सत्र स्तर पर निर्णय payload पर nfc_skip_reason के रूप में दिखाई देती है — उन सत्रों के लिए भी जहाँ NFC कभी चल ही नहीं सकता था (बिना चिप वाला दस्तावेज़, वेब इंटीग्रेशन) और इसलिए कोई NFC रिपोर्ट या चेतावनी मौजूद नहीं है।
एक NFC रिपोर्ट और उसकी SKIPPED_NFC_VALIDATION चेतावनी केवल तभी मौजूद होती है जब क्लाइंट NFC चरण तक पहुँचता है और स्पष्ट रूप से इसे छोड़ देता है (आमतौर पर USER_SKIPPED, या स्कैन के समय रीडर के अनुपलब्ध होने पर DEVICE_WITHOUT_NFC)। जब NFC चरण को पेश किए जाने से पहले ही बायपास कर दिया जाता है — बिना चिप वाला दस्तावेज़, अनुपलब्ध प्रमाणपत्र, कोई NFC क्षमता रिपोर्ट नहीं की गई, अपठनीय MRZ कुंजी, JPKI अनुपलब्ध — तो कोई रिपोर्ट या चेतावनी नहीं बनाई जाती है और कारण केवल सत्र-स्तरीय nfc_skip_reason फ़ील्ड में दिखाई देता है, बिना सत्र स्थिति को प्रभावित किए।

कॉन्फ़िगरेशन

तीन वर्कफ़्लो सेटिंग्स यह नियंत्रित करती हैं कि NFC चेतावनियाँ कैसे रूट होती हैं। प्रत्येक को कोई कार्रवाई नहीं, समीक्षा, या अस्वीकार करें पर सेट किया जा सकता है:
  1. NFC स्किप कार्रवाई (skip_nfc_action) — SKIPPED_NFC_VALIDATION पर लागू होता है। उपयोगकर्ताओं को केवल तभी स्किप करने का विकल्प दिया जाता है जब allow_nfc_skip सक्षम हो।
  2. असत्यापित चिप कार्रवाई (unverified_chip_action) — NFC_CHIP_NOT_VERIFIED और NFC_TRUST_ANCHOR_MISSING दोनों पर लागू होता है, ताकि सत्र स्थिति का व्यवहार समान रहे जबकि जोखिम कोड यह स्पष्ट करता है कि सत्यापन क्यों विफल हुआ।
  3. डेटा असंगति कार्रवाई (inconsistent_data_action) — NFC_AND_OCR_DATA_NOT_SAME पर लागू होता है। यह वही डेटा असंगतता सेटिंग है जिसका उपयोग पहचान सत्यापन में किया जाता है।
दोनों DSC_CERTIFICATE_* जोखिमों में कोई कार्रवाई सेटिंग नहीं होती है — वे हमेशा केवल सूचनात्मक होते हैं। Japan My Number Card जोखिमों में पाँच अतिरिक्त सेटिंग्स होती हैं, जो अगले अनुभाग में सूचीबद्ध हैं।

Japan My Number Card (JPKI)

एक Japan My Number Card को ICAO 9303 के बजाय JPKI (chip_protocol: "jpki") के माध्यम से पढ़ा जाता है, इसलिए उपरोक्त ICAO जोखिम इसके लिए कभी ट्रिगर नहीं होते हैं। इसे पढ़ने पर इसके बजाय ये पाँच जोखिम उत्पन्न होते हैं, जिनमें से प्रत्येक की NFC नोड पर अपनी सेटिंग होती है: My Number Card की स्किप की गई रीडिंग किसी भी चिप की तरह SKIPPED_NFC_VALIDATION उत्पन्न करती है और skip_nfc_action का पालन करती है। रीड कैसे काम करता है, इसके लिए Japan My Number Card (JPKI) देखें।
JPKI के माध्यम से My Number Card रीडिंग अभी प्रोडक्शन में सक्षम नहीं है। जब तक यह सक्षम नहीं हो जाती, My Number Card स्किप कारण JPKI_UNAVAILABLE के साथ NFC चरण को छोड़ देता है और इनमें से कोई भी जोखिम उत्पन्न नहीं होता है।

उदाहरण

In Review — चिप सत्यापित नहीं की जा सकी

यहाँ असत्यापित-चिप कार्रवाई Review पर सेट है, इसलिए NFC_CHIP_NOT_VERIFIED में log_type: "warning" होता है और NFC रिपोर्ट की स्थिति In Review होती है। समय-सीमा समाप्त DSC प्रविष्टि पूरी तरह से सूचनात्मक है।

Declined — चिप / OCR बेमेल

यहाँ डेटा-असंगतता कार्रवाई Decline पर सेट है, इसलिए चेतावनी में log_type: "error" होता है और NFC रिपोर्ट की स्थिति Declined होती है। ध्यान दें कि ocr_mrz MRZ पंक्तियों की एक ऐरे है जबकि nfc_mrz चिप की एकल संयोजित MRZ स्ट्रिंग है।

In Review: निरसन के उत्तर के बिना My Number Card

यहाँ jpki_revocation_unchecked_action अपना डिफ़ॉल्ट, Review, बनाए रखता है, इसलिए चेतावनी में log_type: "warning" होता है और NFC रिपोर्ट की स्थिति In Review होती है। कार्ड स्वयं सिद्ध हो चुका था: jpki.chain_valid और jpki.signature_valid दोनों true हैं।

चेतावनी के प्रकार

आपके एप्लिकेशन के कॉन्फ़िगरेशन के आधार पर प्रत्येक जोखिम को एक गंभीरता सौंपी जाती है। तीन गंभीरता स्तर हैं:

संबंधित

  • NFC रिपोर्ट — पूर्ण रिपोर्ट स्कीमा और स्थितियाँ।
  • Webhook — सत्र की स्थिति में बदलाव होने पर status.updated ट्रिगर होता है; जब सत्र Approved, Declined, In Review या Abandoned में पहुँचता है, तो निर्णय payload (NFC चेतावनियों सहित) संलग्न किया जाता है।
  • डेटा मॉडल — NFC सत्यापन — कैनोनिकल फ़ील्ड-दर-फ़ील्ड स्कीमा।
  • डेटा मॉडल — चेतावनी ऑब्जेक्ट — warnings[] में प्रत्येक प्रविष्टि का प्रारूप।
अंतिम संशोधन 7 नवंबर 2026