मुख्य सामग्री पर जाएं
हर वह लेन-देन जो Didit को भेजा जाता है, आपके एप्लिकेशन के सभी सक्रिय नियमों से जाँचा जाता है। नियम शर्तें, वेग जाँच और कार्रवाइयां तय करते हैं, जो लेन-देन की अंतिम स्थिति और स्कोर निर्धारित करती हैं। Didit Academy के धोखाधड़ी नियम इंजन पाठ का यह अध्याय नियम बनाने वाले चरण से आगे बढ़ता है। Didit Academy के रूल-इंजन पाठ में 7:54 पर वीडियो में एक नियम बनाना दिखाया गया है: ट्रिगर, शर्तें, कार्रवाइयां और स्कोरिंग, और फिर डिप्लॉय से पहले बैकटेस्टिंग।
नियमों को बिजनेस कंसोल, Management API और Didit MCP से प्रबंधित किया जा सकता है। जब आपकी अनुपालन टीम का कोई व्यक्ति हर बदलाव की समीक्षा करना चाहे, तो कंसोल का उपयोग करें। जब नियम प्रोग्रामेटिक रूप से बनाए और ट्यून किए जाएं, जैसे किसी दूसरे प्रदाता से नियम सेट माइग्रेट करते समय, तब API या MCP का उपयोग करें। देखें API संदर्भ और API और MCP के जरिए नियम प्रबंधित करने की गाइड। नियमों का मूल्यांकन POST /v3/transactions/ पर भेजे गए हर लेन-देन पर होता है, और परिणाम लेन-देन के rule_runs[] सरणी में दिखता है (देखें रिस्पॉन्स स्कीमा)।

अंतर्निहित नियम बंडल

Didit एक पूर्व-कॉन्फ़िगर्ड नियम लाइब्रेरी उपलब्ध कराता है, जो आम नियामक टाइपोलॉजी को कवर करती है। नियम लाइब्रेरी से वे प्रीसेट (या पूरे बंडल) इंस्टॉल करें जो आपको चाहिए, चाहे install API से, बिजनेस कंसोल में, या MCP टूल्स से, और इंस्टॉल किए गए हर प्रीसेट का मोड नियंत्रित करें। थ्रेशोल्ड और कार्रवाइयों के साथ हर प्रीसेट नियम की पूरी सूची के लिए देखें नियम लाइब्रेरी।

नियमों के स्रोत

हर नियम का एक source होता है, जो बताता है कि उसे कौन प्रबंधित करता है:

नियम की संरचना

हर नियम में ये घटक होते हैं:

कार्रवाइयाँ

जब कोई नियम किसी लेन-देन से मेल खाता है, तो एक या अधिक कार्रवाइयाँ निष्पादित होती हैं। हर नियम में कई कार्रवाइयाँ हो सकती हैं, और वे सभी एक साथ लागू होती हैं: अधिकांश पूर्व-निर्धारित नियम स्कोर जोड़ें को स्थिति बदलें के साथ जोड़ते हैं; उदाहरण के लिए, प्रतिबंध प्रतिपक्ष नियम स्कोर में 90 अंक जोड़ता है और लेन-देन को तुरंत अस्वीकार कर देता है।

उपयोगकर्ता सत्यापन की आवश्यकता (AWAITING_USER)

स्थिति बदलें → AWAITING_USER कार्रवाई केवल स्थिति सेट करने से अधिक करती है: नियम के सक्रिय होते ही Didit लेन-देन के विषय (वही vendor_data) के लिए एक होस्टेड सत्यापन सत्र स्वतः बना देता है। सत्र लेन-देन के action_required ब्लॉक (और remediation ऑब्जेक्ट) में बनाने के रिस्पॉन्स और उसके बाद के हर रीड में, तथा दोनों लेन-देन webhook में लौटता है; इसलिए आप उपयोगकर्ता को तुरंत रीडायरेक्ट कर सकते हैं। देखें आवश्यक उपयोगकर्ता कार्रवाइयाँ। कस्टम नियमों को कार्रवाई पर ही वर्कफ़्लो का नाम देना होगा (workflow_id); कंसोल नियम बिल्डर और नियम API, दोनों इसकी माँग करते हैं। अंतर्निहित लाइब्रेरी नियमों में कोई वर्कफ़्लो नहीं होता; इनके लिए सत्र का वर्कफ़्लो इस क्रम में तय होता है:
  1. आपकी लेन-देन सेटिंग्स में कॉन्फ़िगर किया गया सुधार वर्कफ़्लो।
  2. आपके एप्लिकेशन का बायोमेट्रिक प्रमाणीकरण वर्कफ़्लो, जब विषय के पास किसी स्वीकृत सत्यापन से सहेजा गया संदर्भ चेहरा पहले से हो।
  3. आपके एप्लिकेशन का डिफ़ॉल्ट वर्कफ़्लो।
इसका अर्थ है कि AWAITING_USER लाइब्रेरी नियम हमेशा तुरंत कार्रवाई योग्य सत्र बनाते हैं: जिन उपयोगकर्ताओं को आप पहले सत्यापित कर चुके हैं उनके लिए बायोमेट्रिक स्टेप-अप, अन्यथा पूर्ण सत्यापन। Travel Rule लेन-देन इस स्वचालित विकल्प से बाहर हैं: उनका AWAITING_USER इंतज़ार वॉलेट स्वामित्व के प्रमाण के लिए होता है, जिसका अपना अलग प्रवाह है। उच्च जोखिम वाले लेन-देन के लिए सबसे मज़बूत विकल्प बायोमेट्रिक प्रमाणीकरण वर्कफ़्लो है: क्योंकि विषय वही उपयोगकर्ता है जिसका आपने KYC किया है, Didit उनके ऑनबोर्डिंग के सत्यापित संदर्भ चेहरे का पुनः उपयोग करता है (स्वीकृत लाइवनेस सेल्फ़ी, पासपोर्ट चिप फ़ोटो या दस्तावेज़ का पोर्ट्रेट); उपयोगकर्ता बस एक लाइव सेल्फ़ी लेता है, और Didit उस पहचान के साथ, जिसका उपयोग खाता खोलने के लिए किया गया था, लाइवनेस के साथ 1:1 चेहरा मिलान करता है। चुराए गए क्रेडेंशियल, फ़िशिंग से मिले OTP और SIM स्वैप, इस गेट पर सभी विफल हो जाते हैं। पूरा चरण-दर-चरण मार्गदर्शन: उच्च मूल्य वाली निकासी के लिए स्टेप-अप बायोमेट्रिक्स। जब सत्र किसी निर्णय पर पहुँचता है, तो लेन-देन स्वतः उसी का अनुसरण करता है और transaction.status.updated webhook फ़ायर होता है: स्वीकृत सत्र लेन-देन को स्वीकृत करता है (decision_reason_code: user_action_approved), अस्वीकृत सत्र उसे अस्वीकृत करता है (user_action_declined), और समीक्षा पर समाप्त होने वाला सत्र लेन-देन को IN_REVIEW में भेजता है (user_action_in_review)। समय-सीमा समाप्त या छोड़ा गया सत्र लेन-देन को AWAITING_USER में रखता है।
KYB को छोड़कर कोई भी वर्कफ़्लो प्रकार सुधार कार्रवाई के रूप में उपयोग किया जा सकता है। बायोमेट्रिक प्रमाणीकरण वर्कफ़्लो (और वे वर्कफ़्लो जहाँ पहचान सत्यापन से पहले चेहरा मिलान चलता है) के लिए विषय का सहेजा गया संदर्भ चेहरा भी आवश्यक है: स्वीकृत लाइवनेस सेल्फ़ी, पासपोर्ट चिप फ़ोटो, दस्तावेज़ का पोर्ट्रेट, या मैन्युअल रूप से दर्ज किया गया प्रोफ़ाइल चेहरा। यदि ऐसा कोई चेहरा मौजूद नहीं है, तो उपयोगकर्ता से इसके बजाय आपके एप्लिकेशन का डिफ़ॉल्ट वर्कफ़्लो पूरा करने के लिए कहा जाता है, जो अगली बार के लिए उनका चेहरा भी दर्ज करता है, और लेन-देन पर एक नोट इस प्रतिस्थापन को दर्ज करता है। केवल तब सत्र छोड़ा जाता है जब कोई उपयुक्त डिफ़ॉल्ट वर्कफ़्लो भी मौजूद न हो, और नोट इसका कारण बताता है।

स्कोरिंग

जब कोई लेन-देन एक या अधिक नियमों से मेल खाता है, तो स्कोर जोड़े जाते हैं:
  1. हर नियम का मिलान add_score कार्रवाई के माध्यम से लेन-देन के समग्र जोखिम स्कोर में योगदान देता है
  2. अंतिम स्कोर आपके एप्लिकेशन के स्कोर थ्रेशोल्ड के आधार पर लेन-देन की स्थिति तय करता है
  3. यदि किसी नियम में change_status कार्रवाई है, तो वह स्थिति सीधे लागू होती है; DECLINED को हमेशा प्राथमिकता मिलती है
डिफ़ॉल्ट स्कोर थ्रेशोल्ड (कंसोल में कॉन्फ़िगर करने योग्य):

कस्टम नियम बनाना

कस्टम नियम बिजनेस कंसोल से बनाए जा सकते हैं, या Management API के ज़रिए भी (Didit MCP और किसी भी MCP-कनेक्टेड AI असिस्टेंट से).
  1. कंसोल में लेनदेन > नियम पर जाएँ
  2. Create Rule पर क्लिक करें
  3. नियम का शीर्षक, विवरण और श्रेणी तय करें
  4. mode सेट करें - लाइव चलाने के लिए Active, या लेनदेन पर असर डाले बिना मूल्यांकन के लिए Test
  5. evaluation mode चुनें - All (हर शर्त का मेल होना ज़रूरी है) या Any (कम से कम एक शर्त का मेल)
  6. scope सेट करें - यानी कौन-से लेनदेन प्रकार या दिशाएँ इस नियम पर लागू होंगी
  7. conditions जोड़ें - फ़ील्ड की तुलनाएँ, जैसे राशि की सीमाएँ, देश कोड, कस्टम प्रॉपर्टी की जाँच
  8. चाहें तो aggregation जोड़ें - किसी समय विंडो पर वेलोसिटी जाँच (count, sum, distinct count और अन्य)
  9. एक या अधिक कार्रवाइयाँ तय करें - स्कोर जोड़ना, स्थिति बदलना, टैग जोड़ना, नोट जोड़ना, सूची में जोड़ना, या केस खोलना
  10. नियम सेव करें और उसे सक्षम करें
Active मोड वाले नियम सभी नए लेनदेन पर तुरंत लागू हो जाते हैं। शीर्षक हर एप्लिकेशन में अद्वितीय होने चाहिए।

बैकटेस्टिंग

नियम सक्रिय करने से पहले, आप उसे ऐतिहासिक डेटा पर परख सकते हैं:
  • किसी नियम को टेस्ट मोड में रखें - नियम हर नए लेनदेन पर मूल्यांकित होता है, लेकिन नतीजे लेनदेन की स्थिति या स्कोर पर असर नहीं डालते। निष्पादन के आँकड़े (मेल खाने की संख्या, प्रभावित इकाइयाँ) जमा होते रहते हैं, ताकि लाइव जाने से पहले आप असर का आकलन कर सकें।
  • backtest फ़ीचर का उपयोग करें - कंसोल में, या POST /v3/transactions/rules/backtest/ के ज़रिए - ताकि किसी तय समय अवधि के लेनदेन पर नियम की शर्तों और एग्रीगेशन का पिछली तारीख से मूल्यांकन हो सके। बैकटेस्ट मूल्यांकित, मेल खाने वाले लेनदेन की संख्या और प्रभावित इकाइयाँ लौटाता है, और किसी भी ऐतिहासिक डेटा को नहीं बदलता। जिस नियम को आप सक्रिय करना चाहते हैं, उसी के conditions, aggregation, evaluation_mode और scope भेजें: छूटा हुआ scope कोई प्रतिबंध न होने का मतलब रखता है, इसलिए बैकटेस्ट उन लेनदेन की भी गिनती करेगा जिन्हें सहेजा गया नियम छोड़ देता है।

वेलोसिटी विंडो (एग्रीगेशन)

वेलोसिटी नियम किसी समय अवधि में ऐतिहासिक लेनदेन डेटा को एग्रीगेट करते हैं, ताकि ऐसे पैटर्न पकड़े जा सकें जो अकेले लेनदेन की जाँच में छूट जाते। हर aggregation में ये तय होते हैं:
  • समय विंडो: <N>m (मिनट), <N>h (घंटे), या <N>d (दिन) - जैसे 30m, 6h, 7d, 30d। ध्यान दें: m का अर्थ मिनट है, महीने नहीं।
  • फ़िल्टर, जिनसे तय होता है कि कौन-से ऐतिहासिक लेनदेन शामिल हों। कुंजियाँ फ़ील्ड कैटलॉग से फ़ील्ड पथ होते हैं; विशेष मान "__current__" मूल्यांकित किए जा रहे लेनदेन में उसी फ़ील्ड के मान में बदल जाता है (जैसे "subject_vendor_data": "__current__" विंडो को उसी इकाई तक सीमित करता है), और सूची वाला मान सदस्यता का अर्थ देता है। फ़िल्टर केवल बराबरी या सदस्यता से तुलना करते हैं - कोई lt/gte फ़िल्टर नहीं है, इसलिए 10,000 से कम के लेनदेन जैसी सीमा फ़िल्टर से व्यक्त नहीं की जा सकती। ऐसी सीमा मीट्रिक पर लगाएँ (max 10,000 से कम, min 1,000 से ऊपर), और याद रखें कि शर्त हमेशा मूल्यांकित हो रहे लेनदेन को सीमित करती है, विंडो को नहीं।
  • एक ऑपरेटर और थ्रेशोल्ड (eq, ne, gt, gte, lt, lte, जो value से तुलना करते हैं, जैसे count >= 20)

उदाहरण पैटर्न

फ़ील्ड कैटलॉग

शर्तें और एग्रीगेशन फ़िल्टर पथ के ज़रिए लेन-देन के फ़ील्ड का संदर्भ देते हैं:

शर्त ऑपरेटर

नियम शर्तों के लिए नीचे दिए गए तुलना ऑपरेटरों को सपोर्ट करते हैं: अन्य सभी ऑपरेटरों के लिए एक गैर-खाली value आवश्यक है, और उसके बिना API 400 लौटाता है। contains, not_contains और regex एक एकल स्ट्रिंग लेते हैं, सूची या ऑब्जेक्ट नहीं; contains_any स्ट्रिंग्स की सूची लेता है।

शर्त मान के प्रकार

शर्त पर वैकल्पिक value_type यह बदलता है कि value की व्याख्या कैसे हो:

समूहीकृत शर्तें

सादी शर्त सूची नियम के evaluation_mode (ALL/ANY) के अनुसार जुड़ती है। मिश्रित तर्क के लिए शर्तों को group_index दें: एक ही इंडेक्स वाली शर्तें एक समूह बनाती हैं। group_logic (AND/OR, डिफ़ॉल्ट AND) समूह के भीतर की शर्तों को जोड़ता है, और पहली शर्त पर groups_logic (AND/OR, डिफ़ॉल्ट OR) समूह परिणामों को जोड़ता है। जब कोई शर्त group_index रखती है, तो समूहीकृत मूल्यांकन evaluation_mode की जगह ले लेता है।

कस्टम गुणों का संदर्भ

POST /v3/transactions/ के custom_properties ऑब्जेक्ट में भेजी गई हर कुंजी लेन-देन पर custom_values के रूप में सहेजी जाती है। उसे फ़ील्ड पथ custom_values.<key> से शर्तों में इस्तेमाल किया जा सकता है। उदाहरण के लिए, "custom_properties": {"channel": "mobile_app"} के साथ भेजा गया लेन-देन शर्त custom_values.channel eq "mobile_app" से मेल खाता है। ऊपर के सभी ऑपरेटर कस्टम गुणों के साथ काम करते हैं, और उन्हें अन्य फ़ील्ड से तुलना करने या वेलोसिटी फ़िल्टर में भी इस्तेमाल किया जा सकता है। Console के नियम बिल्डर में, हाल ही में इनजेस्ट किए गए लेन-देन पर दिखी कुंजियाँ शर्त फ़ील्ड चयनकर्ता में कस्टम गुण के अंतर्गत अपने आप दिखती हैं। आप किसी कुंजी का संदर्भ उससे पहले भी दे सकते हैं जब कोई लेन-देन उसे नहीं रखता: उसी समूह में कस्टम प्रॉपर्टी दर्ज करें चुनें और कुंजी को ठीक वैसे लिखें जैसे आपका इंटीग्रेशन उसे भेजता है (कुंजियाँ केस-सेंसिटिव होती हैं)। जब तक उस कुंजी वाले लेन-देन नहीं आते, नियम का मूल्यांकन बस मेल न खाने वाले के रूप में होता है।

स्वचालित ब्लॉकलिस्ट अस्वीकृति

किसी भी नियम के मूल्यांकन से पहले, Didit आपके एप्लिकेशन की ब्लॉकलिस्ट के विरुद्ध लेन-देन की इकाइयों की जाँच करता है। यदि कोई भी मेल मिलता है, तो लेन-देन तुरंत अस्वीकृत कर दिया जाता है और नियमों का मूल्यांकन नहीं होता। निम्नलिखित इकाइयों की जाँच होती है: जब ब्लॉकलिस्ट से मिलान होता है:
  • लेन-देन की स्थिति DECLINED पर सेट होती है
  • निर्णय का कारण blocklisted पर सेट होता है
  • ऑडिट ट्रैकिंग के लिए एक गतिविधि रिकॉर्ड बनता है
ब्लॉकलिस्ट जाँच नियम मूल्यांकन से पहले चलती है। ब्लॉकलिस्ट में मौजूद इकाई नियम कॉन्फ़िगरेशन या स्कोर थ्रेशोल्ड की परवाह किए बिना हमेशा अस्वीकृत होगी।

लेन-देन स्क्रीनिंग

Didit लेन-देन को जोखिम जानकारी से समृद्ध करने के लिए बाहरी AML और ब्लॉकचेन विश्लेषण प्रदाताओं के साथ एकीकृत होता है। जब कोई लेन-देन सबमिट होता है, तो सिस्टम यह कर सकता है:
  • प्रतिपक्ष की जाँच करें वैश्विक प्रतिबंध और वॉचलिस्ट डेटाबेस के विरुद्ध
  • वॉलेट पते का मूल्यांकन करें (क्रिप्टो लेन-देन के लिए) ब्लॉकचेन इंटेलिजेंस डेटा के विरुद्ध, जिसमें मिक्सर एक्सपोज़र, प्रतिबंधित इकाइयों से संबंध और उच्च-जोखिम सेवा इंटरैक्शन शामिल हैं
  • आवेदक की AML स्थिति जाँचें, इसके लिए लेन-देन से जुड़े उपयोगकर्ता की नवीनतम AML स्क्रीनिंग के परिणामों से उसकी स्थिति की तुलना करें
स्क्रीनिंग परिणाम लेन-देन से जुड़ते हैं और नियम इंजन के स्कोरिंग में शामिल होते हैं। यदि कोई प्रतिपक्ष या वॉलेट प्रतिबंध सूची से मेल खाता है, तो संबंधित नियम लेन-देन को अपने आप फ़्लैग या अस्वीकृत कर देता है।

अगले चरण

लेन-देन सबमिट करना

नियम मूल्यांकन के लिए लेन-देन की संरचना कैसी होती है।

क्रिप्टो स्क्रीनिंग

क्रिप्टो स्क्रीनिंग के परिणाम और प्रीसेट नियम उनका उपयोग कैसे करते हैं।

सेटिंग्स

स्कोर थ्रेशोल्ड और सुधारात्मक वर्कफ़्लो कॉन्फ़िगर करें।

API संदर्भ

Create Transaction API endpoint.
अंतिम संशोधन 7 नवंबर 2026