أتمتة الأحداث والمكافآت - القواعد وشبكات الويب
يعتمد التلاعب على اثنين من «المحركات»: الأحداث (ما فعله المستخدم) والقواعد (ما يفترض أن يكون لذلك). لكي يعمل هذا على نطاق واسع وبدون أخطاء، فأنت بحاجة إلى حافلة أحداث موثوقة ومحرك قواعد وآلية تسليم/منح وحماية صارمة ضد الاحتيال. فيما يلي بنية عملية وقوالب وقوائم مرجعية.
1) الحدث → القاعدة → بنية تدفق المكافآت
1. Inster (إدخال الحدث): SDK/web، خطابات الويب الخاصة بالخادم من مزود الدفع/اللعبة → API Gateway → قائمة الانتظار/الحافلة (Kafka/Rabbit/Cloud Pub/Sub).
2. Normalizer: التحقق والإثراء (geo, device, payer_flag), scheme version.
3. محرك القواعد: التسجيل/XP، التحقق من المهام/المهام، مشغلات المكافأة/الإشعار.
4. منسق المكافأة: حساب المكافآت، فحص الميزانية، بوابات RG/KYC، إنشاء «مهمة إصدار»، تسجيل الأشجار.
5. Payout/Bonus Service: cache/bonus cache/freespins/coupons، خطوط الويب الخارجية (المحفظة، مقدمو الخدمة).
6. إشعار: الدفع/داخل التطبيق/البريد الإلكتروني/المراسلات الفورية مع حدود التردد.
7. التخزين/التحليلات: الأحداث الخام، واجهات المحلات، التنبيهات A/B.
8. مكافحة الاحتيال/RG: واقيات الفم، heuristics/ML، جوائز كبيرة للاحتفاظ والمراجعة.
2) نموذج الحدث (المجموعة الدنيا)
جسون
{
«event_id":» d9e8-... -5c2 «,» event_name": «bet», «version»: «1». 2. 0, «ts»: «2025-10-24T11:37:21Z,» «user»: {
"id": "u_123," geo ":" TR "،" platform': "android'،" payer_flag": صحيح "، risk_flags": [" vp _ nightly "]
}، «السياق»: {
"session_id":" s_789, "device_fp":" fp_..., "ip": "203. 0. 113. 24"
}، «حمولة»: {
"game_id": "slot_wolf," "رهان": 0. 5، «الفوز»: 1. 25، «العملة»: «اليورو»، «المزود»: «GameCo»
}
}
Базовые типы: «تسجيل الدخول»، «الجلسة _ البداية/النهاية»، «الرهان/الدوران»، «الفوز»، «الإيداع»، «السحب _ الطلب»، «kyc _ status _ change»، «المهمة _ عرض/انضمام/تقدم/اكتمال»، «البطولة _ الانضمام/النتيجة/التحديث/المكافأة»، «المكافأة _ الصادرة»، «rg _ الحدث».
3) محرك القاعدة: كيفية وصف المنطق
المفاهيم: القواعد (إذا/إذن)، والقطاعات، والنوافذ الزمنية، والأبواق، والأولويات، والتحرير.
مثال على قاعدة إعلانية (أسلوب YAML):يامل rule_id: r_points_winmult_v2 عندما:
event_name: مرشحات الرهان:
- الحمولة. الرهان> = 0. 2
- المستخدم. geo in [«TR «، «BR»،» PE»]
- الآن بين «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}، {النوع: «loot»، النادرة: «نادرة»}]
حواجز الحماية:
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. مثال/مدفوعات "
Подпись: 'X-Signature: HMAC-SHA256 (secret, body)' + 'X-Request-Id' (idempotency).
Retrai: تراجع أسي، «max _ retries = 8»، jitter، DLQ.
الخصوصية: كرر نفس «معرف الطلب السيني» → يجب على الشريك الرد بنفس «العائد _ المعرف/الحالة».
مثال على الحمولة:جسون
{
«request_id": «rid_7f5...,» «user_id": «u_123,» «مكافأة»: {«نوع «: «نقد»،» مبلغ»: 10. 00، "العملة": "اليورو"}، "السبب": "milestone_300_points," kyc_level": 2، "القيود": {"الرهان": 0، "expiry_at":" 2025-12-01T00: 00: 00Z "}
}
4. 2. خطوط الويب القادمة (لك)
اسمح فقط بقوائم IP/MTLS، وتحقق من HMAC وعمر التوقيع («X-Timestamp»، ± 5 دقائق).
قم بتخزين الجسم «الخام» + الرؤوس في متجر التدقيق (WORM).
أي مزدوج/تكرار → تحقق من مفتاح الخصوصية مقابل السجل.
5) الموثوقية: تدفق «زوجي» بدون مدفوعات مضاعفة
مرة واحدة على الأقل على المعالجين المبتهجين + الأحمق → المعيار الذهبي.
مفتاح الخصوصية: «هاش (event_id + user_id + rule_id)» للتسجيل ؛ مفتاح منفصل لإصدار المكافأة 'المكافأة _ المهمة _ id'.
الدلالات مرة واحدة بالضبط واقعية منطقيًا فقط (من خلال الغباء)، وليس النقل.
ترتيب الأحداث: 'حدث التخزين' و 'interst _ ts' ؛ استخدام نافذة إعادة الترتيب (على سبيل المثال، 60 ثانية) وإعادة التشغيل من قائمة الانتظار بواسطة مفتاح «المستخدم _ معرف».
قائمة انتظار الحروف الميتة (DLQ):- نكتب رسائل هناك مع خطأ دائم (لم يتم تمرير المخطط المؤقت، والتوقيع باطل، والميزانية مغلقة).
- خدمة مراجعة DLQ مع أزرار مخطط إعادة المعالجة/الإسقاط/الإصلاح.
6) حماية الميزانيات والهامش
تجمعات الميزانية: «nov _ season»، «daily _ sprint'،» vip _ weekend'.
الحصص: ناعمة/صلبة، «قاطع الدائرة» - عند الوصول إلى 90٪ من الميزانية، قم بتحويل جوائز كبيرة إلى الدولة.
التكلفة الفردية: «تكلفة الجائزة والمكافأة لكل Active/Payor»، Net Uplift.
الأولويات: النمو الحقيقي والامتثال أهم من الترويج - في حالة الصراع، يتم تأجيل المكافأة.
مثال على فحص الميزانية (رسم SQL):sql
SELECT pool_id، SUM (المبلغ) AS pended، الميزانية AS limited، SUM (المبلغ )/الميزانية AS fill
من reward_ledger
حيث pool_id =: بركة وتاريخ (ts) = current_date
الفريق حسب pool_id، الميزانية ؛
7) بوابات RG/KYC/Geo (سلامة اللاعب والامتثال)
KYC: L2 الحد الأدنى للذاكرة المخبأة/الجوائز الكبيرة ؛ المجانية صالحة مع L1.
RG: التحقق من حدود الودائع، والاستبعاد الذاتي، والتهدئة → يتم تجميد الجوائز حتى يتم رفع القيود.
Geo: قائمة بالبلدان المسموح بها لكل قاعدة/مجموعة جوائز.
تنبيهات العتبة: النمو الحاد «كاد أن يصل» في الحسابات الفردية = سبب للاحتفاظ به ومراجعته.
8) قواعد مكافحة الاحتيال والقياس عن بعد
حدود للنقاط بمعدل/دقيقة/ساعة/يوم، الحد الأدنى من تباين الرهانات، حظر الأنماط «المثالية».
الإشارات التقنية: مقطوعة الرأس، device_fp متكررة، شبكات فرعية بالوكالة.
الشذوذ: «نقاط/رهانات» و «نقاط/دقيقة» - «ذيول» طويلة على 99 في المائة.
الاحتفاظ والمراجعة لأفضل الفائزين: فحص KYC التلقائي + المراجعة اليدوية.
9) الرصد والمقاييس والتنبيهات
جيش تحرير السودان/جيش تحرير السودان:- Inster p95 ≤ 250 ms ؛ تجهيز القواعد p95 ≤ 150 ms ؛ وتحديث مجلس القيادة ≤ 2 ث ؛ إصدار قرار التحكيم ≤ 60 ثانية.
- ميزانية الخطأ <0. 1٪ أحداث/يوم.
- SRM على التجارب (انحراف حركة المرور)، نمو DLQ، انخفاض توقيع التحقق من صحة HMAC، تجاوز الميزانية، الطفرة المزدوجة الحمقاء.
- الأحداث/الأحداث، التأخر، التسامح مع الأخطاء ؛
- القمع: حدث القاعدة ؛
- التكلفة: جائزة/مكافأة لكل Active، Net Uplift ؛
- الجودة: أعلام الاحتيال، كتل KYC، مشغلات RG.
10) التحديث والهجرة
كل قاعدة يتم تحريرها (القواعد. (.
لا يمكنك تحرير القاعدة النشطة بدون إصدار جديد ؛ استخدام ficheflag و «التدفئة الناعمة» (10٪ → 50٪ → 100٪).
رسم بياني للأحداث عن طريق سجل المخططات ؛ تغييرات غير متوافقة - النسخة الرئيسية فقط.
11) اختبارات التشغيل الآلي A/B (قصيرة)
الوحدة - المستخدم ؛ التعيين اللاصق ؛ التقسيم الطبقي (دافع/منصة جغرافية/منصة).
لوحات قيادية منفصلة أو تطبيع النقاط للقضاء على التداخل.
المرحلة الابتدائية: participation_net، الانتهاء، صافي ARPPU ؛ حواجز الحماية: شكاوى/1 ألف، أعلام احتيال، مشغلات RG.
CUPED ويتغير لخفض الفرق.
12) أمثلة: من قاعدة إلى أخرى
12. 1. تحفيز تقدم المكافآت الصغيرة
جسون
{
"نوع": "reward_task. تم إنشاؤه، " :" " :" "الأصل": {"القاعدة _ id": "r _ points _ winmult _ v2"، "العتبة": 300}، "المكافأة": {"النوع": " " المبلغ ": 2،" العملة ":" EUR "،" الرهان ": 15}،" : "" وضع "": "معلقة"، " :" "
}
12. 2. الويب المنتهية ولايته للمحفظة
البريد/المحفظة/الائتمان
X-Request-Id: rid_7f5...
X-Timestamp: 1730061700
توقيع x: sha256 = 7b9a...
{«user_id":"u_123,» «المبلغ»: 2. 00، «العملة»:» اليورو»، «السبب «: «القاعدة: r _ points _ winmult _ v2»}
النجاح → «مكافأة _ مهمة» = «نجحت» والكتابة إلى «مكافأة _ دفتر الأستاذ».
الفشل (5xx/timeout) → إعادة الدرج بنفس «X-Request-Id».
Dip (4xx) → DLQ + التحليل اليدوي.
13) الخزائن والجداول (رسم تخطيطي)
sql
- مجلة الجوائز
إنشاء الجدول reward_ledger (
id BIGSERIAL PRIMARY KEY, TEXT UNIQUE, TEXT, TEXT, NUMERIC (18,2), COST NUMERFERIERIICIAL IAL E E E E E E E TE E DE E TE E TTEEEE E E EETTTTE E E TTETOEEEEEEEEEEEEE EEE E E OE E OE EEEEEE e Z، TIMESTAMPTZ
);
- الفراغ
إنشاء فهرس فريد uniq_reward_task reward_ledger (reward_task_id) ؛
- الميزانية
إنشاء الجدول reward_budget (
pool_id النص الرئيسي، رقم الميزانية (18,2)، الرقم المستنفد (18,2)، تاريخ الفترة
);
14) الأمن والخصوصية
HMAC التوقيعات، MTLS، السماح قائمة IP.
التشفير في العبور/الراحة، تناوب المفتاح، الأسرار في القبو.
تقليل البيانات في الحمولة (PII بشكل منفصل، عن طريق وصلة رمزية، TTL).
سجلات التدقيق غير قابلة للتغيير (WORM).
سياسة الاحتفاظ والتصرف (الحق في النسيان، والتفريغ - الأمان).
15) قائمة التحقق من الإطلاق
- مخططات الأحداث والسجل، عقود الشبكات الشبكية (التوقيعات، TTL).
- قوائم الانتظار، إعادة التدوير، DLQ، المعالجات الحمقاء.
- القبعات/حواجز الحماية في القواعد، بوابات KYC/RG.
- مجمعات الميزانية، قواطع الدوائر، تنبيهات فائضة.
- لوحات القيادة SLO + قمع المكافأة.
- مرشحات A/B ورصد SRM.
- دفتر الحوادث (إعادة التشغيل، التجميد، إصدار يدوي).
16) علبة صغيرة (صناعية)
الأحداث المتصلة من مزودي الألعاب والمحفظة ؛ تضمنت تسجيل «الفوز/الرهان» مع حراس الفم.
وقعت Webhooks على HMAC، وتعود إلى المحاولات 8، و DLQ مع مراجعة كل 2 ساعة.
لمدة 4 أسابيع: الفارق في المعالجة p95 180 مللي ثانية ؛ DLQ <0.06٪ ؛ والمدفوعات المزدوجة 0 ؛ أعلام الاحتيال − 0. 4 صفحات ؛ ΔParticipation_net + 6,3 п. п.; Δ ARPPU (net) +€2,1 при Prize & Bonus/Active +€0,7.
الاستنتاج: توسيع نطاق القواعد إلى قواعد جغرافية جديدة باستخدام مجمعات الميزانية المحلية.
أتمتة المكافآت ليست "إرسال الدفع مع المساحات الحرة. "هذا نظام هندسي: تسليم موثوق للأحداث، وإصدار حكم صارم للقواعد، والغباء والتوقيعات، والخاصون في الميزانية، وبوابات KYC/RG، ومكافحة الاحتيال والمراقبة. قم ببناء هذا الإطار يومًا ما - وأي مهام وبطولات و «لحظات المسروقات» ستعمل بشكل متوقع وفي الوقت المحدد وبتأثير صافي إيجابي.