الانتقال إلى المحتوى الرئيسي
POST
cURL

التفويضات

x-api-key
string
header
مطلوب

مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.

الجسم

multipart/form-data
front_image
file
مطلوب

الوجه الأمامي لمستند الهوية. الامتدادات المسموح بها: tiff، jpg، jpeg، png، webp، pdf. الحد الأقصى لحجم الرفع: 10 MB (يتم رفض الملفات الأكبر حجماً بالرمز 400). يتم تحويل ملفات PDF إلى صورة قبل إجراء OCR؛ تتطلب ملفات PDF المشفرة front_image_password. يتم ضغط الصور تلقائياً إلى ~0.5 MB تقريباً وتطبيق اتجاه EXIF. ارفع الصورة الملتقطة كاملة وغير مقتطعة مع ظهور جميع الزوايا الأربع للمستند.

front_image_password
string
write-only

كلمة المرور لفك تشفير front_image عندما يكون ملف PDF مشفراً. إرسال ملف PDF مشفر بدون كلمة مرور (أو بكلمة مرور خاطئة) يُرجع الرمز 400.

back_image
file

الجانب الخلفي للمستند — أرسله كلما كان للمستند جانب خلفي (تحمل العديد من بطاقات الهوية منطقة MRZ أو رمزًا شريطيًا على الظهر؛ يؤدي حذفه ببساطة إلى ترك حقول MRZ والجانب الخلفي فارغة في الاستجابة — لا يُطلق هذا الـ endpoint تحذيرًا بشأن فقدان MRZ). ينطبق عليه نفس قيود التنسيق والحجم الخاصة بـ front_image. عند حذفه، تكون قيمة back_image وحقول الجانب الخلفي null في الاستجابة.

back_image_password
string
write-only

كلمة المرور لفك تشفير back_image عندما يكون ملف PDF مشفراً.

perform_document_liveness
boolean
افتراضي:true

يفحص كلا الصورتين للكشف عن احتيال العرض: إعادة تشغيل الشاشة (SCREEN_CAPTURE_DETECTED)، والنسخ المطبوعة (PRINTED_COPY_DETECTED)، والتلاعب بالصورة الشخصية (PORTRAIT_MANIPULATION_DETECTED). يؤدي أيٌّ منها إلى الرفض التلقائي. مفعلة افتراضياً؛ اضبطها على false لتخطي فحص الاحتيال وتقليل زمن الاستجابة. عند تفعيلها وعدم إرجاع المزود لأي درجة قابلة للاستخدام، تكون الاستجابة In Review مع تحذير DOCUMENT_LIVENESS_NOT_COMPUTED بدلاً من Approved.

مثال:

true

minimum_age
integer | null

مقبول ويتم التحقق من صحته (1–120) ولكن لا يتم تطبيقه حاليًا بواسطة هذا endpoint — فهو لا يصدر أبدًا تحذير MINIMUM_AGE_NOT_MET من هذا الحقل. قم بفرض قواعد العمر بناءً على date_of_birth/age المُرجعة، أو استخدم سير عمل جلسة تحقق مع قيود العمر.

النطاق المطلوب: 1 <= x <= 120
expiration_date_not_detected_action
enum<string>
افتراضي:NO_ACTION

الإجراء المتبع عند تعذر قراءة تاريخ الانتهاء (EXPIRATION_DATE_NOT_DETECTED). القيمة الافتراضية هي NO_ACTION لأن العديد من مستندات الهوية لا تطبع تاريخ انتهاء. ملاحظة: تاريخ الانتهاء المكتشف والمنقضي يؤدي دائماً إلى الرفض (DOCUMENT_EXPIRED)، بغض النظر عن هذا الخيار.

الخيارات المتاحة:
NO_ACTION,
DECLINE
invalid_mrz_action
enum<string>
افتراضي:DECLINE

الإجراء المتخذ عندما تفشل منطقة MRZ المستخرجة في التحقق من أرقام التحقق (MRZ_VALIDATION_FAILED). لا يؤدي غياب MRZ إلى إطلاق أي تحذير في هذا الـ endpoint. ينطبق فقط على المستندات التي تحتوي على MRZ. الخيار REVIEW غير مدعوم في هذا الـ endpoint ويُرجع 400.

الخيارات المتاحة:
NO_ACTION,
DECLINE
inconsistent_data_action
enum<string>
افتراضي:DECLINE

الإجراء المتبع عند وجود عدم اتساق داخلي في البيانات المستخرجة: DATA_INCONSISTENT، أو MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME (اختلاف المنطقة المرئية عن MRZ)، أو DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS.

الخيارات المتاحة:
NO_ACTION,
DECLINE
critical_field_occlusion_action
enum<string>
افتراضي:DECLINE

الإجراء المتبع عند تغطية حقل مطبوع مهم فعلياً في الصورة الملتقطة (CRITICAL_FIELD_OCCLUSION_DETECTED) - رقم الهوية، أو الاسم، أو تاريخ الميلاد، أو تاريخ الانتهاء. يتم الرفض افتراضياً، مثل مخاطر سلامة المستندات الأخرى في هذا الـ endpoint: فتغطية الأرقام التي تتم مطابقة التقرير معها هي المظهر الذي يبدو عليه المستند الخاضع للحجب. يتم استبعاد القيمة المقروءة للحقل المغطى من الاستخراج في كلتا الحالتين، لذا غالباً ما يرافقه تحذير *_NOT_DETECTED المطابق. لا يدعم هذا الـ endpoint القيمة REVIEW ويرجع الرمز 400.

الخيارات المتاحة:
NO_ACTION,
DECLINE
document_or_personal_number_format_mismatch_action
enum<string>
افتراضي:NO_ACTION

الإجراء المتبع عندما لا يطابق رقمٌ التنسيقَ الذي تستخدمه الجهة المصدرة له لنوع المستند هذا (DOCUMENT_NUMBER_FORMAT_MISMATCH، وPERSONAL_NUMBER_FORMAT_MISMATCH). القيمة الافتراضية هي NO_ACTION، والتي تسجل التحذير دون تغيير الحالة. لا يدعم هذا الـ endpoint القيمة REVIEW ويرجع الرمز 400.

الخيارات المتاحة:
NO_ACTION,
DECLINE
preferred_characters
enum<string>
افتراضي:latin

نظام الكتابة المفضل لحقول الاسم/العنوان في المستندات التي تطبع نصوصاً لاتينية وغير لاتينية (العربية، السيريلية، CJK، …). يُرجع latin قيماً بالحروف اللاتينية/منسوخة صوتياً؛ ويفضل non_latin نظام الكتابة الأصلي.

الخيارات المتاحة:
latin,
non_latin
save_api_request
boolean
افتراضي:true

عندما تكون القيمة true (الافتراضية)، يتم حفظ الاستدعاء كجلسة من نوع API — مرئية في Business Console، ويمكن استرجاعها عبر GET /v3/session/{sessionId}/decision/ باستخدام request_id المُرجع، ويتم الإشعار بها عبر webhook لحدث status.updated، مع إرجاع صور المستندات كروابط URL للوسائط. عندما تكون القيمة false، لا يتم تخزين أي شيء، ويكون request_id عبارة عن معرّف UUID مؤقت، ويتم إرجاع الصور مضمنة كسلاسل base64 JPEG.

مثال:

true

vendor_data
string

سلسلة نصية مبهمة اختيارية (معرّف المستخدم الداخلي لديك، البريد الإلكتروني، UUID...) تُخزَّن في الجلسة المحفوظة وتُعاد في الاستجابة. استخدمها لربط استدعاءات API بسجلاتك الخاصة ولتصفية الجلسات لاحقاً.

مثال:

"user-123"

metadata
object

كائن JSON اختياري يُخزن مع الجلسة (عندما يكون save_api_request=true) ويُعاد في الاستجابة. في طلبات multipart، أرسله كحقل سلسلة نصية بترميز JSON (مثل metadata={"flow":"onboarding"}) — حيث يتم تحليله إلى كائن.

مثال:

الاستجابة

تمت معالجة المستند. تكون قيمة id_verification.status إما Approved أو Declined أو In Review؛ وتُفصّل كل مشكلة تم اكتشافها في id_verification.warnings. يتم إرجاع In Review عندما لا يسفر فحص حيوية المستند المطلوب عن نتيجة قابلة للاستخدام (DOCUMENT_LIVENESS_NOT_COMPUTED). المستند الذي يحتوي على مشاكل سيظل يُرجع 200 مع status: "Declined" — افحص نص الاستجابة، وليس فقط رمز HTTP. عندما تكون save_api_request=true، يكون request_id هو معرّف الجلسة المحفوظ وتكون حقول الصور عبارة عن روابط وسائط قصيرة الأجل؛ ومع save_api_request=false تكون سلاسل base64 JPEG مضمنة.

request_id
string<uuid>

معرّف الجلسة المحفوظة عندما تكون save_api_request=true (يمكن استخدامه مع GET /v3/session/{sessionId}/decision/)؛ وإلا فسيكون UUID ارتباط مؤقت.

id_verification
object
vendor_data
string | null

نسخة مطابقة من vendor_data التي أرسلتها، أو null.

metadata
object | null

نسخة مطابقة من كائن metadata الذي أرسلته، أو null.

created_at
string<date-time>

طابع زمني بتنسيق ISO 8601 (بالتوقيت العالمي المنسق UTC) لوقت إنشاء الاستجابة.

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