> ## 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.

# चेहरा मिलान चेतावनियाँ और एरर कोड

> Didit के 1:1 चेहरा मिलान मॉड्यूल की सभी चेतावनियाँ—कम समानता, अनुपलब्ध संदर्भ फ़ोटो और पुनः प्रयास सीमा—कारण, गंभीरता व समाधान सहित।

## विवरण

चेहरा मिलान रिपोर्ट पर चेतावनियाँ हर उस स्थिति को फ़्लैग करती हैं जो Didit ने 1:1 चेहरे की तुलना करते समय देखी थीं। वे `face_matches[]` के प्रत्येक आइटम पर `warnings[]` ऐरे में दर्ज होती हैं (देखें [चेहरा मिलान रिपोर्ट](https://docs.didit.me/hi/core-technology/face-match/report-face-match.md))। प्रत्येक प्रविष्टि में `feature: "FACEMATCH"` और उस वर्कफ़्लो नोड का `node_id` भी शामिल होता है जिसने इसे ट्रिगर किया था।

प्रत्येक चेतावनी के तीन स्तर होते हैं:

1. **`risk` कोड** — एक स्थिर पहचानकर्ता जिससे आप अपने कोड में मिलान कर सकते हैं।
2. **`log_type`** — `information`, `warning`, या `error`, जो आपके वर्कफ़्लो के समानता-स्कोर थ्रेशोल्ड से प्राप्त होता है।
3. **निर्णय पर प्रभाव** — समानता स्कोर के लिए वर्कफ़्लो के समीक्षा और अस्वीकृति थ्रेशोल्ड द्वारा निर्धारित।

चेहरा मिलान मॉड्यूल जानबूझकर छोटा रखा गया है — इसमें ठीक पाँच जोखिम कोड हैं, जिनकी पूरी सूची नीचे दी गई है।

## स्वतः-अस्वीकृति शर्तें

निम्नलिखित जोखिम हमेशा चेहरा मिलान रिपोर्ट (और सत्र) को `Declined` स्थिति में भेज देता है:

| जोखिम | ट्रिगर |
| - | - |
| `NO_REFERENCE_IMAGE` | `source_image` (संदर्भ) या `target_image` (सेल्फ़ी) में से कोई एक अनुपलब्ध है, इसलिए कोई तुलना संभव नहीं थी। |

जब `NO_REFERENCE_IMAGE` ट्रिगर होता है, तो `LOW_FACE_MATCH_SIMILARITY` को दबा दिया जाता है (स्कोर करने के लिए कुछ भी नहीं है)।

इसका एक अपवाद है।
जब पहचान चरण किसी [गैर-दस्तावेज़ लुकअप](https://docs.didit.me/hi/core-technology/id-verification/non-doc-lookup.md) द्वारा पूरा किया गया था जिसका रजिस्टर कोई पोर्ट्रेट वापस नहीं करता है और किसी चेहरे की जांच नहीं करता है, तो चेहरा मिलान के पास लाइव कैप्चर से तुलना करने के लिए कोई संदर्भ नहीं होता है।
इसे `null` स्कोर के साथ `FACE_MATCH_NOT_COMPUTED` के रूप में रिपोर्ट किया जाता है और इसका निर्णय `face_match_not_computed_action` (नीचे देखें) द्वारा लिया जाता है, न कि स्वचालित अस्वीकृति के रूप में।

## कॉन्फ़िगर करने योग्य सत्यापन सेटिंग्स

Didit कंसोल में, चेहरा मिलान समानता स्कोर दो थ्रेशोल्ड द्वारा नियंत्रित होता है (कोई स्वीकृत/समीक्षा/अस्वीकृत टॉगल नहीं है):

| सेटिंग | डिफ़ॉल्ट | व्यवहार |
| - | - | - |
| `face_match_score_review_threshold` | 70 | जब `score` ≤ यह मान होता है, तो `LOW_FACE_MATCH_SIMILARITY` ट्रिगर होता है और स्थिति `In Review` में बदल जाती है। |
| `face_match_score_decline_threshold` | 50 | जब `score` ≤ यह मान होता है, तो वही चेतावनी बढ़कर `error` हो जाती है और स्थिति `Declined` में बदल जाती है। |

यदि आप बहुत अधिक गलत स्वीकृतियाँ (फ़ॉल्स अप्रूवल) देखते हैं, तो समीक्षा थ्रेशोल्ड को बढ़ाएँ; यदि आप बहुत अधिक गलत अस्वीकृतियाँ (फ़ॉल्स डिक्लाइन) देखते हैं, तो अस्वीकृति थ्रेशोल्ड को घटाएँ।

एक अलग सेटिंग यह नियंत्रित करती है कि तब क्या होता है जब समानता स्कोर **बिल्कुल भी परिकलित नहीं किया जा सकता**: छवियों में से किसी एक में कोई चेहरा नहीं पाया गया, या गैर-दस्तावेज़ लुकअप ने तुलना करने के लिए कोई संदर्भ नहीं छोड़ा:

| सेटिंग | डिफ़ॉल्ट | व्यवहार |
| - | - | - |
| `face_match_not_computed_action` | `REVIEW` | "परिकलित नहीं किया जा सका" परिणाम अंतिम होने के बाद लागू की जाने वाली कार्रवाई। `REVIEW` रिपोर्ट को `In Review` में भेजता है; `DECLINE` इसे `Declined` पर सेट करता है। (कोई ऑटो-स्वीकृति विकल्प नहीं है — ऐसा स्कोर जो कभी परिकलित ही नहीं किया गया, उसे कभी भी बिना बताए पास नहीं किया जाता है।) |

यह कार्रवाई `FACE_MATCH_NOT_COMPUTED` (दस्तावेज़ पोर्ट्रेट में कोई चेहरा नहीं है, या गैर-दस्तावेज़ लुकअप के बाद कोई संदर्भ नहीं है) और उपयोगकर्ता के पुनः प्रयासों के समाप्त होने पर `NO_FACE_IN_SELFIE` को नियंत्रित करती है। जब समस्या सेल्फ़ी में होती है, तो उपयोगकर्ता को पहले पुनः कैप्चर करने के लिए कहा जाता है — नीचे देखें — और कार्रवाई केवल तभी लागू होती है जब प्रयास सीमा समाप्त होने के बाद भी चेहरे का पता नहीं लगाया जा सकता है।

कम-समानता वाली विफलताएँ भी स्थिति के अंतिम रूप लेने से पहले कैप्चर-पुनः प्रयास लूप में प्रवेश करती हैं: उपयोगकर्ता को पुनः कैप्चर करने के लिए कुल `face_match_max_attempts` प्रयास (डिफ़ॉल्ट 3, प्रति वर्कफ़्लो नोड 2–5 कॉन्फ़िगर करने योग्य) मिलते हैं। `NO_FACE_IN_SELFIE` विफलता उसी पुनः प्रयास लूप का उपयोग करती है, क्योंकि एक स्पष्ट सेल्फ़ी को पुनः कैप्चर करके इसे ठीक किया जा सकता है। `FACE_MATCH_NOT_COMPUTED` विफलता **पुनः प्रयास नहीं करती** — दस्तावेज़ पोर्ट्रेट को इस चरण पर पुनः कैप्चर नहीं किया जा सकता है। केवल तब जब प्रयास सीमा समाप्त हो जाती है, अंतिम प्रयास की स्थिति लागू होती है — और इसे रिकॉर्ड करने के लिए `FACE_MATCH_MAX_ATTEMPTS_EXCEEDED` लॉग किया जाता है।

स्टैंडअलोन [चेहरा मिलान API](https://docs.didit.me/hi/standalone-apis/face-match.md) पर केवल एक अस्वीकृति थ्रेशोल्ड मौजूद होता है (`face_match_score_decline_threshold` अनुरोध विकल्प, डिफ़ॉल्ट 30); कोई भी ट्रिगर हुई चेतावनी अनुरोध को अस्वीकृत कर देती है, और जब किसी भी चेहरे की तुलना नहीं की जा सकी, तो `NO_REFERENCE_IMAGE` ट्रिगर होता है।

## उत्पन्न होने वाली चेतावनियाँ

| जोखिम | कारण | गंभीरता | क्या स्थिति प्रभावित होती है? | समाधान |
| - | - | - | - | - |
| `LOW_FACE_MATCH_SIMILARITY` | `score` ≤ `face_match_score_review_threshold`। `NO_REFERENCE_IMAGE` भी मौजूद होने पर दबा दिया जाता है। | थ्रेशोल्ड के बीच `warning`; अस्वीकृति थ्रेशोल्ड पर या उससे नीचे `error` | थ्रेशोल्ड के बीच `In Review`; अस्वीकृति थ्रेशोल्ड पर या उससे नीचे `Declined` | थ्रेशोल्ड ट्यून करें, या मैन्युअल समीक्षा के माध्यम से स्वीकार करें। |
| `FACE_MATCH_NOT_COMPUTED` | समानता स्कोर की गणना नहीं की जा सकी क्योंकि **दस्तावेज़ पोर्ट्रेट** में कोई चेहरा नहीं पाया गया था, या क्योंकि ID चरण एक [गैर-दस्तावेज़ लुकअप](https://docs.didit.me/hi/core-technology/id-verification/non-doc-lookup.md) था जिसमें तुलना करने के लिए कोई संदर्भ नहीं बचा था (एक ऐसा रजिस्टर जो कोई पोर्ट्रेट वापस नहीं करता और किसी चेहरे की जांच नहीं करता)। `NO_REFERENCE_IMAGE` भी मौजूद होने पर दबा दिया जाता है। | `warning` जब `face_match_not_computed_action`, `REVIEW` हो; `error` जब `DECLINE` हो | `face_match_not_computed_action` के अनुसार, `In Review` या `Declined` | इस चरण में दस्तावेज़ की छवि दोबारा कैप्चर नहीं की जा सकती: मैन्युअल समीक्षा के माध्यम से समाधान करें, या फ़्लो में पहले दस्तावेज़ को फिर से कैप्चर करें। केवल डेटा वाले लुकअप के बाद, `face_match_not_computed_action` को अपने इच्छित परिणाम पर सेट करें, या उन देशों में दस्तावेज़ की आवश्यकता रखें जहाँ बायोमेट्रिक मिलान मायने रखता है। |
| `NO_FACE_IN_SELFIE` | समानता स्कोर की गणना नहीं की जा सकी क्योंकि उपयोगकर्ता की **सेल्फ़ी** में कोई चेहरा नहीं पाया गया था। यह चेतावनी स्थायी रूप से दर्ज होने से पहले उपयोगकर्ता से सेल्फ़ी दोबारा लेने के लिए कहा जाता है। | `warning` जब `face_match_not_computed_action`, `REVIEW` हो; `error` जब `DECLINE` हो | पुनः प्रयास समाप्त होने के बाद, `face_match_not_computed_action` के अनुसार `In Review` या `Declined` | उपयोगकर्ता अधिक स्पष्ट, अच्छी रोशनी वाली, सामने की ओर देखने वाली सेल्फ़ी दोबारा कैप्चर करता है। |
| `NO_REFERENCE_IMAGE` | या तो संदर्भ छवि या लक्ष्य छवि अनुपलब्ध है (उस संदर्भ को छोड़कर जिसे गैर-दस्तावेज़ लुकअप ने कभी उत्पन्न नहीं किया, जो `FACE_MATCH_NOT_COMPUTED` है)। | `error` | **स्वतः अस्वीकृत** | सुनिश्चित करें कि दस्तावेज़ पोर्ट्रेट और लाइवनेस सेल्फ़ी दोनों कैप्चर किए गए हों। स्टैंडअलोन API के लिए, दो वैध चेहरे की छवियाँ पास करें। |
| `FACE_MATCH_MAX_ATTEMPTS_EXCEEDED` | बार-बार कम समानता की विफलताओं के बाद उपयोगकर्ता का कैप्चर-पुनः प्रयास बजट (`face_match_max_attempts`) समाप्त हो गया। | `information` | नहीं — यह रिकॉर्ड करता है कि अंतिम प्रयास की परिकलित स्थिति (अस्वीकृत या समीक्षाधीन) लागू की गई थी | वर्कफ़्लो नोड पर `face_match_max_attempts` बढ़ाएँ, या मैन्युअल समीक्षा के माध्यम से समाधान करें। |

## उदाहरण

### समीक्षाधीन — बॉर्डरलाइन समानता

```json theme={null}
"warnings": [
  {
    "feature": "FACEMATCH",
    "risk": "LOW_FACE_MATCH_SIMILARITY",
    "additional_data": null,
    "log_type": "warning",
    "short_description": "Low face match similarity",
    "long_description": "The facial features of the provided image don't closely match the reference image, suggesting a potential identity mismatch.",
    "node_id": "feature_face_match_1"
  }
]
```

### समीक्षाधीन — चेहरा मिलान की गणना नहीं की जा सकी

```json theme={null}
"warnings": [
  {
    "feature": "FACEMATCH",
    "risk": "FACE_MATCH_NOT_COMPUTED",
    "additional_data": null,
    "log_type": "warning",
    "short_description": "Face match could not be computed",
    "long_description": "A face match score could not be computed because a face could not be detected in the document portrait. Because the document image cannot be recaptured, the result follows the configured action for this case (manual review by default) rather than being treated as a low-similarity mismatch.",
    "node_id": "feature_face_match_1"
  }
]
```

### स्वतः अस्वीकृत — अनुपलब्ध संदर्भ

```json theme={null}
"warnings": [
  {
    "feature": "FACEMATCH",
    "risk": "NO_REFERENCE_IMAGE",
    "additional_data": null,
    "log_type": "error",
    "short_description": "No source image found for performing face match",
    "long_description": "A reference image for facial comparison is missing, preventing the system from completing the face matching process.",
    "node_id": "feature_face_match_1"
  }
]
```

### पुनः प्रयास समाप्त — अंतिम प्रयास की स्थिति लागू की गई

```json theme={null}
"warnings": [
  {
    "feature": "FACEMATCH",
    "risk": "LOW_FACE_MATCH_SIMILARITY",
    "additional_data": null,
    "log_type": "error",
    "short_description": "Low face match similarity",
    "long_description": "The facial features of the provided image don't closely match the reference image, suggesting a potential identity mismatch.",
    "node_id": "feature_face_match_1"
  },
  {
    "feature": "FACEMATCH",
    "risk": "FACE_MATCH_MAX_ATTEMPTS_EXCEEDED",
    "additional_data": null,
    "log_type": "information",
    "short_description": "Maximum face match attempts exceeded",
    "long_description": "The maximum number of face match capture attempts has been reached. The last attempt's computed status (decline or review) has been applied.",
    "node_id": "feature_face_match_1"
  }
]
```

> [!NOTE]
>
> स्टैंडअलोन [Face Match API](https://docs.didit.me/hi/standalone-apis/face-match.md) बिना `node_id` के चेतावनी का वही प्रारूप लौटाता है (तुलना किसी वर्कफ़्लो नोड से बंधी नहीं होती है)।

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

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

## संबंधित

* [चेहरा मिलान रिपोर्ट](https://docs.didit.me/hi/core-technology/face-match/report-face-match.md) — पूर्ण रिपोर्ट स्कीमा और स्थितियाँ।
* [लाइवनेस चेतावनियाँ](https://docs.didit.me/hi/core-technology/liveness/warnings-liveness.md) — सेल्फ़ी कैप्चर पर अपस्ट्रीम चेतावनियाँ।
* [webhook](https://docs.didit.me/hi/integration/webhooks.md) — चरण पूरा होते ही `session.status.updated` चेतावनियों को शामिल करता है।
* [डेटा मॉडल — चेहरा मिलान](https://docs.didit.me/hi/reference/data-models.md#चेहरा-मिलान) — कैनोनिकल स्कीमा।
* [डेटा मॉडल — चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) — `warnings[]` में प्रत्येक प्रविष्टि का प्रारूप।


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