> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# تحذيرات وأكواد أخطاء التحقق من الهوية

> جميع تحذيرات وحدة التحقق من الهوية في Didit تشمل أسباب الرفض التلقائي، والتلاعب، ومجموعات المخاطر مع أسبابها وطرق معالجتها.

## نظرة عامة

تحدد التحذيرات في تقرير التحقق من الهوية كل حالة لاحظتها Didit أثناء قراءة المستند والتحقق من صحته. وتصل هذه التحذيرات في مصفوفة `warnings[]` ضمن كل عنصر من `id_verifications[]` (راجع [تقرير التحقق من الهوية](https://docs.didit.me/ar/core-technology/id-verification/report-id-verification.md))، بالبنية الموضحة في [نماذج البيانات — كائن التحذير](https://docs.didit.me/ar/reference/data-models.md#كائن-التحذير): `feature`، و`risk`، و`additional_data`، و`log_type`، و`short_description`، و`long_description`، و`node_id`.

يتكون كل تحذير من ثلاث طبقات:

1. **رمز `risk`** — معرّف ثابت يمكنك مطابقته برمجياً في كودك.
2. **نوع `log_type`** — مشتق من الإجراء الذي يحدده تكوينك للمخاطر وقت التقييم: **رفض → `error`**، **المراجعة → `warning`**، وأي شيء آخر → `information`.
3. **التأثير على القرار** — تحدده مجموعات المخاطر القابلة للتكوين في سير العمل. يمكن توجيه رمز `risk` نفسه إلى **موافقة**، أو **المراجعة**، أو **رفض** بناءً على كيفية تكوين تطبيقك.

## شروط الرفض التلقائي

في سير العمل، تؤدي المخاطر التالية دائماً إلى تحويل تقرير الهوية (والجلسة) إلى `Declined` بشكل إلزامي. ولا يمكن تكوينها:

| المخاطر | المُشغِّل |
| - | - |
| `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` | نوع المستند المقدَّم ليس ضمن قائمة المستندات المسموح بها في تطبيقك. تتضمن `additional_data` الحقول `issuing_state`، و`document_type`، و`document_subtype`، و`document_region`، و`document_region_with_subtype` حتى تتمكن من تفعيل المستند المطلوب بدقة في سير عملك. |
| `DOCUMENT_EXPIRED` | انقضى تاريخ انتهاء صلاحية المستند في وقت التقاطه. |
| `PORTRAIT_IMAGE_NOT_DETECTED` | تعذر تحديد مكان الصورة الشخصية على المستند. |
| `ID_DOCUMENT_IN_BLOCKLIST` | يطابق المستند أحد المدخلات في قائمة الحظر الخاصة بتطبيقك. |
| `FRONT_CAMERA_FACE_IN_BLOCKLIST` | تطابق صورة السيلفي التي التقطتها الكاميرا الأمامية أثناء تصوير المستند وجهاً مدرجاً في قائمة حظر الوجوه الخاصة بك. |
| `AGE_BELOW_MINIMUM` | في سير عمل التحقق التكيفي من العمر فقط: العمر المستخرج أقل من الحد الأدنى. |
| `AGE_NOT_DETECTED` | في سير عمل التحقق التكيفي من العمر فقط: تعذر استخراج العمر من المستند. |

بالنسبة إلى **واجهة OCR المستقلة**، فإن مجموعة الرفض غير المشروط هي `DOCUMENT_EXPIRED`، و`MINIMUM_AGE_NOT_MET`، و`PORTRAIT_IMAGE_NOT_DETECTED`، و`SCREEN_CAPTURE_DETECTED`، و`PRINTED_COPY_DETECTED`، و`PORTRAIT_MANIPULATION_DETECTED`، و`PUBLIC_DOCUMENT_IMAGE_DETECTED`. أما في سير العمل، فيكون الحد الأدنى للسن قابلاً للتكوين (الافتراضي هو الرفض)، وتعتمد مخاطر حيوية المستند الثلاثة على حدود معينة (انظر أدناه).

تستقبل المخاطر القابلة للتكوين في تلك الـ API القيمتين `DECLINE` أو `NO_ACTION` كمعاملات للطلب بدلاً من قرار المراجعة. وتوجد نتيجة مراجعة واحدة فقط يمكن إرجاعها ولا تكون قابلة للتكوين: عندما لا يسفر فحص حيوية المستند المطلوب عن درجة قابلة للاستخدام، تكون الاستجابة `In Review` مع تحذير `DOCUMENT_LIVENESS_NOT_COMPUTED` (راجع [حيوية المستند](#كشف-حيوية-المستند-التلاعب)).

| معامل الطلب | المخاطر | القيمة الافتراضية |
| - | - | - |
| `invalid_mrz_action` | `MRZ_VALIDATION_FAILED`، `MRZ_NOT_DETECTED` | `DECLINE` |
| `inconsistent_data_action` | `DATA_INCONSISTENT`، `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME`، `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS` | `DECLINE` |
| `expiration_date_not_detected_action` | `EXPIRATION_DATE_NOT_DETECTED` | `NO_ACTION` |
| `critical_field_occlusion_action` | `CRITICAL_FIELD_OCCLUSION_DETECTED` | `DECLINE` |
| `document_or_personal_number_format_mismatch_action` | `DOCUMENT_NUMBER_FORMAT_MISMATCH`، `PERSONAL_NUMBER_FORMAT_MISMATCH` | `NO_ACTION` |

## إعدادات التحقق القابلة للتهيئة

في لوحة تحكم Didit، يتم تجميع مخاطر الهوية المتبقية في إعدادات يمكنك توجيهها إلى **موافقة**، أو **المراجعة**، أو **رفض** (لكل سير عمل، ولكل عقدة في مسارات عمل المخطط):

| المجموعة | المخاطر | الإجراء الافتراضي |
| - | - | - |
| **الحد الأدنى للعمر** | `MINIMUM_AGE_NOT_MET` | رفض |
| **الحد الأقصى للعمر** | `MAXIMUM_AGE_EXCEEDED` | رفض |
| **مستخدم مكرر** | `POSSIBLE_DUPLICATED_USER` (يتم تخطيه عندما يكون رقم المستند مدرجاً في قائمة السماح للمستندات الخاصة بك) | موافقة (معلومات) |
| **رمز غير صالح** | `QR_NOT_DETECTED`، `BARCODE_NOT_DETECTED`، `QR_VALIDATION_FAILED`، `BARCODE_VALIDATION_FAILED` | موافقة (معلومات) |
| **MRZ غير صالح** | `MRZ_VALIDATION_FAILED`، `MRZ_NOT_DETECTED` | موافقة (معلومات) |
| **عدم اتساق البيانات** | `DATA_INCONSISTENT`، `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME`، `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS`، `DOCUMENT_SIDES_MISMATCH`، `ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTS` | موافقة (معلومات) |
| **تحقق غير صالح** | `INVALID_DATE`، `COULD_NOT_RECOGNIZE_DOCUMENT`، `DOCUMENT_NUMBER_NOT_DETECTED`، `COULD_NOT_DETECT_DOCUMENT_TYPE`، `NAME_NOT_DETECTED`، `DATE_OF_BIRTH_NOT_DETECTED` | المراجعة |
| **عدم تطابق التفاصيل المتوقعة** | `FULL_NAME_MISMATCH_WITH_PROVIDED`، `GENDER_MISMATCH_WITH_PROVIDED`، `DOB_MISMATCH_WITH_PROVIDED`، `COUNTRY_MISMATCH_WITH_PROVIDED`، `NATIONALITY_MISMATCH_WITH_PROVIDED`، `IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDED` | المراجعة |
| **لم يتم اكتشاف تاريخ الانتهاء** | `EXPIRATION_DATE_NOT_DETECTED` | موافقة (معلومات) |
| **عدم تطابق تنسيق رقم المستند أو الرقم الشخصي** | `DOCUMENT_NUMBER_FORMAT_MISMATCH`، `PERSONAL_NUMBER_FORMAT_MISMATCH` (إجراء مشترك واحد) | المراجعة |
| **حجب حقل حرج** | `CRITICAL_FIELD_OCCLUSION_DETECTED` | المراجعة |
| **عنوان غير محلل** | `UNPARSED_ADDRESS` | موافقة (معلومات) |
| **جودة الصورة** | `IMAGE_TOO_BLURRY`، `IMAGE_TOO_DARK`، `IMAGE_TOO_BRIGHT` (إجراء واحد لكل خطر) | موافقة (معلومات) |
| **مستند بلا صورة شخصية** | `DOCUMENT_HAS_NO_PORTRAIT` | المراجعة |
| **وجه مكرر في التقاط صامت** | `FRONT_CAMERA_DUPLICATED_FACE`، `POSSIBLE_FRONT_CAMERA_DUPLICATED_FACE` (إجراء مشترك واحد) | موافقة (معلومات) |
| **تكرار في الالتقاط الصامت مع اسم مختلف** | `FRONT_CAMERA_DUPLICATED_FACE_NAME_MISMATCH` (يمكن أن يجعل نتيجة الوجه المكرر أكثر صرامة فقط) | المراجعة |
| **تكرار في الالتقاط الصامت مع تاريخ ميلاد مختلف** | `FRONT_CAMERA_DUPLICATED_FACE_DOCUMENT_MISMATCH` (يمكن أن يجعل نتيجة الوجه المكرر أكثر صرامة فقط) | المراجعة |

تأتي مخاطر التكرار في الالتقاط الصامت ومخاطر قائمة الحظر من [البحث بالوجه على صورة السيلفي الملتقطة أثناء التقاط المستند](https://docs.didit.me/ar/core-technology/face-search/overview.md#صورة-السيلفي-الملتقطة-أثناء-تصوير-المستند). يتم تشغيل البحث طالما كان خيار **البحث بالوجه عبر الالتقاط الصامت** (`document_selfie_face_search_enabled`) مفعّلاً، وهو الإعداد الافتراضي، ولم يتم إيقاف البحث بالوجه في خطوة كشف الحيوية؛ وإلا فلن يتم إطلاق أي من هذه المخاطر الستة.

تعتمد عائلتان من مخاطر الهوية على **الحدود** بدلاً من خيارات التبديل موافقة/المراجعة/رفض:

* **كشف حيوية المستند** — `SCREEN_CAPTURE_DETECTED`، `PRINTED_COPY_DETECTED`، `PORTRAIT_MANIPULATION_DETECTED`. لكل نوع احتيال حدوده الخاصة للرفض والمراجعة: درجة أقل من حد الرفض ← `error` + مرفوضة؛ أقل من حد المراجعة ← `warning` + قيد المراجعة؛ وإلا فستكون `information`.
* **مطابقة الوجه بين الكاميرات** — `LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITY`، ويحكمه `document_selfie_portrait_match_decline_threshold` / `document_selfie_portrait_match_review_threshold`.

### ضبط حدود كشف حيوية المستند

في محرر سير العمل، توجد هذه الحدود في علامة تبويب **تزوير** ضمن خطوة التحقق من الهوية، وتأتي في بطاقة واحدة لكل نوع احتيال: **استبدال الصورة الشخصية**، و**نسخة مطبوعة**، و**لقطة شاشة**.

يمنح كل فحص المستندَ درجة تتراوح بين `0` و`100` لمدى كونه أصلياً. **الدرجة الأعلى تعني أن المستند على الأرجح أصلي.** تقسم القيمتان الموجودتان في كل بطاقة هذا المقياس إلى ثلاثة نطاقات:

| الدرجة | النتيجة |
| - | - |
| أقل من قيمة **رفض** | `error`، وتصبح الجلسة مرفوضة |
| مساوية لقيمة **رفض** أو أعلى منها وأقل من قيمة **المراجعة** | `warning`، وتنتقل الجلسة إلى قيد المراجعة |
| مساوية لقيمة **المراجعة** أو أعلى منها | `information`، ويجتاز الفحص بنجاح |

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

القيم الافتراضية للمنصة، والمستخدمة عندما لا يحدد سير العمل قيمة معينة:

| نوع الاحتيال | الرفض أدنى من | المراجعة أدنى من | مفاتيح إعدادات سير العمل |
| - | - | - | - |
| استبدال الصورة الشخصية | `35` | `70` | `document_liveness_portrait_replace_decline_threshold`، `document_liveness_portrait_replace_review_threshold` |
| نسخة مطبوعة | `35` | `77` | `document_liveness_printed_copy_decline_threshold`، `document_liveness_printed_copy_review_threshold` |
| لقطة شاشة | `30` | `70` | `document_liveness_screen_replay_decline_threshold`، `document_liveness_screen_replay_review_threshold` |

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

* **المراجعة عند `100`.** فقط الدرجة الكاملة تجتاز بنجاح، لذا فإن كل الجلسات تقريباً تنتقل إلى قيد المراجعة أو يتم رفضها.
* **الرفض عند `100`.** فقط الدرجة الكاملة تتجنب الرفض، لذا يتم رفض كل الجلسات تقريباً.
* **كلا القيمتين عند `0`.** لا تُصنَّف أي درجة على أنها مخالفة على الإطلاق، وبالتالي يكون الفحص معطلاً فعلياً.

تعيين كلا القيمتين على الرقم نفسه يزيل نطاق قيد المراجعة: يتم رفض أي درجة أدنى منه وتجتاز أي درجة أخرى بنجاح.

عندما يؤدي كل من **نسخة مطبوعة** و**لقطة شاشة** إلى الإبلاغ عن المستند نفسه، يتم الإبلاغ فقط عن `SCREEN_CAPTURE_DETECTED`.

تستخدم مطابقة الوجه بين الكاميرات الفكرة ذاتها مع وجود فارق واحد عند الحد الفاصل: الدرجة المساوية لحد المراجعة الخاص بها تنتقل مع ذلك إلى قيد المراجعة.

أربعة مخاطر تتعلق بالهوية ليست قابلة للتهيئة ولا تعتمد على الحدود. يُوجَّه الخطر `POSSIBLE_FRONT_CAMERA_FACE_IN_BLOCKLIST` دائماً إلى **المراجعة**: فصورة السيلفي القريبة من وجه مدرج في قائمة الحظر، دون أن تكون تطابقاً مؤكداً، يُترك الحكم عليها لشخص، ولا تُرفض تلقائياً أبداً ولا يتم تجاهلها على الإطلاق. يُوجَّه `BARCODE_SIGNATURE_INVALID` دائماً إلى **المراجعة**. ولا يتم إطلاقه إلا عندما يحمل الرمز الشريطي توقيعاً من جهة الإصدار يفشل في التحقق التشفيري، لذا لا يوجد أي تكوين يتم فيه تجاهل التزوير المؤكد. يُعد `DOCUMENT_BACK_SIDE_NOT_AVAILABLE` دائماً مجرد **معلومات** ولا يؤثر أبداً على القرار: فهو يُفيد بوجود قيد في كتالوج مستندات Didit، وليس خاصية في المستند المقدّم، لذا لا يوجد أي تكوين يمكنه أن يؤدي إلى رفض الحامل الحقيقي للمستند أو إحالته إلى المراجعة.
يُوجَّه `FRONT_CAMERA_CAPTURED_DOCUMENT` دائماً إلى **المراجعة**.
ولا يتم إطلاقه إلا عندما يُظهر إطار الكاميرا الأمامية الملتقط أثناء مسح المستند مستند هوية دون وجود أي شخص، وبذلك فإن أي التقاط لا يُظهر من كان يحمل المستند يصل دائماً إلى إنسان.
يتم التحقق منه كلما كانت مطابقة السيلفي مع صورة المستند الملتقطة (`is_document_selfie_portrait_match_enabled`) مفعّلة.

## التحذيرات الصادرة

تم التحقق منها وفقاً لـ `collect_ocr_logs`، وسير عمل التقاط المستندات، و`process_ocr_logs_and_get_status`. الأوصاف القصيرة الموضحة أدناه هي سلاسل `short_description` الدقيقة التي تُرجعها API.

### التعرّف على المستند وجودته

| الخطر | الوصف القصير | السبب | مستوى الخطورة |
| - | - | - | - |
| `COULD_NOT_RECOGNIZE_DOCUMENT` | Could not validate Document | لم يتمكن النظام من تأكيد صحة المستند المقدم أو صلاحيته — وغالباً ما يعود ذلك إلى رداءة جودة الصورة أو نوع مستند غير مدعوم. تُستخدم أيضاً كبديل احتياطي لحالات فشل المعالجة غير المعروفة. | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `COULD_NOT_DETECT_DOCUMENT_TYPE` | Could not detect document type | لا يتطابق وجه المستند مع تصميم مستند رسمي معروف بدرجة ثقة عالية، أو تعذر على محرك OCR تصنيف عائلة المستند (جواز سفر مقابل بطاقة هوية مقابل رخصة قيادة). المستند الذي يحتوي على بيانات صحيحة ولكن تصميمه لا يتطابق مع أي تصميم رسمي (مستند معدّل أو تم إنشاؤه عبر الكمبيوتر، أو تصميم جديد غير مدعوم بعد) ينتهي به الأمر هنا. عند إطلاق هذا التحذير، يتم كتم `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` (النوع غير معروف، لذا سيكون "غير مدعوم" متناقضاً). | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` | Document not supported for your application | نوع المستند الذي تم التعرف عليه ليس ضمن القائمة المسموح بها للتطبيق. يحتوي `additional_data` على الدولة، ونوع المستند، والنوع الفرعي، والنوع الفرعي المرتبط بالمنطقة. | `error` — **رفض تلقائي** |
| `DOCUMENT_EXPIRED` | Document expired | في وقت الالتقاط: تاريخ انتهاء صلاحية المستند في الماضي (`error`، رفض تلقائي). بعد الموافقة: تضيف المراقبة المستمرة لانتهاء الصلاحية هذا التحذير مع `log_type: "warning"` عندما يحل تاريخ انتهاء صلاحية المستند المقبول، وتصبح حالة التقرير `Expired`. | `error` عند الالتقاط؛ `warning` من المراقبة |
| `DOCUMENT_SIDES_MISMATCH` | Document sides mismatch | صورتا الوجهين الأمامي والخلفي لا تنتميان إلى نفس المستند. | قابل للتهيئة — Data Inconsistency، الافتراضي information |
| `DOCUMENT_BACK_SIDE_NOT_AVAILABLE` | Back side not available for this document | طلب سير العمل كلا الوجهين، وتم التعرف على الوجه الأمامي، ودليل مستندات Didit لا يسجل أي وجه خلفي لهذا المستند بعينه، لذلك تعذر جمع سوى الوجه الأمامي فقط. أدلة التقرير تكون أحادية الجانب. لا يوجد أي خطأ في المستند المقدم، ولا يُطلب من حامله إعادة التقاطه أبداً، وإعادة المسح الضوئي لا يمكنها إضافة وجه خلفي. يحمل `additional_data` قيمة `front_document_name` التي تم التعرف عليها. | `information` — لا يؤثر أبداً على القرار |
| `PORTRAIT_IMAGE_NOT_DETECTED` | Portrait image not detected | تعذر تحديد موقع صورة شخصية على مستند يجب أن يحتوي عليها (يتم تأجيله عندما يرفع المستخدم الوجه غير المحتوي على صورة شخصية أولاً). | `error` — **رفض تلقائي** |
| `DOCUMENT_HAS_NO_PORTRAIT` | Document has no portrait | عائلة المستند التي تم التعرف عليها لا تحتوي أبداً على صورة شخصية في أي وجه (بعض تصاريح الإقامة، والبطاقات الصحية، وشهادات التسجيل، والبطاقات الضريبية، ومجموعة فرعية من رخص القيادة/بطاقات الهوية). هذه حقيقة على مستوى كتالوج المستندات بشأن نوع المستند، وليست مشكلة في جودة الصورة — إعادة المسح الضوئي للمستند لا يمكنها تغيير النتيجة. | قابل للتهيئة — Document Without Portrait، المراجعة الافتراضية Review |
| `IMAGE_TOO_BLURRY` / `IMAGE_TOO_DARK` / `IMAGE_TOO_BRIGHT` | Document image is too blurry / too dark / too bright | رفضت بوابة جودة الصورة عملية الرفع (يُطلب من المستخدم إعادة الالتقاط). تحتوي `additional_data` على قيمة `side` التي حدث فيها الفشل. تؤدي إعادة الالتقاط الناجحة إلى مسح التحذير القديم؛ ويتم تخطي البوابة في المحاولة الأخيرة المسموح بها للمستخدم حتى لا يتم حظره بشكل نهائي. | قابل للتهيئة — إجراء Image Quality لكل خطر، الافتراضي information |

> [!NOTE]
>
> يمكن لمسار الالتقاط أيضاً رفض الرفع باستخدام رموز الملاحظات `IMAGE_RESOLUTION_TOO_LOW`، و`DOCUMENT_NOT_FULLY_VISIBLE`، و`IMAGE_QUALITY_TOO_LOW`، و`DOCUMENT_OCCLUSION_DETECTED` (يُحكَم على أن إصبعاً أو جسماً يغطي النص المطبوع فعلياً). يطالب كل منها بإعادة الالتقاط في SDK ويتم تسجيله في التقرير كخطر خاص به، يتم توجيهه بواسطة إعدادات جودة الصورة — يتشارك `DOCUMENT_OCCLUSION_DETECTED` و`IMAGE_QUALITY_TOO_LOW` في إجراء واحد. وهي تصف *الالتقاط*: إعادة الالتقاط الناجحة تمسح التحذير. أما ما إذا كان الحقل المغطى يجب أن يؤثر على القرار فهو أمر منفصل خاص بالنزاهة `CRITICAL_FIELD_OCCLUSION_DETECTED` أدناه، والذي يتم إطلاقه في وقت اتخاذ القرار ويكون افتراضياً Review.

> [!TIP]
>
> إذا كان سير العمل الخاص بك يبني التحقق من الهوية على مطابقة الوجه بدلاً من الصورة الشخصية للمستند، فيُرجى مراعاة توجيه **Document Without Portrait** إلى الرفض — وإلا فستصل عائلة مستندات بدون صورة شخصية إلى مطابقة الوجه مع عدم وجود شيء للمقارنة به.

### استخراج الحقول

| الخطر | الوصف القصير | السبب | مستوى الخطورة |
| - | - | - | - |
| `NAME_NOT_DETECTED` | First name and/or last name not detected | تعذر استخراج الاسم الأول واسم العائلة. يُستثنى من ذلك عندما يكون لحامل المستند اسم واحد بحكم القانون (البلدان التي يُستخدم فيها اسم واحد، أو أن منطقة MRZ نفسها تحمل اسماً واحداً) وتم استخراج قيمة اسم واحدة على الأقل. | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `DATE_OF_BIRTH_NOT_DETECTED` | Date of birth not detected | تعذر استخراج تاريخ الميلاد من مستند يجب أن يحتوي عليه. | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `DOCUMENT_NUMBER_NOT_DETECTED` | Document number not detected | تعذر استخراج رقم المستند أو الرقم الشخصي. | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `EXPIRATION_DATE_NOT_DETECTED` | Expiration date not detected | تعذر استخراج تاريخ الانتهاء من مستند يجب أن يحتوي عليه. | قابل للتهيئة — Expiration Date Not Detected، الافتراضي information |
| `INVALID_DATE` | Invalid Date | أحد التواريخ الموجودة على المستند (تاريخ الميلاد أو الانتهاء) لا يمكن تحليله كتاريخ صالح. في مسار الالتقاط الحالي، يظهر هذا كمطالبة بإعادة الالتقاط أثناء الرفع بدلاً من تحذير مخزن؛ ويبقى الرمز في مجموعة توجيه Invalid Validation وقد يظهر في الجلسات القديمة. | قابل للتهيئة — Invalid Validation، المراجعة الافتراضية Review |
| `DOCUMENT_NUMBER_FORMAT_MISMATCH` | عدم تطابق تنسيق رقم المستند | لا يتطابق رقم المستند مع التنسيق المتوقع المُهيّأ لهذا النوع من المستندات. يحمل `additional_data` الحقلين `expected_format` و`extracted_value`. | قابل للتكوين — Format Mismatch، الافتراضي Review |
| `PERSONAL_NUMBER_FORMAT_MISMATCH` | عدم تطابق تنسيق الرقم الشخصي | لا يتطابق الرقم الشخصي مع التنسيق المتوقع المُهيّأ لهذا النوع من المستندات. | قابل للتكوين — Format Mismatch، الافتراضي Review |
| `CRITICAL_FIELD_OCCLUSION_DETECTED` | حقل مستند مهم مغطى | أفاد فحص الاحتجاب بأن حقلاً مطبوعاً مهماً كان مغطى فعلياً في الصورة الملتقطة — رقم الهوية، أو الاسم، أو تاريخ الميلاد، أو تاريخ الانتهاء. هذه إشارة تتعلق بسلامة المستند وليست بجودة الالتقاط: فتغطية الأرقام نفسها التي تُطابَق معها البيانات الواردة في التقرير هي مظهر المستند الخاضع للتعديل أو التلاعب. يتم إسقاط القيمة المقروءة للحقل المغطى من عملية الاستخراج بدلاً من إعادتها كقيمة مؤكدة، ولذا غالباً ما يصاحب هذا التحذير خطر `*_NOT_DETECTED` المطابق له. يحمل `additional_data` أسماء الحقول المغطاة في `covered_fields`، و`covered_identifiers` عندما يغذي أحدها `document_number` أو `personal_number`. | قابل للتكوين — Critical Field Covered، الافتراضي Review |

### MRZ وQR والباركود

يتم تخطي مخاطر MRZ الثلاثة لجميع أنواع المستندات التي تتضمن مناطق MRZ معروفة بعدم موثوقيتها.

| الخطر | الوصف المختصر | السبب | مستوى الخطورة |
| - | - | - | - |
| `MRZ_NOT_DETECTED` | لم يتم اكتشاف MRZ | تعذر العثور على MRZ في مستند ينبغي أن يحتوي عليها. | قابل للتكوين — Invalid MRZ، الافتراضي information |
| `MRZ_VALIDATION_FAILED` | منطقة MRZ غير صالحة | فشلت MRZ في التحقق من المجموع الاختباري (checksum) / التنسيق. غالباً ما يكون ذلك بسبب التقاط منخفض الجودة؛ وقد يشير إلى التلاعب. | قابل للتكوين — Invalid MRZ، الافتراضي information |
| `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME` | توجد بعض التناقضات بين MRZ والبيانات المستخرجة من OCR | لا تتطابق محتويات MRZ مع OCR الخاص بالمنطقة المرئية (VIZ). احتمال وجود تعديل. | قابل للتكوين — Data Inconsistency، الافتراضي information |
| `QR_NOT_DETECTED` | لم يتم اكتشاف رمز QR | تعذر العثور على رمز QR في مستند ينبغي أن يحتوي عليه. | قابل للتكوين — Invalid Code، الافتراضي information |
| `QR_VALIDATION_FAILED` | فشل التحقق من رمز QR | تعذر التحقق من محتويات QR مقابل بقية المستند. | قابل للتكوين — Invalid Code، الافتراضي information |
| `BARCODE_NOT_DETECTED` | لم يتم اكتشاف الباركود | تعذر العثور على الباركود في مستند ينبغي أن يحتوي عليه. | قابل للتكوين — Invalid Code، الافتراضي information |
| `BARCODE_VALIDATION_FAILED` | فشل التحقق من الباركود | تعذر التحقق من محتويات الباركود مقابل بقية المستند. | قابل للتكوين — Invalid Code، الافتراضي information |
| `BARCODE_SIGNATURE_INVALID` | توقيع الباركود غير صالح | يحمل الباركود توقيعاً رقمياً من الجهة المصدرة، وفشل التحقق من هذا التوقيع - فالبيانات الموجودة في الباركود ليست هي البيانات التي وقعت عليها الجهة، مما يشير إلى مستند مزور أو معدل. يتم التحقق من ذلك حالياً لرموز باركود **2D-Doc الفرنسية (ANTS)**، حيث يسمح التوقيع المتحقق منه لـ Didit بترقية الحقول دون الحاجة إلى تأكيد من MRZ؛ بينما يتم اكتشاف توقيعات AAMVA (رخص القيادة وبطاقات الهوية في الولايات المتحدة وكندا) وتسجيلها فقط، دون فرضها حتى الآن. | ثابت - Review (مجموعة الإجراءات الخاصة `invalid_barcode_signature_action`؛ غير قابلة للتكوين عبر لوحة التحكم/API حتى الآن) |
| `DATA_INCONSISTENT` | بيانات OCR في المستند غير متسقة | البيانات المستخرجة من أجزاء مختلفة من المستند غير متطابقة — عادة بين الوجهين الأمامي والخلفي للمستند نفسه. | قابل للتكوين — Data Inconsistency، الافتراضي information |

> [!NOTE]
>
> يغطي التحقق من توقيع الباركود حالياً بطاقات الهوية الوطنية الفرنسية، التي يتم توقيع باركود ANTS 2D-Doc الخاص بها من قبل الجهة المصدرة. يتم إطلاق `BARCODE_SIGNATURE_INVALID` فقط عندما يرفض فحص التوقيع نفسه الـ payload. يُعامل الباركود الذي لا يحتوي على توقيع، أو الموقع من قبل جهة ليست مدرجة بعد في مخزن الثقة لدى Didit، أو الذي يتعذر فك ترميز توقيعه، كبيانات غير مصادق عليها ويتم التحقق من صحتها مقابل MRZ والنص المطبوع كما كان في السابق، دون إثارة هذا الخطر.
>
> لا يتم التحقق من رموز باركود رخص القيادة في الولايات المتحدة وكندا (AAMVA) تشفيرياً: فالتوقيع الرقمي هناك اختياري ويختلف حسب الولاية القضائية، ولا تنشر أي ولاية قضائية مفاتيح التحقق، لذلك تكتشف Didit وتسجل فقط ما إذا كان الـ payload يحمل توقيعاً؛ ولا يتم فحص التوقيع نفسه مطلقاً. إن حالات فشل توقيع AAMVA لا تُعد إشارة مخاطر حالياً. ولا يظهر الـ payload المتلاعب به في AAMVA إلا كـ `BARCODE_VALIDATION_FAILED`، وفقط إذا أدى التلاعب أيضاً إلى عدم تطابق الباركود مع MRZ أو البيانات المطبوعة/OCR - ويمر التوقيع المزور على payload متسق داخلياً دون أي إشارة على الإطلاق.
>
> لا يُطلب من المستخدم أبداً إعادة الالتقاط عند ظهور `BARCODE_SIGNATURE_INVALID`: فالتوقيع الذي لا يطابق الـ payload لا يمكن إصلاحه بالتقاط صورة أفضل.

### مطابقة الهوية

| الخطر | الوصف المختصر | السبب | مستوى الخطورة |
| - | - | - | - |
| `ID_DOCUMENT_IN_BLOCKLIST` | مستند الهوية مدرج في قائمة الحظر | يتطابق المستند مع مستند محظور (نفس تاريخ الميلاد، ودولة الإصدار، ورقم المستند بالضبط) أو رقم مستند مدرج يدوياً في قائمة الحظر. يحمل `additional_data` مرجع الجلسة المدرجة في قائمة الحظر. | `error` — **رفض تلقائي** |
| `ID_DOCUMENT_IN_ALLOWLIST` | مستند الهوية مدرج في قائمة السماح | يتطابق رقم المستند مع قائمة السماح بالمستندات الخاصة بك، لذا تم تخطي الإجراء الخاص بالمستخدم المكرر. يحمل `additional_data` الحقل `document_number`. | `information` |
| `POSSIBLE_DUPLICATED_USER` | مستخدم مكرر محتمل من جلسة أخرى | يوجد مستند آخر في تطبيقك له نفس تاريخ الميلاد، ونفس دولة الإصدار، واسم كامل متطابق إلى حد كبير — لمستخدم مختلف (`vendor_data`)، بغض النظر عن حالة تلك الجلسة. يحمل `additional_data` مرجع الجلسة المكررة. | قابل للتكوين — Duplicated User، الافتراضي information |
| `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS` | يختلف الاسم الموجود على هذا المستند عن الأسماء الواردة في المستندات المقبولة الأخرى | يختلف الاسم الموجود على هذا المستند عن المستندات المقبولة سابقاً للمستخدم نفسه. يُنتَج فقط لحسابات بروتوكول Didit ‏(UserKYC)، وليس لجلسات API القياسية. | قابل للتكوين — Data Inconsistency، الافتراضي information |
| `ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTS` | عدم تطابق البيانات بين مستندات التحقق من الهوية | مستندان للتحقق من الهوية في الجلسة نفسها غير متطابقين في الاسم أو تاريخ الميلاد. | قابل للتهيئة — عدم اتساق البيانات، افتراضيًا information |
| `LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITY` | الصورة السيلفي أثناء التقاط المستند لا تطابق الصورة الشخصية في المستند | الوجه الملتقط بواسطة الكاميرا الأمامية للمستخدم أثناء التقاط المستند لا يطابق الصورة الشخصية على المستند بشكل جيد. | يعتمد على الحدود: `error` أقل من حد الرفض، و`warning` عند حد المراجعة أو أقل منه |
| `FRONT_CAMERA_FACE_IN_BLOCKLIST` | الصورة السيلفي أثناء التقاط المستند تطابق وجهاً في قائمة الحظر | الوجه في الصورة السيلفي الملتقطة بواسطة الكاميرا الأمامية أثناء التقاط المستند يتطابق بدرجة ثقة عالية مع وجه في قائمة الحظر لديك، سواء أُضيف ذلك الوجه من فحص كشف الحيوية، أو من صورة سيلفي لالتقاط المستند في جلسة أخرى، أو عبر الرفع. يحمل `additional_data` مرجع الجلسة المحظورة (`blocklisted_session_id` و`blocklisted_session_number`) عندما يكون الوجه المدرج في قائمة الحظر قادماً من جلسة، و`face_image_source` (`front_image_camera_front` أو `back_image_camera_front`) للصورة السيلفي التي تطابقت. | `error` — **رفض تلقائي** |
| `POSSIBLE_FRONT_CAMERA_FACE_IN_BLOCKLIST` | قد تطابق الصورة السيلفي أثناء التقاط المستند وجهاً في قائمة الحظر | الوجه في الصورة السيلفي الملتقطة أثناء التقاط المستند مشابه لوجه في قائمة الحظر لديك، ولكنه ليس مشابهاً بدرجة كافية ليكون تطابقاً مؤكداً. نفس `additional_data` كما هو موضح أعلاه. | `warning` — **دائماً مراجعة** |
| `FRONT_CAMERA_DUPLICATED_FACE` | الصورة السيلفي أثناء التقاط المستند تطابق مستخدماً مقبولاً | الوجه في الصورة السيلفي الملتقطة بواسطة الكاميرا الأمامية أثناء التقاط المستند يطابق بثقة وجه مستخدم مقبول بالفعل في تطبيقك، وبالتالي قد يكون الشخص نفسه يجري التحقق مرة أخرى تحت حساب آخر. يحمل `additional_data` الجلسة المتطابقة (`duplicated_session_id` و`duplicated_session_number`) و`face_image_source` للصورة السيلفي التي تطابقت. | وفقاً لـ **وجه مكرر في التقاط صامت** (الافتراضي قبول، `information`) |
| `POSSIBLE_FRONT_CAMERA_DUPLICATED_FACE` | قد تطابق الصورة السيلفي أثناء التقاط المستند مستخدماً مقبولاً | الوجه في الصورة السيلفي الملتقطة أثناء التقاط المستند مشابه لوجه مستخدم مقبول بالفعل في تطبيقك، ولكنه ليس مشابهاً بدرجة كافية ليكون تطابقاً مؤكداً. نفس `additional_data` كما هو موضح أعلاه. | وفقاً لـ **وجه مكرر في التقاط صامت** (الافتراضي قبول، `information`) |
| `FRONT_CAMERA_DUPLICATED_FACE_NAME_MISMATCH` | الصورة السيلفي لالتقاط المستند تطابق مستخدماً باسم مختلف | يُثار بالإضافة إلى `FRONT_CAMERA_DUPLICATED_FACE` عندما يكون المستخدم المقبول قد تم التحقق منه باسم مختلف. يضيف `additional_data` الحقل `name_match_score`؛ ولا يحمل أبداً اسم المستخدم الآخر. | وفقاً لـ **التكرار في الالتقاط الصامت مع اسم مختلف** (الافتراضي المراجعة، `warning`) |
| `FRONT_CAMERA_DUPLICATED_FACE_DOCUMENT_MISMATCH` | الصورة السيلفي لالتقاط المستند تطابق مستخدماً بتاريخ ميلاد مختلف | يُثار بالإضافة إلى `FRONT_CAMERA_DUPLICATED_FACE` عندما يُظهر مستند الهوية الخاص بالمستخدم المقبول تاريخ ميلاد مختلفاً. لا يتم وضع علامة على مستند مختلف للشخص نفسه (على سبيل المثال جواز سفر بعد بطاقة هوية)، أو مستند مجدد، أو نفس رقم المستند من الدولة نفسها. يضيف `additional_data` الحقل `mismatch_dimensions`، ولا يحمل أبداً بيانات مستند المستخدم الآخر. | وفقاً لـ **التكرار في الالتقاط الصامت مع تاريخ ميلاد مختلف** (الافتراضي المراجعة، `warning`) |
| `FRONT_CAMERA_CAPTURED_DOCUMENT` | التقطت الكاميرا الأمامية مستند هوية بدلاً من المستخدم | يُظهر إطار الكاميرا الأمامية الملتقط أثناء مسح المستند مستند هوية (على سبيل المثال بطاقة مرفوعة أمام الكاميرا) ولا يُظهر أي شخص. لا يتم احتساب مطابقة الصورة السيلفي لالتقاط المستند لهذا الإطار. | دائماً **مراجعة** |

### كشف حيوية المستند (التلاعب)

تعتمد على الحدود لكل نوع من أنواع الاحتيال في مسارات سير العمل. في API المستقل لـ OCR، ترفض هذه المخاطر الثلاث دون شروط، والفحص المطلوب الذي لا يُنتج أي درجة قابلة للاستخدام يُرجع `In Review` بدلاً من القبول.

توجد الدرجات نفسها في كل تقرير V3 كـ [`document_liveness`](https://docs.didit.me/ar/core-technology/id-verification/report-id-verification#درجات-حيوية-المستند)، بما في ذلك الحالات التي لم يُطلق فيها أي تحذير، بحيث يظل بالإمكان تدقيق المستند المقبول.

| الخطر | وصف قصير | السبب | مستوى الخطورة |
| - | - | - | - |
| `SCREEN_CAPTURE_DETECTED` | تم اكتشاف لقطة شاشة للمستند | تم التقاط المستند من شاشة بدلاً من كونه مستنداً مادياً. | `error` أقل من حد الرفض، و`warning` أقل من حد المراجعة، وإلا فـ `information` |
| `PRINTED_COPY_DETECTED` | تم اكتشاف نسخة مطبوعة من المستند | يبدو أن المستند نسخة مطبوعة وليس الأصل. | نفس حدود الفئات الثلاث |
| `PORTRAIT_MANIPULATION_DETECTED` | تم اكتشاف تلاعب بالصورة الشخصية | يبدو أن منطقة الصورة الشخصية قد تم استبدالها أو تعديلها. | نفس حدود الفئات الثلاث |
| `DOCUMENT_LIVENESS_NOT_COMPUTED` | تعذر احتساب فحص كشف حيوية المستند | فحص كشف حيوية المستند (التزوير) المطلوب لم يُرجع أي درجة قابلة للاستخدام — تعطل المزود، أو استجاب برمز غير 200، أو استجاب بـ HTTP 200 مع `status="ERR"` — لذلك لم يتم فحص المستند أبداً لاكتشاف استبدال الصورة الشخصية، أو النسخة المطبوعة، أو إعادة العرض من شاشة. لا تُعد الدرجة المفقودة دليلاً على صحة المستند. خاص بـ API المستقل لـ OCR فقط. | `warning` + `In Review` (غير قابل للتهيئة؛ ولا يتجاوز أبداً حالة `Declined`) |

### سلامة قناة الالتقاط

| الخطر | وصف قصير | السبب | قابل للتهيئة عبر | القيمة الافتراضية |
| - | - | - | - | - |
| `INJECTION_ATTACK_DETECTED` | تم اكتشاف هجوم حقن | أُدخلت الإطارات إلى الالتقاط بدلًا من التقاطها بواسطة كاميرا الجهاز نفسه: كاميرا برمجية افتراضية يمكنها تشغيل أي فيديو، أو بث كاميرا تم إنشاؤه بواسطة الصفحة أو عبر أتمتة المتصفح، أو كاميرا جرى ربطها بأداة اعتراض، أو أداة رصد متصلة بالتطبيق هي التي زودت الإطارات. يدرج `additional_data.reasons` الأسباب التي تثبت ذلك فقط، وتكون `source` هي `capture_integrity`. ينطبق هذا على التقاط المستند وعلى الصورة السيلفي الملتقطة للبحث عن الهوية. | `id_verification_injection_attack_action` | **رفض** |

يعكس `log_type` الإجراء المُهيأ: `error` للرفض، و`warning` للمراجعة، و`information` لعدم اتخاذ أي إجراء.
الإجراء الموصى به: تعامل مع الجلسة المرفوضة على أنها عملية التقاط محقونة واطلب من الشخص إعادة المحاولة على جهاز فعلي باستخدام كاميرته المدمجة.
الإشارات التي يمكن لشخص حقيقي إنتاجها لا تطلق أبدًا `INJECTION_ATTACK_DETECTED` وتظل معلوماتية.
التطبيقات التي تنقل بث كاميرا حقيقية، مثل هاتف يُستخدم ككاميرا ويب أو طبقة تأثيرات فوق كاميرا ويب حقيقية، لا يتم الإبلاغ عنها كهجمات حقن.
هذا هو كشف هجوم الحقن، وهو منفصل عن كشف هجوم العرض (عنصر مزيف معروض أمام كاميرا حقيقية).

### صور المستندات العامة المعروفة

| الخطر | الوصف المختصر | السبب | مستوى الخطورة |
| - | - | - | - |
| `PUBLIC_DOCUMENT_IMAGE_DETECTED` | اكتشاف صورة مستند عامة معروفة على الإنترنت | تتطابق صورة المستند المقدمة مع صورة معروفة ومتاحة علنًا على الإنترنت (على سبيل المثال عينة أو صورة صحفية أو صورة مستند من بنك صور)، وبالتالي لا يمكن أن تكون صورة لمستند فعلي خاص بالمستخدم. تستخدم المطابقة أخذ البصمات الدقيقة والإدراكية (pHash/dHash) مقابل قاعدة بيانات Didit لصور المستندات العامة المعروفة؛ وتحمل `additional_data` القيم `match_type` (`exact` أو `perceptual`)، و`source`، و`source_url`، و`similarity_score` (0-100). | ثابتة - مراجعة في سير العمل؛ **رفض تلقائي** في API المستقل `/id-verification` |

### حالات عدم تطابق التفاصيل المتوقعة

عند تمرير `expected_details` إلى جلسة، تصدر Didit تحذير عدم تطابق لكل حقل لا يتطابق. يتحكم إعداد واحد (`expected_details_mismatch_action`، والافتراضي فيه هو المراجعة) في توجيه كل هذه التحذيرات:

| الخطر | الوصف المختصر | السبب |
| - | - | - |
| `FULL_NAME_MISMATCH_WITH_PROVIDED` | عدم تطابق الاسم الكامل مع المعلومات المقدمة | الاسم المقدم يحقق درجة أقل من حد مطابقة الاسم مقارنة بالمستند. |
| `DOB_MISMATCH_WITH_PROVIDED` | عدم تطابق تاريخ الميلاد مع المعلومات المقدمة | تاريخ الميلاد المقدم لا يتطابق. |
| `GENDER_MISMATCH_WITH_PROVIDED` | عدم تطابق الجنس مع المعلومات المقدمة | الجنس المقدم لا يتطابق. |
| `COUNTRY_MISMATCH_WITH_PROVIDED` | عدم تطابق الدولة مع المعلومات المقدمة | الدولة المقدمة لا تتطابق مع `issuing_state`. |
| `NATIONALITY_MISMATCH_WITH_PROVIDED` | عدم تطابق الجنسية مع المعلومات المقدمة | الجنسية المقدمة لا تتطابق. |
| `IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDED` | عدم تطابق رقم الهوية مع المعلومات المقدمة | رقم الهوية المقدم لا يتطابق مع رقم المستند أو الرقم الشخصي أو الرقم الضريبي. |

يحمل كل تحذير عدم تطابق القيم المتوقعة والمستخرجة في `additional_data`.

### العمر

| الخطر | الوصف المختصر | السبب | مستوى الخطورة |
| - | - | - | - |
| `MINIMUM_AGE_NOT_MET` | عدم استيفاء الحد الأدنى للعمر | حامل المستند دون الحد الأدنى للسن المُهيأ (عام أو لكل دولة/ولاية). تحمل `additional_data` القيمتين `min_age_allowed` و`user_age`. | قابل للتهيئة — الحد الأدنى للعمر، وافتراضه رفض (`error`)؛ رفض غير مشروط في API المستقل لـ OCR |
| `MAXIMUM_AGE_EXCEEDED` | تجاوز الحد الأقصى للعمر | حامل المستند تجاوز الحد الأقصى للسن المُهيأ. تحمل `additional_data` القيمتين `max_age_allowed` و`user_age`. | قابل للتهيئة — الحد الأقصى للعمر، وافتراضه رفض (`error`) |
| `AGE_NOT_DETECTED` | تعذر اكتشاف العمر | في سير عمل التحقق التكيفي من العمر: تعذر استخراج العمر من المستند. | `error` — **رفض تلقائي** |
| `AGE_BELOW_MINIMUM` | العمر أقل من الحد الأدنى | في سير عمل التحقق التكيفي من العمر: العمر المستخرج أقل من الحد الأدنى. | `error` — **رفض تلقائي** |

### العنوان

| الخطر | الوصف المختصر | السبب | مستوى الخطورة |
| - | - | - | - |
| `UNPARSED_ADDRESS` | تعذر تحديد موقع العنوان | يحدد المستند حقل عنوان، ولكن تعذر تحليل العنوان المستخرج أو تحديد موقعه الجغرافي. | قابل للتهيئة — عنوان غير معالج، وافتراضه معلوماتي |

## مطابقة المستندات عبر الجلسات

بالإضافة إلى التحذيرات المذكورة أعلاه، يوفر تقرير الهوية V3 مصفوفة `matches[]` — حتى 5 مستندات أخرى في تطبيقك لها نفس تاريخ الميلاد، ونفس دولة الإصدار، واسم كامل شديد التشابه (تتطلب المستندات المدرجة في قائمة الحظر بالإضافة إلى ذلك تطابقًا تامًا في رقم المستند)، باستثناء الجلسات التي تنتمي إلى نفس المستخدم. تظهر المستندات المضافة إلى قائمة الحظر الخاصة بك مع القيمة `is_blocklisted: true`. بينما تظل المستندات الموجودة في قائمة السماح تظهر في المطابقات، ولكن يتم تخطي الإجراء الخاص بالمستخدم المكرّر.

تتضمن كل مطابقة `session_id`، و`session_number`، و`vendor_data`، و`verification_date`، و`user_details` (`name`، و`document_type`، و`document_number`)، و`status`، و`is_blocklisted`، و`api_service`، ورابط `front_image_url` موقّع.

## أمثلة

### تحذير قابل للتهيئة عند توجيهه الافتراضي (معلوماتي)

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "QR_NOT_DETECTED",
    "additional_data": null,
    "log_type": "information",
    "short_description": "QR not detected",
    "long_description": "The system couldn't find or read the QR code on the document. This could be due to poor image quality or an unsupported document type.",
    "node_id": "id_primary"
  }
]
```

### رفض تلقائي عند انتهاء صلاحية المستند

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "DOCUMENT_EXPIRED",
    "additional_data": null,
    "log_type": "error",
    "short_description": "Document expired",
    "long_description": "The document's expiration date has passed, rendering it no longer valid for use.",
    "node_id": "id_primary"
  }
]
```

### عدم تطابق التفاصيل المتوقعة مع payload

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "DOB_MISMATCH_WITH_PROVIDED",
    "additional_data": {
      "expected_dob": "1990-01-01",
      "extracted_dob": "1991-03-15"
    },
    "log_type": "warning",
    "short_description": "Date of birth mismatch with provided information",
    "long_description": "The provided date of birth in `expected_details` doesn't match the date extracted from the document.",
    "node_id": "id_primary"
  }
]
```

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

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

## ذات صلة

* [تقرير التحقق من الهوية](https://docs.didit.me/ar/core-technology/id-verification/report-id-verification.md) — المخطط الكامل للتقرير وحالاته.
* [مراقبة المستندات](https://docs.didit.me/ar/core-technology/id-verification/document-monitoring-id-verification.md) — كيف تكشف Didit عن التلاعب والنسخ المكررة عبر الجلسات.
* [webhook](https://docs.didit.me/ar/integration/webhooks.md) — يحمل الحدث `session.status.updated` التحذيرات بمجرد اكتمال خطوة التحقق من الهوية.
* [نماذج البيانات — التحقق من الهوية](https://docs.didit.me/ar/reference/data-models.md#التحقق-من-الهوية) — المخطط المرجعي حقلاً بحقل.
* [نماذج البيانات — كائن التحذير](https://docs.didit.me/ar/reference/data-models.md#كائن-التحذير) — بنية كل عنصر داخل `warnings[]`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.