मुख्य सामग्री पर जाएं
POST
curl
इवेंट इनजेशन ऑप्ट-इन है। इवेंट भेजने से पहले Transactions > Settings > Event monitoring में इसे चालू करें; तब तक यह endpoint "code": "event_monitoring_disabled" के साथ 403 लौटाता है।
इवेंट इनजेशन में एनवेलप, दस श्रेणियाँ, आवश्यक payload कुंजियाँ और रिटेंशन क्लास शामिल हैं। इवेंट पर नियम बताता है कि कौन से नियम अनुरोध के दौरान चलते हैं और कौन से असिंक्रोनस रूप से। अपने बैकएंड के बजाय ब्राउज़र या ऐप से इवेंट भेजने के लिए SDK इवेंट सबमिशन का उपयोग करें।

प्राधिकरण

x-api-key
string
header
आवश्यक

आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी, कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं। देखें https://docs.didit.me/console/api-keys।

बॉडी

application/json

इवेंट एनवेलप, प्रत्येक श्रेणी के लिए समान। camelCase उपनाम स्वीकार किए जाते हैं: eventId, eventCategory (या category), actionType, occurredAt, timeZone (या zoneId), deviceContext (या device), transactionContext, customValues (या props); subject के अंदर: vendorData, entityType, fullName; session के अंदर: sessionId, pageUrl; transaction_context के अंदर: paymentReferenceId।

event_id
string
आवश्यक

इवेंट के लिए आपका पहचानकर्ता, प्रति एप्लिकेशन अद्वितीय। यह आइडेम्पोटेंसी कुंजी है: इसके तहत समान event_category, action_type, occurred_at, subject.vendor_data और payload को फिर से भेजना एक रीप्ले है, कुछ भी भिन्न होना एक विरोधाभास (conflict) है।

Maximum string length: 128
उदाहरण:

"login-2026-10-17-000001"

event_category
enum<string>
आवश्यक

इवेंट श्रेणी।

उपलब्ध विकल्प:
auth,
session,
gameplay,
bonus,
affiliate,
payment,
dispute,
security,
responsible_gambling,
custom
उदाहरण:

"auth"

action_type
string
आवश्यक

श्रेणी के भीतर क्या हुआ। ओपन वोकैब्युलरी; Event ingestion में सूचीबद्ध प्रबंधित कार्रवाइयां (उदाहरण के लिए login, deposit_completed, chargeback_opened) टाइप्ड सत्यापन और प्रबंधित नियम फ़ील्ड अनलॉक करती हैं। शुरुआत और अंत के व्हाइटस्पेस को ट्रिम कर दिया जाता है।

Required string length: 1 - 128
उदाहरण:

"login"

occurred_at
string<date-time>
आवश्यक

जब इवेंट आपकी ओर से हुआ था, ISO 8601 (ऑफ़सेट के बिना किसी मान को UTC माना जाता है)। अतीत में 7 दिनों से अधिक और भविष्य में 5 मिनट से अधिक नहीं होना चाहिए।

उदाहरण:

"2026-10-17T09:15:02.481Z"

subject
object
आवश्यक

वह उपयोगकर्ता या कंपनी जिससे यह इवेंट संबंधित है। यह आपके एप्लिकेशन में इस vendor_data वाले उपयोगकर्ता (या कंपनी) से मेल खाता है; यदि कोई मौजूद नहीं है तो एक बनाया जाता है।

time_zone
string | null

आपकी ओर से घटना का टाइम ज़ोन, उदाहरण के लिए Europe/Madrid। इवेंट के साथ संग्रहीत किया जाता है; रीड endpoint द्वारा वापस नहीं किया जाता।

Maximum string length: 64
business
object

वह व्यवसाय जिससे इवेंट संबंधित है, जब यह विषय से भिन्न होता है। केवल vendor_data पढ़ा जाता है।

session
object

इवेंट के लिए आपका सत्र संदर्भ।

device_context
object

डिवाइस और नेटवर्क संदर्भ, जैसा भेजा गया था वैसे ही संग्रहीत और GET /v3/events/{event_uuid}/ द्वारा लौटाया गया। इस सर्वर लेन पर Didit अंतिम उपयोगकर्ता का कनेक्शन नहीं देखता है, इसलिए नियमों द्वारा संवर्धित और उपयोग किया जाने वाला IP आपके द्वारा भेजा गया network_context.ip_address है।

transaction_context
object

धन संबंधी संदर्भ। यहाँ गैर-रिक्त मान कार्रवाई की आवश्यक payload कुंजियों को भी संतुष्ट करते हैं।

payload
object

श्रेणी के डोमेन फ़ील्ड, JSON-एन्कोड होने के बाद अधिकतम 16384 बाइट्स। कुछ कार्रवाइयों के लिए कुंजियों की आवश्यकता होती है (payload या transaction_context में): gameplay.p2p_settlement के लिए game_id, counterparty_vendor_data, stake_amount, net_result_amount, role और hand_id, round_id, match_id में से एक आवश्यक है; gameplay.bet_placed और gameplay.bet_settled के लिए game_id आवश्यक है; payment.deposit_initiated, payment.deposit_completed, payment.withdrawal_requested और payment.withdrawal_completed के लिए payment_reference_id, amount, currency, payment_method, status आवश्यक हैं; payment.withdrawal_address_changed के लिए withdrawal_address_hash आवश्यक है; dispute.chargeback_opened, dispute.chargeback_won और dispute.chargeback_lost के लिए payment_reference_id और dispute_id, chargeback_id में से एक आवश्यक है; session.bot_signal_observed के लिए telemetry_schema_version और bot_score, actions_per_minute, timing_variance_ms, pointer_entropy, keystroke_entropy, reaction_time_ms_p50 में से एक आवश्यक है; responsible_gambling.self_exclusion_match के लिए registry_source, exclusion_status, identity_match_ref आवश्यक हैं। _changed पर समाप्त होने वाली प्रत्येक security कार्रवाई के लिए changed_field, साथ ही previous_reference_hash या new_reference_hash आवश्यक है जब फ़ील्ड password, mfa_method, mfa, email, phone, withdrawal_address, payout_method या api_key हो। हैश और संदर्भ भेजें, कभी भी कार्ड नंबर, पूर्ण निकासी पता, पासवर्ड हैश या MFA सीक्रेट न भेजें।

custom_values
object

आपकी अपनी अधिकतम 100 कुंजियाँ, जिन्हें नियमों से custom_values.<key> के रूप में संदर्भित किया जा सकता है। मान अदिश (string, number, boolean या null) होने चाहिए; नेस्टेड ऑब्जेक्ट और ऐरे अस्वीकार कर दिए जाते हैं।

प्रतिक्रिया

आइडेम्पोटेंट रीप्ले: इस event_id और समान सामग्री वाला एक इवेंट पहले से संग्रहीत है। कुछ भी दोबारा संग्रहीत या मूल्यांकित नहीं किया गया था; बॉडी संग्रहीत इवेंट का विवरण देती है।

एक इवेंट को इनजेस्ट करने का परिणाम। नए इवेंट और आइडेम्पोटेंट रीप्ले दोनों के लिए समान संरचना लौटाई जाती है।

event_uuid
string<uuid>
आवश्यक

संग्रहीत इवेंट का Didit पहचानकर्ता।

event_id
string
आवश्यक

आपकी event_id।

status
enum<string>
आवश्यक

रीयल-टाइम नियम चलने के बाद की स्थिति। MonitoringEvent.status देखें।

उपलब्ध विकल्प:
ACCEPTED,
APPROVED,
IN_REVIEW,
DECLINED
score
integer
आवश्यक

रीयल-टाइम नियम चलने के बाद का स्कोर।

rules_evaluated_count
integer
आवश्यक

अनुरोध में मूल्यांकित इवेंट नियमों की संख्या। सैंडबॉक्स एप्लिकेशन में 0, जहाँ कोई नियम नहीं चलता।

आवश्यक सीमा: x >= 0
rules_matched_count
integer
आवश्यक

मेल खाने वाले नियमों की संख्या, जिसमें TEST मोड के नियम शामिल हैं।

आवश्यक सीमा: x >= 0
correlation_pending
boolean
आवश्यक

true जब किसी एसिंक्रोनस नियम को अभी चलना बाकी हो। अंतिम status और score के लिए कुछ मिनट बाद GET /v3/events/{event_uuid}/ पढ़ें।

retention_class
enum<string>
आवश्यक

रिटेंशन क्लास, मेल खाने वाले नियम द्वारा किसी भी प्रमोशन के बाद।

उपलब्ध विकल्प:
low_value,
standard,
risk_relevant,
monetary_or_compliance
expires_at
string<date-time> | null
आवश्यक

जब इवेंट अपनी प्रतिधारण श्रेणी के तहत समाप्त हो जाता है और हटा दिया जाता है। monetary_or_compliance (भुगतान और विवाद) इवेंट के लिए Null।

idempotent_replay
boolean
आवश्यक

true जब इस event_id और समान सामग्री वाला कोई इवेंट पहले से संग्रहीत था; मान संग्रहीत इवेंट के हैं और कोई नियम दोबारा नहीं चला।

rule_matches
object[]
आवश्यक

वे नियम जो इवेंट से मेल खाते हैं।

अंतिम संशोधन 7 नवंबर 2026