الانتقال إلى المحتوى الرئيسي
تُقيَّم الأحداث بالمحرك نفسه الذي يقيّم المعاملات. هناك نموذج قواعد واحد، ومفردات شروط واحدة، ومجموعة واحدة من الإجراءات، والقاعدة تحدد ببساطة أنواع السجلات التي تنطبق عليها.

تنطبق على

يحدد scope.record_types السجلات التي تُفعّل القاعدة عندها.
عدم تضمينه يُبقي القاعدة مقتصرة على المعاملات. تعمل كل القواعد المكتوبة قبل وجود الأحداث بالسلوك نفسه تمامًا، ولا تبدأ القاعدة بمطابقة عمليات تسجيل الدخول لأن نطاقها كان فارغًا.
في الكونسول يظهر هذا على شكل محدد تنطبق على في خطوة المشغّل الخاصة بالقاعدة. عند اختيار الأحداث تظهر قائمة اختيار بعنوان فئات الأحداث تضيّق القاعدة أكثر، واتركها غير محددة لتقييم كل الفئات.
"__current__" تعني “القيمة نفسها الموجودة في الحدث الذي يجري تقييمه”، وبهذه الطريقة تعبّر القاعدة عن لكل كيان أو لكل جهاز أو لكل جولة دون تسمية قيمة بعينها. السجلات التي لا تحتوي على قيمة الكيان المجمّعة لا تُجمَّع معًا أبدًا. الحدث الذي لا يحمل بصمة جهاز ليس “الجهاز نفسه” لأحداث أخرى بلا بصمة، والحدث الذي لا يذكر كيانًا ليس “الكيان نفسه” لأحداث أخرى مجهولة. وعندما لا يملك الحدث الذي يجري تقييمه قيمة لحقل "__current__"، فإن هذا التجميع لا يتطابق مهما كان المُعامل.

حقول الأحداث

تقرأ الشروط مسارات بفضاءات أسماء. ومفردات المعاملات التي تعرفها بالفعل (action_type وsubject_vendor_data وsubject_ip_country وcustom_values.<key>) تنطبق أيضًا على الحدث. تُخزَّن إشارات المستخدم مؤقتًا لدى المستخدم المراقَب ولا يُعاد حسابها مع كل حدث، لذلك يمكن للقاعدة قراءتها بسرعة الاستيعاب.

التجميعات

معدل التكرار

دوال الاختزال التي تستخدمها بالفعل على المعاملات - count وsum وavg وmin وmax وdistinct_count - على window متحرك (30m و24h و7d و30d).

النسبة

دالتا اختزال ضمن النافذة نفسها. بهذه الطريقة تُعبَّر نسب الرهان إلى الإيداع، والسحب إلى الإيداع، والمكافأة إلى الإيداع، ومعدلات عمليات ردّ المدفوعات.
إيداع 1,000، ورهان 20، ثم طلب سحب، فتكون النسبة 0.02، وهذا غسل أموال كلاسيكي بأدنى قدر من اللعب.
النسبة التي لا تملك مقامًا لا تتطابق أبدًا. عدم وجود إيداعات ليس نسبة صفرية، بل هو غياب للدليل، والإطلاق في تلك الحالة سيضع علامة على كل مستخدم جديد.

التسلسل

خطوات مرتبة من الشروط داخل نافذة. تتطابق كل خطوة مع action_type أو event_category أو أي تصفية match، ويمكن أن تشترط min_count تكرارات قبل أن ينتقل التسلسل إلى الخطوة التالية.
حشو بيانات الاعتماد، ثم الاستيلاء على المصادقة متعددة العوامل، ثم إعادة توجيه الصرف، ثم الاستنزاف. تُطلَق القاعدة على الحدث الذي يُكمل السلسلة، ويسرد الدليل المطابق معرّفات الأحداث لكل خطوة. تُحفظ حالة التسلسل لكل قاعدة ولكل كيان، فتتقدم مع وصول الأحداث بدلًا من إعادة مسح الخط الزمني. ويُهمَل التقدم الأقدم من النافذة ولا يُحتسب.

الارتباط

ربط عبر الموضوعات: يُجري الاختزال على كل حدث يشارك الحدث الحالي مجموعته.
"pair": true يطابق الطرفين كمجموعة غير مرتبة، فيقع A→B وB→A في المجموعة نفسها، وهذا ما يتيح لقاعدة واحدة أن ترى طرفي التواطؤ معًا. ينتمي إلى هذا النمط نفسه تفريغ الرقائق، والرهانات المتقابلة، والإحالة الذاتية للشركاء. اجعل قاعدة الارتباط تحمل دائمًا filters تضيّقها. بدونها تنظر القاعدة في كل حدث داخل النافذة.

القواعد الفورية وغير المتزامنة

تستطيع بعض القواعد أن تُجيب ضمن طلب الاستيعاب، بينما لا تستطيع قواعد أخرى ذلك. يُعاد الحدث الذي ما زالت قواعده معلّقة مع "correlation_pending": true. يتحدّث حالته ودرجته في مكانهما بعد اكتمال المرور غير المتزامن. إعادة التشغيل لا تغيّر النتيجة عند تكرارها، لذلك لا تُطبّق القاعدة درجتها أكثر من مرة. هذا التقسيم مقصود: لا ينبغي لاستعلام حلقة عابرة للكيانات أن يجعل تسجيل الدخول ينتظر.

الإجراءات

مفردات الإجراءات نفسها المستخدمة في قواعد المعاملات، وهي add_score وchange_status وadd_tags وadd_note وadd_to_list وopen_case. يوجد فرقان في الأحداث:
  • change_status إلى AWAITING_USER نتيجة خاصة بالمعاملات فقط، لأنه لا يوجد مسار معالجة للأحداث، ويُطبَّق كـ IN_REVIEW.
  • يربط open_case الحالة بـالكيان لا بمعاملة، ويسجّل معرّف الحدث المطابق على الحالة.

الأدلة

يخزّن كل تطابق ما رصده: نافذة التجميع، والقيمة المحسوبة، والقيمة المتوقعة، ومعرّفات الأحداث المختارة بالعينة، ومصدر كل حقل مطابق. لذلك يستطيع المحلّل أن يميّز عنوان IP الذي حدّده الخادم من تلميح أرسله العميل قبل أن يتخذ إجراءً بناءً على التطابق. تعرض وحدة التحكم المصدر بجانب كل حقل مطابق في الدرج الجانبي للحدث.

أمثلة تطبيقية

إيداع، ثم لعب بالرموز، ثم سحب سريع. الشرط event.action_type eq withdrawal_requested، بالإضافة إلى نسبة الرهان إلى الإيداع أعلاه عند lte 0.1 خلال 24h.
نسبة count(chargeback_opened) إلى count(deposit_completed) لكل كيان خلال 30d، عند gte 0.5. يُجمَّع حسب event.payment.payment_fingerprint بدلًا من الكيان لاكتشاف أداة دفع واحدة عبر عدة حسابات.
التسلسل ato_drain أعلاه، مع add_score 90 وchange_status DECLINED.
زوج الارتباط أعلاه. ارفع value إلى المبلغ المهم في جداولك، وأضف event.gameplay.game_id إلى group_by للإبقاء على الألعاب منفصلة.
شروط على event.action_type eq bot_signal_observed وevent.bot.timing_variance_ms lte 10 وevent.device.bot_score gte 90، مع add_tags. اجمعها مع distinct_count للحقل event.device.fingerprint لكل IP لاكتشاف مزرعة كاملة بدل سكربت واحد.
شرط على event.action_type eq self_exclusion_match وevent.payload.re_registration_attempt eq true، مع التصعيد عبر open_case.

التالي

استقبال الأحداث

الغلاف، والفئات العشر، وعقد الدفعات.

Rules API

أنشئ القواعد وحدّثها واختبرها بأثر رجعي برمجياً.
آخر تعديل في ٧ نوفمبر ٢٠٢٦