> ## 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 फ़ोन सत्यापन के हर जोखिम कोड का संदर्भ: HIGH_RISK_PHONE_NUMBER, VOIP_NUMBER_DETECTED, DISPOSABLE_NUMBER_DETECTED, ब्लॉकलिस्ट और OTP सीमाएँ।

फ़ोन सत्यापन सुविधा **चेतावनियाँ** तब जारी करती है जब OTP फ़्लो या स्वयं नंबर पर कोई जोखिम संकेत ट्रिगर होता है: कोई ज्ञात ख़राब नंबर, VoIP या डिस्पोज़ेबल लाइन, OTP प्रयास की सीमा, या किसी अन्य उपयोगकर्ता के सत्र के साथ मिलान। यह पेज प्रत्येक कोड, इसे क्या ट्रिगर करता है, और वर्कफ़्लो प्रतिक्रिया को कैसे कॉन्फ़िगर किया जाए, इसकी सूची देता है।

## अवलोकन

चेतावनियों को सुविधा `PHONE` के साथ टैग किया जाता है। वे `GET /v3/session/{sessionId}/decision/` में `phone_verifications[].warnings[]` के अंतर्गत दिखाई देती हैं और मानक [चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) संरचना (`feature`, `risk`, `additional_data`, `log_type`, `short_description`, `long_description`, `node_id`) का पालन करती हैं। प्रत्येक चेतावनी को प्रति-सत्र लॉग में भी भेजा जाता है ताकि यह Business Console में Phone अनुभाग के अंतर्गत प्रदर्शित हो।

कुछ चेतावनियाँ **सख्त स्वतः-अस्वीकृति** ट्रिगर होती हैं — वे हमेशा सुविधा की स्थिति को `Declined` पर सेट करती हैं। अन्य आपके वर्कफ़्लो सेटिंग्स में परिभाषित **कॉन्फ़िगर करने योग्य कार्रवाई** (`DECLINE`, `REVIEW`, या `NO_ACTION`, सेटिंग के आधार पर) पर मैप होती हैं, इसलिए वही जोखिम कोड एक वर्कफ़्लो को अस्वीकृत कर सकता है जबकि दूसरे को केवल फ़्लैग कर सकता है।

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

निम्नलिखित चेतावनियाँ कॉन्फ़िगरेशन की परवाह किए बिना फ़ोन सत्यापन चरण को हमेशा अस्वीकृत करती हैं, और हमेशा `log_type: "error"` रखती हैं:

* `VERIFICATION_CODE_ATTEMPTS_EXCEEDED` — उपयोगकर्ता ने OTP प्रयास सीमा पार कर ली है: डिफ़ॉल्ट रूप से 2 गलत कोड सबमिशन (`phone_max_check_attempts`) या 2 से अधिक OTP भेजना (`phone_max_retries`), दोनों प्रति वर्कफ़्लो नोड ट्यून करने योग्य हैं। Standalone फ़ोन API 3 कोड प्रयासों की अनुमति देता है।
* `PHONE_NUMBER_IN_BLOCKLIST` — नंबर [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) के माध्यम से प्रबंधित आपकी ब्लॉकलिस्ट में है, या यह किसी ब्लॉकलिस्ट किए गए सत्र से मेल खाता है।

`HIGH_RISK_PHONE_NUMBER` — डिलीवरी प्रदाता की एंटी-फ़्रॉड लेयर द्वारा OTP भेजने से इनकार करना (`Blocked` भेजना) — डिफ़ॉल्ट रूप से अस्वीकृत करता है लेकिन अब **बिना शर्त नहीं है**: नीचे [`high_risk_phone_action`](#ब्लॉक-किए-गए-प्रेषण) देखें।

## कॉन्फ़िगर करने योग्य जोखिम

निम्नलिखित जोखिमों में से प्रत्येक एक वर्कफ़्लो सेटिंग पर मैप होता है जिसे आप `DECLINE`, `REVIEW`, या `NO_ACTION` (डिफ़ॉल्ट — चेतावनी स्थिति को प्रभावित किए बिना रिकॉर्ड की जाती है) पर कॉन्फ़िगर कर सकते हैं। कॉन्फ़िगर की गई कार्रवाई चेतावनी के `log_type` को भी सेट करती है: `DECLINE` → `error`, `REVIEW` → `warning`, `NO_ACTION` → `information`।

| सेटिंग | जोखिम कोड | तब ट्रिगर होता है जब |
| - | - | - |
| `voip_number_action` | `VOIP_NUMBER_DETECTED` | कैरियर `voip`, `isp`, या `vpn` लाइन प्रकार में रिज़ॉल्व होता है। |
| `disposable_number_action` | `DISPOSABLE_NUMBER_DETECTED` | लुकअप नंबर को अस्थायी / बर्नर प्रदाता के रूप में फ़्लैग करता है। |
| `duplicated_phone_number_action` | `DUPLICATED_PHONE_NUMBER` | नंबर किसी अन्य अंतिम उपयोगकर्ता से संबंधित, किसी भी स्थिति वाले सत्र से मेल खाता है। नंबर के अनुमति सूची में होने पर छोड़ दिया जाता है। |

डुप्लिकेट डिटेक्शन आपके एप्लिकेशन के भीतर KYC, KYB, और स्टैंडअलोन API फ़ोन सत्यापनों में चलता है, और `vendor_data` द्वारा सत्रों को समूहित करता है — समान `vendor_data` साझा करने वाले सत्रों को एक ही अंतिम उपयोगकर्ता माना जाता है और मिलान परिणामों से बाहर रखा जाता है। `vendor_data` को खाली छोड़ दें और प्रत्येक सत्र को एक अलग उपयोगकर्ता माना जाता है।

### ब्लॉक किए गए प्रेषण

`HIGH_RISK_PHONE_NUMBER` अधिक सीमित विकल्पों के साथ समान पैटर्न का पालन करता है, क्योंकि प्रदाता द्वारा अस्वीकृत किए गए प्रेषण को स्वीकृत नहीं किया जा सकता है:

| सेटिंग | जोखिम कोड | तब ट्रिगर होता है जब |
| - | - | - |
| `high_risk_phone_action` | `HIGH_RISK_PHONE_NUMBER` | डिलीवरी प्रदाता की एंटी-फ़्रॉड लेयर ने OTP भेजने से इनकार कर दिया (`Blocked` भेजना)। केवल `DECLINE` या `REVIEW` स्वीकार करता है, और डिफ़ॉल्ट रूप से `DECLINE` होता है। |

यह सेटिंग **केवल तब लागू होती है जब चरण पर प्रत्येक उच्च-जोखिम ब्लॉक ठीक `["device_attribute"]` का `additional_data.risk_factors` रखता है** — प्रदाता का "यह डिवाइस संदिग्ध दिखता है" संकेत, जो साधारण मोबाइल लाइनों पर ट्रिगर होता है। कोई अन्य जोखिम कारक, कोई भी मिश्रण जिसमें केवल `device_attribute` शामिल हो, या बिना किसी जोखिम कारक वाला ब्लॉक सेटिंग की परवाह किए बिना अस्वीकृत हो जाता है। ब्लॉक करने का कारण (`repeated_attempts`, `suspicious`, या `spam`) एक अलग फ़ील्ड है, जो `additional_data.blocked_reason` में लौटाया जाता है।

सेटिंग से स्वतंत्र, [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) के माध्यम से बनाई गई फ़ोन अनुमति सूची में मौजूद नंबर को ब्लॉक किए गए प्रेषण के लिए कभी भी स्वतः-अस्वीकृत नहीं किया जाता है: चरण **समीक्षाधीन** पर चला जाता है, चेतावनी में `log_type: "warning"` होता है, और `additional_data.phone_number_in_allowlist` का मान `true` होता है।

## सत्यापन प्रयास सीमाएँ

दुरुपयोग को रोकने के लिए फ़ोन सत्यापन सुविधा OTP प्रयासों पर एक कठोर सीमा लागू करती है:

* **कोड-दर्ज करने के प्रयास** — चरण `Declined` के रूप में `VERIFICATION_CODE_ATTEMPTS_EXCEEDED` के साथ अंतिम रूप लेने से पहले डिफ़ॉल्ट रूप से **2** गलत सबमिशन (`phone_max_check_attempts`) की अनुमति है। स्टैंडअलोन फोन API प्रति सत्यापन **3** कोड प्रयासों की अनुमति देता है।
* **भेजने के प्रयास** — कुल मिलाकर डिफ़ॉल्ट रूप से **2** बार भेजना (`phone_max_retries`): प्रारंभिक भेजना और एक बार पुनः भेजना। इसके बाद भेजने का कोई अन्य अनुरोध चरण को अंतिम रूप दे देता है और `VERIFICATION_CODE_ATTEMPTS_EXCEEDED` ट्रिगर करता है।
* **OTP वैधता** — एक लंबित OTP **पहले भेजे जाने के समय से 5 मिनट** के लिए वैध होता है; पुनः प्रयास करने से यह समय-सीमा नहीं बढ़ती है।

दोनों सीमाएं प्रति वर्कफ़्लो नोड ट्यून करने योग्य हैं। इन सीमाओं से स्वतंत्र, डिलीवरी प्रदाता की धोखाधड़ी-रोधी परत भेजने के अनुरोध को सीधे ब्लॉक कर सकती है (कारण `repeated_attempts`, `suspicious`, या `spam`) — यह `HIGH_RISK_PHONE_NUMBER` ट्रिगर करता है, न कि प्रयासों की चेतावनी।

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

| टैग | `log_type` | विवरण |
| - | - | - |
| `VERIFICATION_CODE_ATTEMPTS_EXCEEDED` | `error` (हमेशा) | उपयोगकर्ता ने OTP कोड दर्ज करने या भेजने की सीमा पार कर ली है। स्वचालित रूप से अस्वीकृत हो जाता है। |
| `HIGH_RISK_PHONE_NUMBER` | `high_risk_phone_action` का पालन करता है, या अनुमत सूची में होने पर `warning` | डिलीवरी प्रदाता ने OTP भेजना ब्लॉक कर दिया। डिफ़ॉल्ट रूप से अस्वीकृत होता है; केवल डिवाइस-सिग्नल वाले ब्लॉक को इसके बजाय समीक्षाधीन में रूट करने के लिए `high_risk_phone_action` को `REVIEW` पर सेट करें ([ब्लॉक किए गए OTP भेजना](#ब्लॉक-किए-गए-प्रेषण) देखें)। फ़ोन अनुमत सूची में मौजूद नंबर भी समीक्षाधीन में जाता है। `additional_data`: `{ blocked_reason, risk_factors, phone_number_in_allowlist? }`। |
| `PHONE_NUMBER_IN_BLOCKLIST` | `error` (हमेशा) | नंबर [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) के माध्यम से बनाई गई ब्लॉकलिस्ट में है, या ब्लॉकलिस्ट किए गए सत्र से मेल खाता है। स्वचालित रूप से अस्वीकृत हो जाता है। `additional_data`: `{ blocklisted_session_id, blocklisted_session_number, api_service }` (विशुद्ध सूची मिलान के लिए सभी `null`)। |
| `PHONE_NUMBER_IN_ALLOWLIST` | `information` | नंबर अन्य सत्रों से मेल खाता है लेकिन [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) के माध्यम से बनाई गई अनुमत सूची में है, इसलिए डुप्लिकेट-फ़ोन कार्रवाइयों को छोड़ दिया जाता है। `additional_data`: `{ phone_number }`। |
| `DISPOSABLE_NUMBER_DETECTED` | `disposable_number_action` का पालन करता है | नंबर एक अस्थायी / बर्नर प्रदाता का है जिसका उपयोग अक्सर ट्रेसबिलिटी से बचने के लिए किया जाता है। |
| `VOIP_NUMBER_DETECTED` | `voip_number_action` का पालन करता है | नंबर एक मानक मोबाइल या फिक्स्ड लाइन के बजाय `voip`, `isp`, या `vpn` लाइन से संबंधित है। |
| `DUPLICATED_PHONE_NUMBER` | `duplicated_phone_number_action` का पालन करता है | नंबर किसी अन्य अंतिम उपयोगकर्ता (`vendor_data` द्वारा समूहीकृत) के किसी अन्य सत्र — किसी भी स्थिति के — से मेल खाता है। `additional_data`: `{ duplicated_session_id, duplicated_session_number, api_service }`। |

## सत्रों के बीच मिलान

जब कोई नंबर अन्य सत्रों में या आपकी ब्लॉकलिस्ट में पाया जाता है, तो वे मिलान `phone_verifications[].matches[]` के अंतर्गत भी दिखाई देते हैं (अधिकतम 5 प्रविष्टियाँ)। प्रत्येक मिलान में `session_id`, `session_number`, `vendor_data`, `verification_date`, `phone_number`, `status`, `is_blocklisted`, `api_service`, और `session` (उसी नंबर वाला कोई अन्य सत्र, कोई भी स्थिति) या `list_entry` (सरणी से पहले जोड़ी गई एक सिंथेटिक ब्लॉकलिस्ट हिट) का `source` शामिल होता है। यदि वर्तमान नंबर आपकी फ़ोन अनुमत सूची में है, तो Didit मिलान साक्ष्य रखता है लेकिन डुप्लिकेट-फ़ोन कार्रवाई लागू करने के बजाय `PHONE_NUMBER_IN_ALLOWLIST` उत्सर्जित करता है। पूर्ण मिलान स्कीमा के लिए [फ़ोन सत्यापन रिपोर्ट](https://docs.didit.me/hi/core-technology/phone-verification/report-phone-verification.md#क्रॉस-सत्र-मिलान) देखें।

## उदाहरण

VoIP नंबर पर एक ब्लॉक किया गया OTP भेजना (`HIGH_RISK_PHONE_NUMBER`), जिसमें `voip_number_action` को `REVIEW` पर कॉन्फ़िगर किया गया है:

```json theme={null}
{
  "warnings": [
    {
      "feature": "PHONE",
      "risk": "HIGH_RISK_PHONE_NUMBER",
      "additional_data": { "blocked_reason": "suspicious" },
      "log_type": "error",
      "short_description": "High risk phone number",
      "long_description": "The system detected that the phone number is a high risk phone number, which is not allowed.",
      "node_id": "feature_phone_1"
    },
    {
      "feature": "PHONE",
      "risk": "VOIP_NUMBER_DETECTED",
      "additional_data": null,
      "log_type": "warning",
      "short_description": "VoIP number detected",
      "long_description": "The system detected that the phone number is a VoIP number, which is not allowed.",
      "node_id": "feature_phone_1"
    }
  ]
}
```

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

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

## संबंधित

* [फ़ोन सत्यापन ओवरव्यू](https://docs.didit.me/hi/core-technology/phone-verification/overview.md) — सुविधा का व्यवहार, मूल्य निर्धारण, समर्थित चैनल।
* [फ़ोन सत्यापन रिपोर्ट](https://docs.didit.me/hi/core-technology/phone-verification/report-phone-verification.md) — `lifecycle[]` और `matches[]` सहित पूरा रिस्पॉन्स स्ट्रक्चर।
* [डेटा मॉडल — फ़ोन सत्यापन](https://docs.didit.me/hi/reference/data-models.md#फ़ोन-सत्यापन) — प्रामाणिक फ़ील्ड-दर-फ़ील्ड स्कीमा।
* [प्रबंधन API — सूचियाँ](https://docs.didit.me/hi/management-api/lists/overview.md) — `PHONE_NUMBER_IN_BLOCKLIST` द्वारा उपयोग की जाने वाली फ़ोन ब्लॉकलिस्ट प्रबंधित करें।


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