स्वचालित घटनाएँ और पुरस्कार - नियम और वेबहूक
गेमिफिकेशन दो "मोटर्स" पर आधारित है: घटनाएं (उपयोगकर्ता ने क्या किया) और नियम (इसके लिए क्या होना चाहिए)। इसके लिए बड़े पैमाने पर और त्रुटियों के बिना काम करने के लिए, आपको एक विश्वसनीय घटना बस, एक नियम इंजन, एक डिलीवरी/पुरस्कार तंत्र और धोखाधड़ी के खिलाफ सख्त सुरक्षा की आवश्यकता होती है। नीचे व्यावहारिक वास्तुकला, टेम्पलेट और चेकलिस्ट हैं।
1) घटना नियम - इनाम प्रवाह वास्तुकला
1. Ingest (ईवेंट इनपुट): SDK/वेब, सर्वर वेबहुक भुगतान/गेम प्रदाता → API गेटवे → कतार/बस (काफ्का/खरगोश/क्लाउड पब/सब) से।
2. नॉर्मलाइज़र: सत्यापन, संवर्धन (भू, उपकरण, payer_flag), योजना संस्करण।
3. नियम इंजन: स्कोरिंग/एक्सपी, मिशन/quests की जाँच, इनाम/सूचना ट्रिगर।
4. इनाम ऑर्केस्ट्रेटर: पुरस्कारों की गणना, बजट जांच, आरजी/केवाईसी गेट्स, एक "जारी कार्य", लॉगिंग बनाना।
5. भुगतान/बोनस सेवा: कैश/बोनस कैश/फ्रीस्पिन/कूपन, बाहरी वेबहूक (बटुआ, प्रदाता)।
6. सूचनाकार: आवृत्ति सीमा के साथ पुश/इन-ऐप/ईमेल/त्वरित संदेशवाहक।
7. भंडारण/एनालिटिक्स: कच्ची घटनाएं, स्टोरफ्रंट, ए/बी, अलर्ट।
8. एंटी-फ्रॉड/आरजी: माउथगार्ड, हेउरिस्टिक्स/एमएल, होल्ड-एंड-रिव्यू बड़े पुरस्कार।
2) इवेंट मॉडल (न्यूनतम सेट)
json
{
" :" d9e8-... -5c2 "," ":" शर्त "," संस्करण ":" 1। 2. 0", "ts": "2025-10-24T11:37:21Z," "उपयोगकर्ता": {
"आईडी": "u_123," "जियो": "टीआर", "प्लेटफ़ॉर्म": "एंड्रॉइड", "payer_flag": ट्रू ", risk_flags": ["वीपी _ नाइट"]
}, "संदर्भ": {
"session_id": "s_789," device_fp" ": "fp_...," "आईपी": "203। 0. 113. 24"
}, "पेलोड": {
"game_id": "slot_wolf," "शर्त": 0। 5, "जीत": 1। 25, "मुद्रा": "ईयूआर", "प्रदाता": "गेमको"
}
}
Базовые типы: 'लॉगिन', 'सत्र _ स्टार्ट/एंड', 'शर्त/स्पिन', 'जीतें', 'निकासी _ अनुरोध', 'kyc _ view/jint/progress/emply', 'टूर्नामेंट _ jout/scort/reupard/revard', ',' rg _ rg _ rg _ इनाम।
3) नियम इंजन: तर्क का वर्णन कैसे करें
अवधारणाएं: नियम (यदि/तब), खंड, समय खिड़कियां, मुखपत्र, प्राथमिकताएं, संस्करण।
एक घोषणात्मक नियम (YAML शैली) का एक उदाहरण:yaml rule_id: r_points_winmult_v2 कब::
event_name: शर्त फ़िल्टर:
- पेलोड। शर्त> = 0। 2
- उपयोगकर्ता। जियो इन ["टीआर ", "बीआर"," पीई"]
- अब "2025-11-01" और "2025-11-30" के बीच
स्कोर:
सूत्र: "फर्श (पेलोड)। जीत/पेलोड। शर्त) 3) ""
कैप्स:
per_bet: 50 per_minute: 200 per_day: 1500 reward_trigger:::
on_progress::
सीमा: [100, 300, 800]
पुरस्कार: [{प्रकार: "fs", मूल्य: 10}, {प्रकार: "bonus_cash," मूल्य: 2}, {प्रकार: "लूट", दुर्लभ: "दुर्लभ"}]
रेलिंग:
kyc_min_level: 2 rg_limits_ok: सच budget_pool: "nov_season"
budget_soft_cap: 80000 मेटा:
संस्करण: "2। 0"
प्रयोग: "scoring_ab_2025w45"
4) वेबहूक: सर्वर-सर्वर एकीकरण
4. 1. आउटबाउंड वेबहुक (आप से प्रदाता/बटुआ तक)
विधि: 'POST https ://partner। उदाहरण/भुगतान '
Подпись: 'एक्स-सिग्नेचर: HMAC-SHA256 (गुप्त, शरीर)' + 'एक्स-रिक्वेस्ट-आईडी' (पहचान)।
रेट्राई: घातीय बैकऑफ, 'max _ retries = 8', jitter, DLQ।
Idempotency: उसी 'X-Requess-Id' को दोहराएं - साझेदार को उसी 'payout _ id/state' के साथ जवाब देना चाहिए।
पेलोड का उदाहरण:json
{
" : " " "" :" "इनाम": {"प्रकार ": "नकद"," राशि": 10। 00, "मुद्रा":" EUR"}, "कारण": "milestone_300_points," "kyc_level" 2: "बाधाएं": {"wagering": 0 ", expiry_at": "2025-12-01T00: 00: 00Z}"
}
4. 2. आने वाले वेबहूक (आपके लिए)
केवल IP/MTLS सूचियों की अनुमति दें, HMAC और हस्ताक्षर जीवनकाल ('X-Timestamp', 5 मिनट) की जाँच करें।
ऑडिट स्टोर (WORM) में "रॉ" बॉडी + हेडर स्टोर करें।- कोई भी डबल/दोहराएँ → लॉग के खिलाफ पहचान कुंजी की जाँच करें।
5) विश्वसनीयता: दोहरे भुगतान के बिना "यहां तक कि" प्रवाह
कम से कम एक बार निगलना + पहचानने वाले हैंडलर - सोने का मानक।
स्कोरिंग के लिए पहचान कुंजी: 'हैश (event_id + user_id + rule_id)'; इनाम जारी करने के लिए अलग कुंजी 'revard _ tow _ id'।
वास्तव में एक बार शब्दार्थ केवल तार्किक रूप से यथार्थवादी (पहचान के माध्यम से) हैं, परिवहन नहीं।
घटनाओं का क्रम: 'घटना _ ts' और 'ingest _ ts'; 'उपयोगकर्ता _ id' कुंजी द्वारा कतार से पुन: आदेश विंडो (उदाहरण के लिए, 60 सेकंड) और रीप्ले का उपयोग करें।
मृत पत्र कतार (DLQ):- हम एक स्थायी त्रुटि के साथ संदेश लिखते हैं (अस्थायी योजना पारित नहीं हुई, हस्ताक्षर अमान्य है, बजट बंद है)।
- पुनर्प्रसंस्करण/ड्रॉप/फिक्स स्कीमा बटन के साथ DLQ समीक्षा सेवा।
6) बजट और मार्जिन संरक्षण
बजट पूल: 'nov _ सीज़न', 'डेली _ स्प्रिंट', 'vip _ वीकेंड'।
कोटा: सॉफ्ट/हार्ड कैप, "सर्किट ब्रेकर" - जब बजट का 90% तक पहुंचता है, तो बड़े पुरस्कारों को होल्ड-स्टेट में स्थानांतरित करें।
एकल लागत: 'पुरस्कार और बोनस लागत प्रति सक्रिय/भुगतान', शुद्ध उत्थान।
प्राथमिकताएं: आरजी और अनुपालन प्रोमो से अधिक महत्वपूर्ण हैं - संघर्ष के मामले में, इनाम स्थगित कर दिया जाता है।
बजट जाँच का उदाहरण (SQL स्केच):sql
चयन pool_id, SUM (राशि) के रूप में खर्च किया गया, बजट एएस सीमा, SUM (राशि )/बजट AS भरें
reward_ledger से
व्हेयर pool_id =: पूल और तिथि (ts) = current_date
समूह BY, बजट;
7) आरजी/केवाईसी/जियो गेट्स (खिलाड़ीसुरक्षा और अनुपालन)
KYC: कैश/बड़ेपुरस्कारों के लिए L2 न्यूनतम; फ्रीस्पिन L1 के साथ मान्य हैं।
आरजी: जमा सीमा की जाँच करना, आत्म-बहिष्कार, शांत-बंद पुरस्कार तब तक जमे रहते हैं जब तक कि प्रतिबंध नहीं हटा दिए जाते।
भू: प्रत्येक पुरस्कार नियम/पूल के लिए अनुमत देशों की सूची।
थ्रेशोल्ड अलर्ट: व्यक्तिगत खातों में तेज वृद्धि "लगभग पहुंच गई" = पकड़ ने और समीक्षा करने का एक कारण।
8) धोखाधड़ी विरोधी नियम और टेलीमेट्री
एक दर/मिनट/घंटे/दिन पर बिंदुओं के कैप, दांव का न्यूनतम विचरण, "आदर्श" पैटर्न का निषेध।
तकनीकी संकेत: हेडलेस, दोहराया device_fp, प्रॉक्सी सबनेट।
विसंगतियाँ: "अंक/दांव" और "अंक/मिनट" - 99-प्रतिशत पर लंबे "पूंछ"।
शीर्ष विजेताओं के लिए होल्ड-एंड-रिव्यू: स्वचालित केवाईसी जांच + मैनुअल समीक्षा।
9) निगरानी, मैट्रिक्स और अलर्ट
एसएलओ/एसएलए:- Ingest p95 ≤ 250 ms; नियम प्रसंस्करण p95 ≤ 150 ms; नेतृत्व बोर्ड अपडेट ≤ 2 एस; पुरस्कार अंक ≤ 60 एस।
- त्रुटि बजट <0। 1% घटनाएँ/दिन।
- प्रयोगों पर एसआरएम (ट्रैफिक तिरछा), डीएलक्यू ग्रोथ, एचएमएसी सत्यापन हस्ताक्षर ड्रॉप, बजट ओवररन, आदर्श डुप्लिकेट उछाल।
- घटनाएँ/एस, अंतराल, गलती सहिष्णुता;
- फ़नल: घटना नियम ;
- लागत: पुरस्कार/बोनस प्रति सक्रिय, शुद्ध उत्थान;
- गुणवत्ता: धोखाधड़ी के झंडे, केवाईसी ब्लॉक, आरजी ट्रिगर।
10) वर्शनिंग और माइग्रेशन
प्रत्येक नियम लंबवत है ('नियम। संस्करण ')।- आप एक नए संस्करण के बिना सक्रिय नियम संपादित नहीं कर सकते; ficheflag और "चिकनी हीटिंग" (10% → 50% → 100%) का उपयोग करें।
- स्कीमा रजिस्ट्री के माध्यम से घटनाओं का आरेख; असंगत परिवर्तन - केवल प्रमुख संस्करण।
11) ए/बी स्वचालन परीक्षण (छोटा)
इकाई - उपयोगकर्ता; चिपचिपा-असाइनमेंट; स्तरीकरण (भुगतानकर्ता/भू/मंच)।
हस्तक्षेप को समाप्त करने के लिए पृथक लीडबोर्ड या बिंदुओं का सामान्यीकरण।
प्राथमिक: participation_net, पूरा होना, नेट ARPPU; गार्ड: शिकायत/1k, धोखाधड़ी के झंडे, आरजी ट्रिगर।
विचरण में कमी के लिए CUPED और सहसंयोजक।
12) उदाहरण: नियम से मुद्दे तक
12. 1. माइक्रो-इनाम प्रगति ट्रिगर
json
{
"प्रकार": "reward_task। निर्मित, "": " " " ": "" मूल ": {" नियम _ आईडी ":" आर _ पॉइंट्स _ विन्मल्ट _ वी 2 "," थ्रेशोल्ड ": 300} इनाम": "टाइप": "" "राशि": 2 ", मुद्रा": "ईयूआर": "15}," स्थिति "": "लंबित", " :" "
}
12. 2. बटुआ के लिए आउटगोइंग वेबहुक
POST/बटुआ/क्रेडिट
एक्स-रिक्वेस्ट- आईडी: rid_7f5..।
एक्स-टाइमस्टैम्प: 1730061700
एक्स-हस्ताक्षर: sha256 = 7b9a...
{"user_id":"u_123," "राशि": 2। 00, "मुद्रा":" EUR", "कारण ": "नियम: r _ pinics _ winmult _ v2"}
सफलता → 'इनाम _ कार्य' = 'सफल' और 'इनाम _ लेजर' पर लिखना।
- विफलता (5xx/timeout) → एक ही 'X-Requess-Id' के साथ रिट्रे।
- डिप (4xx) → DLQ + मैनुअल पार्सिंग।
13) वाल्ट और टेबल (स्केच)
sql
- पुरस्कार पत्रिका
तालिका बनाएं reward_ledger (
id BIGSERIAL प्राथमिक कुंजी, TEXT, TEXT, TEXT, TEXT, VALUM NUMERIC (18,2), मुद्रा TEXT 0, - P P P P&L और L STस्टेक्टेस्टेक्ट्ट्ट्ट्ट्ट्ट - सफल/असफटाइमेड AMPTZ, TIMESTAMPTZ
);
- क्षतिपूर्ति
अद्वितीय सूचकांक uniq_reward_task ऑन reward_ledger बनाएं (reward_task_id);
- बजट
तालिका बनाएं reward_budget (
pool_id टेक्स्ट प्राइमरी की, बजट न्यूमेरिक (18,2), खर्च किए गए NUMERIC (18,2), अवधि DATE
);
14) सुरक्षा और गोपनीयता
HMAC हस्ताक्षर, MTLS, अनुमति-सूची IP।- पारगमन/विश्राम, कुंजी घुमाव, तिजोरी में रहस्य में एन्क्रिप्शन।
- पेलोड में डेटा को न्यूनतम करना (पीआईआई अलग से, टोकन लिंक, टीटीएल द्वारा)।
- ऑडिट लॉग अपरिवर्तनीय (WORM)।
- प्रतिधारण और स्वभाव नीति (भुलाए जाने का अधिकार, डीडुप्लिकेशन-सुरक्षित)।
15) चेकलिस्ट लॉन्च करें
- ईवेंट स्कीमा और रजिस्ट्री, वेबहुक अनुबंध (हस्ताक्षर, टीटीएल)।
- कतारें, रिट्रेज़, डीएलक्यू, आइडेम्पोटेंट हैंडलर।
- नियमों में कैप्स/रेलिंग, केवाईसी/आरजी गेट्स।
- बजट-पूल, सर्किट-ब्रेकर, अतिप्रवाह अलर्ट।
- एसएलओ डैशबोर्ड + इनाम फ़नल।
- ए/बी फिल्टर और एसआरएम निगरानी।
- घटनाओं की रनबुक (रीप्ले, फ्रीज, मैनुअल मुद्दा)।
16) मिनी केस (सिंथेटिक)
खेल प्रदाताओं और बटुए से जुड़ी घटनाएं; मुंह के गार्ड के साथ "जीत/शर्त" स्कोरिंग शामिल है।
वेबहुक ने एचएमएसी पर हस्ताक्षर किए, 8 प्रयासों तक वापस ले लिया, हर 2 एच की समीक्षा के साथ डीएलक्यू।
4 सप्ताह के लिए: प्रसंस्करण अंतराल p95 180 एमएस; DLQ <0,06%; डुप्लिकेट भुगतान 0; धोखाधड़ी के झंडे − 0। 4 पीपी; ΔParticipation_net + 6,3 п। п.; ARPPU (नेट) +€2,1 при पुरस्कार और बोनस/सक्रिय +€0,7।
निष्कर्ष: स्थानीय बजट पूल के साथ नए जियो को स्केलिंग नियम।
स्वचालित पुरस्कार "फ्रीस्पिन के साथ पुश नहीं भेजते हैं। "यह एक इंजीनियरिंग प्रणाली है: घटनाओं की विश्वसनीय डिलीवरी, नियमों की सख्ती, निष्क्रियता और हस्ताक्षर, बजट निजी, केवाईसी/आरजी गेट, धोखाधड़ी विरोधी और निगरानी। इस ढांचे का निर्माण एक दिन - और कोई भी मिशन, टूर्नामेंट और "लूट के क्षण" समय पर और सकारात्मक शुद्ध प्रभाव के साथ काम करेंगे।