استيعاب الأحداث اختياري. فعّله من Transactions → Settings → Event monitoring.
قبل تفعيله لا يتغير شيء: تستمر قواعد المعاملات الحالية في العمل على المعاملات فقط، ولا يمكن إنشاء قاعدة حدث عن طريق الخطأ، لأن القاعدة تنطبق على المعاملات ما لم تُضمّن الأحداث صراحةً.قبل تفعيله، تُرجع كل مسارات الكتابة -
POST /v3/events/ وPOST /v3/events/batch/ وPOST /v3/events/sdk-token/ ومسار الجهاز /v1/events/ - الاستجابة 403 مع {"code": "event_monitoring_disabled"}، ولا يُخزَّن شيء ولا يُثرى ولا يُقيَّم. عمليات القراءة لا تتأثر.نقاط النهاية
مسار
/v3/ هو مسار الخادم، ويستخدم المصادقة x-api-key نفسها المستخدمة في بقية واجهة المعاملات البرمجية. مسار /v1/events/ هو مسار الجهاز، انظر إرسال أحداث SDK.
الغلاف
الفئات
عشر فئات أساسية، لكل منها تحقق قائم على الأنواع وحقول القواعد المُدارة.auth هي الفئة الواسعة في المنتج، وsecurity هي المجموعة الفرعية عالية المخاطر ذات دورة الحياة المرتبة التي تقرأها قواعد الاستيلاء على الحساب.
مفاتيح الحمولة المطلوبة
بعض الإجراءات لا يمكن ربطها دون مفاتيح محددة، لذلك يرفض التحقق هذه الأحداث بدلاً من تخزين أدلة لا يستطيع أحد ربطها.مثال: تسوية P2P
مثال: الاعتراض على عملية دفع
dispute جديداً، ولا يُعدَّل الحدث الأول أبداً.
idempotency
event_id فريد لكل تطبيق، وهو عقد idempotency كاملاً.
- نفس
event_idونفس المحتوى يُعيد200مع"idempotent_replay": trueوالحدث المخزَّن أصلاً. أعد المحاولة بقدر ما تشاء. - نفس
event_idومحتوى مختلف يُعيد409. أعدتَ استخدام المعرّف عن طريق الخطأ.
الدفعات
POST /v3/events/batch/ يقبل حتى 500 حدث. تنجح الدفعة جزئياً بحكم التصميم: لا يجب أبداً أن يُسقط عرض صفحة واحد مشوّه حدث النزاع المجاور له.
207 Multi-Status عند رفض أي حدث، و201 Created عند نجاح الكل.
الحالات
correlation_pending: true يعني أن قاعدة عبر الكيانات ما زال يجب أن تعمل؛ تُحسم خلال دقائق، وتُحدَّث حالة الحدث ودرجته في مكانهما. راجع القواعد غير المتزامنة.
الاحتفاظ بالبيانات
تفوق الأحداث المعاملات بكثير في الحجم، لذلك يُصنَّف كل حدث في فئة احتفاظ عند وصوله.
تترتب على الجدول قاعدتان:
- الحدث الذي تطابقه قاعدة يُعدّ دليلاً، لذلك يُرقّى تلقائياً إلى
risk_relevant. - تحتفظ أحداث الدفع والنزاعات بمدة احتفاظ المعاملات. لا تنتهي صلاحيتها أبداً وفق جدول الأحداث، ولا يمكن لتجاوزات الفئات أن تقصّرها.
إثراء عنوان IP
تحمل الأحداث إثراء IP نفسه الذي تحمله المعاملات، أي الدولة وASN وعلامات VPN/الوكيل وعلامات مراكز البيانات، ويُحسم الإثراء لكل عنوان IP فريد، لا لكل حدث. الجلسة التي تُطلق 200 عرض صفحة من عنوان واحد يُحدَّد إثراء ذلك العنوان مرة واحدة فقط. القياسات عن بُعد منخفضة القيمة تقرأ الإثراء فقط إذا كان حدث آخر قد حلّ ذلك العنوان بالفعل، ولا تُطلق بحثاً خاصاً بها أبداً.GET /v3/events/enrichment-metrics/ يُبلغ عن النتيجة، وتعرض وحدة التحكم الأرقام نفسها فوق قائمة الأحداث:
قراءة الأحداث واسترجاعها
event_category، action_type، status، retention_class، subject_vendor_data، business_vendor_data، session_id، device_fingerprint، ip_address، game_id، round_id، affiliate_code، payment_reference_id، counterparty_vendor_data، matched_only، occurred_from، occurred_to، search. تُكرَّر المعاملات التي تقبل أكثر من قيمة لكل قيمة، مثل ?status=A&status=B.
الجدول الزمني لموضوع واحد
vendor_data فريدة ضمن نوع الكيان فقط، فقد يشير المعرّف نفسه إلى مستخدم وإلى شركة، ويتعامل Didit معهما كموضوعين مختلفين. يحدد entity_type الكيان المطلوب: individual (الافتراضي) أو company. إذا أغفلته عند استخدام معرّف شركة، فسيُعاد الجدول الزمني للفرد لا الاثنين معاً. تنطبق عليه المرشحات نفسها الواردة في القائمة.
يضيف GET /v3/events/{event_uuid}/ payload، وسياق الجهاز، وإثراء عنوان IP، وإشارات المخاطر المخزنة مؤقتاً الخاصة بالموضوع، وكل تطابق مع القواعد مع أدلته، بما في ذلك ما إذا كان كل حقل متطابق مشتقاً من الخادم، أو مشتقاً من SDK، أو مقدَّماً من العميل.
يحذف DELETE /v3/events/{event_uuid}/delete/ حدثاً واحداً. بعد الحذف لا يُعاد هذا الحدث في أي عملية قراءة، والحذف لا رجعة فيه.
التالي
القواعد على الأحداث
قواعد السرعة والنسبة والتسلسل والارتباط على بيانات الأحداث.
إرسال الأحداث من SDK
التقاط الأحداث مباشرةً من الجهاز باستخدام بيانات اعتماد محدودة النطاق.