نظرة عامة
تُصنَّف التحذيرات بالميزةEMAIL. وتظهر في التقرير ضمن email_verifications[].warnings[] وتتبع البنية القياسية لـ كائن التحذير (feature وrisk وadditional_data وlog_type وshort_description وlong_description وnode_id). كما يُوجَّه كل تحذير أيضاً إلى سجل الجلسة ليظهر في Business Console ضمن قسم البريد الإلكتروني.
تُعد بعض التحذيرات مسببات رفض تلقائي صارم — حيث تضبط دائماً حالة الميزة إلى Declined وتحمل log_type: "error". بينما ترتبط التحذيرات الأخرى بـ إجراء قابل للإعداد (DECLINE، أو REVIEW، أو الإجراء الافتراضي NO_ACTION) يتم تحديده لكل عقدة سير عمل أو لكل استدعاء API، مما يتيح لنفس رمز المخاطر رفض سير عمل معين مع الاكتفاء بوضع علامة تنبيه في سير عمل آخر. كما يحدد الإجراء المُعدّ مستوى الخطورة: DECLINE → error، وREVIEW → warning، وNO_ACTION → information.
شروط الرفض التلقائي
تؤدي التحذيرات التالية دائماً إلى رفض خطوة التحقق من البريد الإلكتروني بغض النظر عن الإعدادات:EMAIL_CODE_ATTEMPTS_EXCEEDED— استنفد المستخدم المحاولات المتاحة لرمز OTP: محاولتان لإدخال رمز غير صحيح (email_max_check_attempts) أو عمليتا إرسال لرمز OTP — الإرسال الأولي بالإضافة إلى إعادة إرسال واحدة (email_max_retries) — وفق الإعدادات الافتراضية.EMAIL_IN_BLOCKLIST— العنوان مدرج في قائمة الحظر المُدارة عبر Lists API، أو تطابق مع عملية تحقق سابقة مقبولة من البريد الإلكتروني تم إدراجها في قائمة الحظر.UNDELIVERABLE_EMAIL_DETECTED— تعذر تسليم الرسائل إلى العنوان: صيغة غير صالحة، أو نطاق غير موجود، أو غياب سجلات DNS (MX)، أو تعذر تسليم بريد OTP الإلكتروني. تكتمل الخطوة بالحالةDeclinedفوراً — دون تشغيل أي فحص للرمز. استثناء: عندما يُدخل المستخدم العنوان بنفسه (لم يكن معبأً مسبقاً عند إنشاء الجلسة)، فإن تعذر الإرسال يُرجع خطأً مضمناً يظهر للمستخدم ليتمكن من إعادة المحاولة باستخدام عنوان مختلف بدلاً من الرفض.
المخاطر القابلة للإعداد
يرتبط كل خطر من المخاطر التالية بإعداد (لكل عقدة سير عمل، أو لكل استدعاء على endpoint التحقق المستقل) يمكنك إعداده ليكونDECLINE أو REVIEW أو NO_ACTION:
يأخذ اكتشاف التكرار في الحسبان فقط عمليات التحقق من البريد الإلكتروني المقبولة سابقاً ضمن التطبيق نفسه، مجمعةً حسب
vendor_data — وتُعامل عمليات التحقق التي تشترك في نفس قيمة vendor_data على أنها مستخدم نهائي واحد وتُستثنى من المقارنة. إذا تركت vendor_data فارغة، فستُعامل كل جلسة على أنها لمستخدم مختلف. وإذا كان العنوان مدرجاً في قائمة السماح للبريد الإلكتروني لديك، فسيتم تجاوز إجراء التكرار وإصدار EMAIL_IN_ALLOWLIST بدلاً من ذلك.
حدود محاولات التحقق
تطبق ميزة التحقق من البريد الإلكتروني حداً أقصى صارماً على محاولات OTP لمنع إساءة الاستخدام:- محاولات إدخال الرمز —
email_max_check_attempts، والافتراضي هو 2: إدخال الرمز الخاطئ (أو المنتهي الصلاحية) للمرة الثانية يُنهي الخطوة. - محاولات الإرسال —
email_max_retries، والافتراضي هو عمليتا إرسال إجمالاً (2) (الإرسال الأولي بالإضافة إلى إعادة إرسال واحدة): يؤدي أي طلب إعادة إرسال إضافي إلى إنهاء الخطوة.
EMAIL_CODE_ATTEMPTS_EXCEEDED والرفض التلقائي. يمكنك تعديل كلا الحدين لكل عقدة سير عمل.
التحذيرات الناتجة
يتم إطلاق واحد على الأكثر من
EMAIL_IN_BLOCKLIST وDUPLICATED_EMAIL وEMAIL_IN_ALLOWLIST لكل محاولة — وتكون الأولوية لقائمة الحظر على التكرار، وللتكرار على قائمة السماح.
التطابقات عبر الجلسات
عند اكتشاف عنوان في عمليات تحقق سابقة مقبولة من البريد الإلكتروني أو في قائمة الحظر الخاصة بك، تظهر نتائج التطابق هذه أيضاً ضمنemail_verifications[].matches[] (بحد أقصى 5 مدخلات). يحمل كل تطابق session_id وsession_number وvendor_data وverification_date وemail وstatus وis_blocklisted وapi_service، وقيمة source إما session (عملية تحقق مقبولة أخرى) أو list_entry (مدخل في قائمة الحظر). إذا كان العنوان الحالي مدرجاً في قائمة السماح لبريدك الإلكتروني، تحتفظ Didit بأدلة التطابق ولكنها تصدر EMAIL_IN_ALLOWLIST بدلاً من تطبيق إجراء البريد الإلكتروني المكرر. راجع تقرير التحقق من البريد الإلكتروني للاطلاع على المخطط الكامل للتطابق.
مثال
أنواع التحذيرات
يتم تعيين مستوى خطورة لكل خطر بناءً على تكوين التطبيق الخاص بك. وتنقسم مستويات الخطورة إلى ثلاث فئات:مواضيع ذات صلة
- نظرة عامة على التحقق من البريد الإلكتروني — سلوك الميزة والأسعار.
- تقرير التحقق من البريد الإلكتروني — هيكل الاستجابة الكامل بما في ذلك
lifecycle[]وmatches[]. - نماذج البيانات — التحقق من البريد الإلكتروني — المخطط القياسي حقلاً بحقل.
- Management API — القوائم — إدارة قائمة حظر البريد الإلكتروني المستخدمة بواسطة
EMAIL_IN_BLOCKLIST.