نظرة عامة
تُوسم التحذيرات بالميزةPHONE. وتظهر تحت phone_verifications[].warnings[] في GET /v3/session/{sessionId}/decision/ وتتبع بنية عنصر التحذير القياسية (feature وrisk وadditional_data وlog_type وshort_description وlong_description وnode_id). كما يتم توجيه كل تحذير إلى سجل الجلسة ليظهر في Business Console ضمن قسم Phone.
تُعد بعض التحذيرات مُشغِّلات للرفض التلقائي القطعي — فهي تضبط دائمًا حالة الميزة على Declined. بينما يرتبط البعض الآخر بـ إجراء قابل للتهيئة (DECLINE أو REVIEW أو NO_ACTION، حسب الإعداد) محدد في إعدادات سير العمل لديك، لذا قد يؤدي نفس رمز المخاطر إلى رفض سير عمل بينما يكتفي بتنبيه سير عمل آخر فقط.
شروط الرفض التلقائي
تؤدي التحذيرات التالية دائمًا إلى رفض خطوة التحقق من رقم الهاتف بغض النظر عن التهيئة، وتتضمن دائمًاlog_type: "error":
VERIFICATION_CODE_ATTEMPTS_EXCEEDED— استنفد المستخدم الحد الأقصى لمحاولات OTP: افتراضيًا محاولتان لإدخال رمز خاطئ (phone_max_check_attempts) أو أكثر من عمليتي إرسال لرمز OTP (phone_max_retries)، وكلاهما قابل للضبط لكل عقدة سير عمل. يسمح API المستقل للهاتف بـ 3 محاولات لإدخال الرمز.PHONE_NUMBER_IN_BLOCKLIST— الرقم موجود في قائمة الحظر الخاصة بك وتُدار عبر Lists API، أو يطابق جلسة مدرجة في قائمة الحظر.
HIGH_RISK_PHONE_NUMBER — رفض طبقة مكافحة الاحتيال لدى مزود التسليم إرسال رمز OTP (إرسال Blocked) — يؤدي إلى الرفض افتراضيًا ولكنه لم يعد غير مشروط: راجع high_risk_phone_action أدناه.
المخاطر القابلة للتهيئة
يرتبط كل من المخاطر التالية بإعداد في سير العمل يمكنك تهيئته إلىDECLINE أو REVIEW أو NO_ACTION (الافتراضي — يتم تسجيل التحذير دون التأثير على الحالة). كما يحدد الإجراء المُهيأ قيمة log_type للتحذير: DECLINE ← error، وREVIEW ← warning، وNO_ACTION ← information.
يعمل اكتشاف التكرار داخل تطبيقك عبر عمليات التحقق من رقم الهاتف في KYC وKYB وعبر API المستقل، ويجمع الجلسات حسب
vendor_data — حيث تُعامل الجلسات التي تشترك في نفس vendor_data كمستخدم نهائي واحد ويتم استبعادها من نتائج المطابقة. إذا تركت vendor_data فارغًا، فستُعامل كل جلسة كمستخدم مستقل.
عمليات الإرسال المحظورة
يتبعHIGH_RISK_PHONE_NUMBER نفس النمط مع مجموعة خيارات أضيق، لأن الإرسال الذي رفضه المزود لا يمكن قبوله:
يتم تطبيق هذا الإعداد فقط عندما يحمل كل حظر عالي المخاطر في الخطوة
additional_data.risk_factors بقيمة ["device_attribute"] تحديدًا — وهي إشارة المزود بأن “هذا الجهاز يبدو مشبوهًا”، وهو ما ينطلق في خطوط الجوال العادية. أي عامل مخاطر آخر، أو أي مزيج يتضمن device_attribute إلى جانب عوامل أخرى، أو أي حظر بدون عوامل مخاطر على الإطلاق يؤدي إلى الرفض بغض النظر عن الإعداد. سبب الحظر (repeated_attempts أو suspicious أو spam) هو حقل منفصل، يتم إرجاعه في additional_data.blocked_reason.
بغض النظر عن الإعداد، لا يتم أبدًا الرفض التلقائي لرقم مدرج في قائمة السماح لأرقام الهواتف التي تم إنشاؤها عبر Lists API بسبب إرسال محظور: تنتقل الخطوة إلى حالة قيد المراجعة، ويحمل التحذير log_type: "warning"، وتكون قيمة additional_data.phone_number_in_allowlist هي true.
حدود محاولات التحقق
تطبق ميزة التحقق من رقم الهاتف حداً أقصى صارماً على محاولات OTP لمنع إساءة الاستخدام:- محاولات إدخال الرمز — القيمة الافتراضية هي إدخالان خاطئان (2) (
phone_max_check_attempts) قبل إنهاء الخطوة كـDeclinedمعVERIFICATION_CODE_ATTEMPTS_EXCEEDED. تتيح واجهة API المستقلة للهاتف 3 محاولات لإدخال الرمز لكل عملية تحقق. - محاولات الإرسال — القيمة الافتراضية هي إرسالان إجمالاً (2) (
phone_max_retries): الإرسال الأولي بالإضافة إلى إعادة إرسال واحدة. يؤدي أي طلب إرسال إضافي إلى إنهاء الخطوة وإطلاقVERIFICATION_CODE_ATTEMPTS_EXCEEDED. - صلاحية OTP — يظل رمز OTP المعلق صالحاً لمدة 5 دقائق من الإرسال الأول؛ ولا تؤدي محاولات إعادة الإرسال إلى تمديد هذه الفترة الزمنية.
repeated_attempts أو suspicious أو spam) — مما يؤدي إلى إطلاق HIGH_RISK_PHONE_NUMBER، وليس تحذير المحاولات.
التحذيرات الناتجة
التطابقات عبر الجلسات
عند اكتشاف رقم في جلسات أخرى أو في قائمة الحظر الخاصة بك، تظهر تلك التطابقات أيضاً ضمنphone_verifications[].matches[] (بحد أقصى 5 مدخلات). يحمل كل تطابق session_id وsession_number وvendor_data وverification_date وphone_number وstatus وis_blocklisted وapi_service، بالإضافة إلى source بقيمة session (جلسة أخرى بنفس الرقم، بأي حالة) أو list_entry (تطابق مصطنع مع قائمة الحظر يُضاف في بداية المصفوفة). إذا كان الرقم الحالي مدرجاً في قائمة السماح لأرقام الهواتف لديك، تحتفظ Didit بأدلة التطابق ولكنها تُطلق PHONE_NUMBER_IN_ALLOWLIST بدلاً من تطبيق إجراء تكرار الهاتف. راجع تقرير التحقق من رقم الهاتف للاطلاع على المخطط الكامل للتطابق.
مثال
عملية إرسال محظورة (HIGH_RISK_PHONE_NUMBER) على رقم VoIP، مع ضبط voip_number_action على REVIEW:
أنواع التحذيرات
يتم تعيين مستوى خطورة لكل خطر بناءً على تهيئة تطبيقك. وتندرج مستويات الخطورة ضمن ثلاث فئات:ذات صلة
- نظرة عامة على التحقق من رقم الهاتف — سلوك الميزة، والأسعار، والقنوات المدعومة.
- تقرير التحقق من رقم الهاتف — الشكل الكامل للاستجابة بما في ذلك
lifecycle[]وmatches[]. - نماذج البيانات — التحقق من رقم الهاتف — المخطط المرجعي لكل حقل.
- Management API — القوائم — إدارة قائمة حظر أرقام الهواتف المستخدمة بواسطة
PHONE_NUMBER_IN_BLOCKLIST.