portrait_image التي قدمتها، أو الوجه المخزن للمستخدم والذي تم البحث عنه عبر vendor_data). يظهر كلا الفحصين كعناصر ميزات قياسية في استجابة قرار الجلسة من الإصدار V3.

نظرة عامة
المصادقة البيومترية هي نوع من أنواع سير العمل (workflow_type: "biometric_authentication")، وليست كائن استجابة منفصلاً. عندما يتم تشغيل سير العمل، فإنه يُصدر:
- فحص حيوية واحدًا يلتقط صورة سيلفي مباشرة ويحتسب درجة احتمالية الانتحال لها.
- مطابقة وجه واحدة تقارن الوجه الملتقط بالوجه المرجعي المحدد عند إنشاء الجلسة (فقط عند تفعيل مطابقة الوجه في سير العمل).
portrait_image (صورة مرمزّة بـ base64، بحد أقصى 2MB)، أو اتركها وستعيد Didit استخدام الوجه المخزن مسبقاً للمستخدم المرتبط بـ vendor_data: وجه الحيوية المقبول أولاً، ثم صورة شريحة جواز السفر الإلكتروني (ePassport)، ثم الصورة الشخصية من مستند الهوية، ثم وجه الملف الشخصي المُسجّل يدوياً. إذا لم تكن portrait_image ولا الوجه المخزن متاحين، فإن إنشاء الجلسة يُرجع رمز الخطأ 400 مع {"portrait_image": "No stored face image was found for this user. Send a portrait_image, or complete an approved verification with face liveness or an ID document for this vendor_data first."}. في كلتا الحالتين، يتم تسجيل المرجع المحدد تحت الجلسة الجديدة، لذا يتم تعيين source_image_session_id لعنصر مطابقة الوجه على session_id الخاص بتلك الجلسة نفسها (يوضح لك ذلك أن المرجع جاء من الصورة الشخصية المخزنة للجلسة بدلاً من صورة شخصية لمستند تم التقاطها في الجلسة نفسها، والتي كانت ستترك الحقل كـ null).
أين يظهر
يتم إرجاع كلا المصفوفتين بواسطة
GET /v3/session/{sessionId}/decision/ للجلسات التي يكون نوع سير العمل فيها هو biometric_authentication. تكونان دائماً مصفوفتين — وليستا كائنات مفردة أبداً — وتكون كل منهما null حتى تُنتج خطوتها بيانات. يحمل كل عنصر node_id حتى يتمكن سير العمل متعدد المثيلات من التمييز بين الخطوات.
مرجع المخطط
تُحدَّد القائمة الكاملة للحقول مرة واحدة في صفحة نماذج البيانات بحيث تشترك جميع التقارير التي تعرض هذه الميزات في مصدر موثوق واحد:- مخطط عنصر الحيوية —
status، وmethod، وscore، وreference_image، وvideo_url، وage_estimation، وmatches[]، وface_quality، وface_luminance، وwarnings[]، وnode_id. - مخطط عنصر مطابقة الوجه —
status، وscore، وsource_image_session_id، وsource_image، وtarget_image، وwarnings[]، وnode_id. - شكل مدخلات التحذير —
feature، وrisk، وadditional_data، وlog_type، وshort_description، وlong_description، وnode_id.
قيم الحالة
يستخدم كل منliveness_checks[].status وface_matches[].status دورة حياة الميزة المشتركة (الحالات على مستوى الميزة):
تجمع حالة
status الإجمالية للجلسة كلا العنصرين: أي ميزة بحالة Declined تؤدي إلى رفض الجلسة، وأي ميزة بحالة In Review تضع الجلسة في In Review، وخلاف ذلك تكون Approved (بعد اكتمال كل ميزة).
لمعرفة سلوك الحدود والقائمة الكاملة لرموز التحذيرات، راجع تحذيرات المصادقة البيومترية.
مثال — الحيوية + مطابقة الوجه (مقبولة)
الأمثلة موجزة: يحمل غلاف القرار الكامل أيضاًsession_url، وmetadata، وcallback، وreviews، وcontact_details، وexpected_details، وenvironment، وcreated_at، وexpires_at.
مثال — الحيوية فقط (مطابقة الوجه معطلة في سير العمل)
face_matches كـ null. وعندما تكون مطابقة الوجه مفعلة، فإن ترك portrait_image لا يُحوّل الجلسة إلى وضع الحيوية فقط: بل تعيد Didit استخدام الوجه المخزن للمستخدم المرتبط بـ vendor_data، وإذا لم يكن هناك وجه مخزن، يفشل إنشاء الجلسة بالرمز 400.
مثال — رفض مطابقة الوجه بسبب انخفاض درجة التشابه
ملاحظة أمنية
تُعدreference_image وvideo_url وsource_image وtarget_image عناوين URL موقعة تنتهي صلاحيتها بعد فترة زمنية محدودة (4 ساعات افتراضياً). وهي تشير إلى بيانات بيومترية — لا تقم بتخزينها مؤقتاً أو عرضها للعامة. قم بتخزين نتيجة التحقق (الحالة، والدرجة، وsource_image_session_id) في جانبك؛ وأعد استدعاء endpoint الخاص بالقرار إذا كنت بحاجة إلى عناوين URL جديدة.
مواضيع ذات صلة
تحذيرات المصادقة البيومترية
رموز التحذيرات والحدود وشروط الرفض التلقائي.
تقرير الحيوية
مرجع الحقول الكامل لعناصر
liveness_checks[].تقرير مطابقة الوجه
مرجع الحقول الكامل لعناصر
face_matches[].