الانتقال إلى المحتوى الرئيسي
تُصدر ميزة التحقق من رقم الهاتف تحذيرات كلما تم إطلاق إشارة مخاطر في مسار OTP أو على الرقم نفسه: رقم سيئ معروف، أو خط VoIP أو خط مؤقت، أو تجاوز الحد الأقصى لمحاولات OTP، أو تطابق مع جلسة مستخدم آخر. تسرد هذه الصفحة كل رمز، وما الذي يُشغله، وكيفية تهيئة استجابة سير العمل.

نظرة عامة

تُوسم التحذيرات بالميزة 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:

أنواع التحذيرات

يتم تعيين مستوى خطورة لكل خطر بناءً على تهيئة تطبيقك. وتندرج مستويات الخطورة ضمن ثلاث فئات:

ذات صلة

آخر تعديل في ٧ نوفمبر ٢٠٢٦