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

دعم التحقق من المستخدمين (KYC) والتحقق من الشركات (KYB)

تعمل endpoint هذه مع جلسات التحقق من المستخدمين (KYC) وجلسات التحقق من الشركات (KYB). تتضمن الاستجابة دائمًا الحقل session_kind على المستوى الأعلى:
  • "user": جلسة التحقق من المستخدمين (KYC). تحتوي الاستجابة على id_verifications وliveness_checks وface_matches وnfc_verifications وpoa_verifications وdatabase_validations.
  • "business": جلسة التحقق من الشركات (KYB). تحتوي الاستجابة على registry_checks وdocument_verifications وkey_people_checks.
يشترك كلا النوعين في aml_screenings وphone_verifications وemail_verifications وquestionnaire_responses وip_analyses وdocument_ai_documents وbank_verifications وreviews وcontact_details، إضافةً إلى الحقول المشتركة على المستوى الأعلى (session_id وsession_number وsession_url وstatus وworkflow_id وvendor_data وmetadata وcallback وfeatures وexpected_details وcreated_at وexpires_at). تبحث Didit عن session_id في نوعي الجلسات (التحقق من المستخدمين أولًا، ثم التحقق من الشركات)، وتعيد النوع المطابق. معرّفات UUID فريدة لكل تطبيق، ولا يوجد أي التباس. راجع نظرة عامة على الجلسات للاطلاع على المصفوفة الكاملة للميزات الخاصة بكل نوع.

أمثلة

الاستجابة (مختصرة):

التعامل مع الاستجابة في نظامك

الحالة وتتبّع القرار وحقول المراجعة

يوضّح كل قرار كيفية الوصول إلى قيمة status الخاصة به.

الاحتفاظ بالبيانات البيومترية

يكون biometric_retention موجودًا دائمًا. deletes_at هو التاريخ الذي تُحذف فيه البيانات البيومترية الحية للجلسة، وjurisdictions يسرد الولايات الأمريكية التي تضع قواعدها البيومترية حدًا للحذف يخص الشخص (US عندما تكون الولاية غير معروفة). تكون deletes_at بقيمة null عندما لا ينطبق أي تاريخ بعد.

التحقق من الموقع

عندما يتضمن سير العمل خطوة التحقق من الموقع، يحمل القرار مصفوفتين. يحتوي geolocation_checks[] على عنصر واحد لكل خطوة: محاولتها المقبولة، مع النتيجة والإحداثيات ودقتها، والفحوصات مقارنةً بموقع IP والعنوان المسجّل، والـ warnings الخاصة بالخطوة. يسرد geolocation_attempts[] كل محاولة لكل خطوة، من الأقدم إلى الأحدث، مع وقت استلام كل منها. تُعاد المصفوفتان بقيمة null في سير العمل الذي لا يتضمن هذه الخطوة. ترد كل الحقول والنتائج في تقرير التحقق من الموقع.

أحداث توجيه سير العمل

يضيف ?include=events الخط الزمني لأحداث الجلسة. إلى جانب تغييرات الخطوات والحالة، يترك سير العمل الذي يمر عبر عقد الفروع حدثاً واحداً لكل قرار توجيه، فيتمكن التكامل (أو الخط الزمني في Console) من تفسير سبب انتهاء الجلسة عند نتيجة معينة دون إعادة تشغيل مخطط سير العمل يدوياً: يحمل الحدثان sent_at بالمللي ثانية مثل أي حدث آخر، ولا يحملان component أو feature_step أو step، لأنهما صادران عن محرك سير العمل وليس عن جهاز المستخدم. يُحسب الفرع «else» (وهو فرع بلا شروط) فرعاً مطابقاً؛ ولا يكون fallback مساوياً لـ true إلا عندما لا يطابق أي شيء. لا تتخذ العقد ذات الحافة الصادرة الواحدة أي قرار ولا تترك أي حدث. يعرض الشكل نفسه أيضاً workflow_terminal_node_id: وهو node_id لآخر عقدة حالة في سير العمل سُجّلت وضبطت حالة الجلسة، أو null إذا لم يُسجَّل معرّف عقدة من هذا النوع. وهذا سجل تاريخي لمصدر النتيجة في سير العمل. لا تمسح الموافقات اليدوية والرفض وإعادة الإرسال هذا الحقل؛ بل تستبدله عقدة حالة لاحقة في سير العمل. فمثلاً، إذا أرسل سير العمل الجلسة إلى عقدة قيد المراجعة ثم وافق عليها مراجِع لاحقاً، تكون status الحالية هي Approved بينما يظل workflow_terminal_node_id يشير إلى عقدة قيد المراجعة. وقد يبقى هذا الحقل مملوءاً أيضاً أثناء تنفيذ إعادة الإرسال. اقرأ status الحالية والخطين الزمنيين للأحداث وactivity_reviews للتمييز بين نتائج سير العمل والقرارات اليدوية اللاحقة.

الإرسالات السابقة (?include=resubmissions)

تعيد إعادة الإرسال المستخدم إلى الخطوات التي تختارها، وتحتفظ بما أعادته تلك الخطوات من قبل. يضيف ?include=resubmissions مصفوفة resubmissions مرتبة من الأقدم إلى الأحدث، تحتوي على مدخل واحد لكل طلب إعادة إرسال. يحمل كل مدخل النتائج التي استبدلها ذلك الطلب، فيمكنك دائماً قراءة ما أرسله المستخدم سابقاً. يعمل ذلك مع جلسات المستخدمين (KYC) وجلسات الشركات (KYB)، ويمكنك دمجه مع الأحداث (?include=events,resubmissions). بدون هذا المعامل تبقى الاستجابة دون تغيير. تصف النتائج الحالية (id_verifications وبقية المفاتيح على المستوى الأعلى) آخر إرسال دائماً. أما الخطوات التي لم تُعَد إلى المستخدم فتحتفظ بنتيجة واحدة هناك.
عند حذف الجلسة تُحذف نتائج كل الإرسالات المرتبطة بها.

طرق التحقق من الهوية

يحدد كل عنصر في id_verifications[] أيٌّ من طرق التحقق من الهوية الثلاث أنتجه، فتتمكن من التمييز بين قراءة مستند وبين البحث في السجل أو تسجيل الدخول بالمحفظة، دون التخمين من الحقول المملوءة اتفاقاً: تُبلغ جلسة المستند عن document وdocumentary وتترك الباقي null، فلا تحتاج التكاملات القائمة إلى أي تغيير. أنواع الحقول تفصيلاً موجودة في نماذج البيانات.

الموافقة البيومترية

تتضمن قرارات التحقق من المستخدمين كائن biometric_consent: يبيّن هل تطلبت الجلسة موافقة بيومترية صريحة، وtrigger الذي استوجبها، وحالة status الإجابة وأدلتها. وهناك قيمتان تدلانك على أن الموافقة لم تُجمع: متى تظهر الخطوة وما يعنيه كل قيمة موجود في الموافقة البيومترية؛ وكل الحقول موجودة في نماذج البيانات.

التحقق المصرفي

عندما يتضمن سير العمل خطوة التحقق المصرفي، يحمل القرار bank_verifications[] لنوعي الجلسة كليهما: عنصر واحد لكل خطوة، وتكون القيمة null حتى تُنتج الخطوة عنصرًا. اقرأ method وليس ownership.method للتمييز بين تسجيل الدخول إلى المصرف وفحص الحساب، فـownership.method هو مقارنة الأسماء التي أنتجت الدرجة. تتوفر كل الحقول في المخطط BankVerificationResult ضمن استجابة هذا endpoint.

التوقيع الإلكتروني

عندما يتضمن سير العمل خطوة التوقيع الإلكتروني، يحمل القرار signatures[] لنوعي الجلسة كليهما. يحتوي على عنصر واحد لكل موقّع: عنصر واحد للتحقق من المستخدمين، وعنصر لكل شخص رئيسي يوقّع في التحقق من الشركات (KYB). لا يعيد سير العمل الذي لا يتضمن الخطوة هذا المفتاح أبدًا. نزّل الملفات من مساراتها باستخدام مفتاح API الخاص بك. راجع تقرير التوقيع الإلكتروني لمعرفة كل الحقول.

الأخطاء

ذات صلة

التفويضات

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.

معلمات المسار

sessionId
string<uuid>
مطلوب

معرّف UUID لجلسة التحقق التي تريد استرداد قرارها. هذا هو session_id الذي تم إرجاعه بواسطة POST /v3/session/. يعمل نفس المسار مع كل من جلسات التحقق من المستخدمين (KYC) والتحقق من الشركات (KYB) — يطابق الخادم المعرّف عبر كلا نوعي الجلسات.

يجب أن يكون UUID صالحًا. يطابق المسار قيم UUID صالحة البنية فقط، لذا يتم رفض أي قيمة غير صالحة البنية بواسطة موجه URL قبل تشغيل أي كود برمجي للتطبيق وتكون الاستجابة صفحة HTML برمز 404 بدلاً من تنسيق JSON لـ {"detail": ...} الموضح أدناه. تحقق من صحة تنسيق UUID من جانب العميل حتى تتمكن من التمييز بين خطأ في الإدخال وبين خطأ 404 حقيقي ناتج عن جلسة غير موجودة.

مثال:

"11111111-2222-3333-4444-555555555555"

معلمات الاستعلام

include
enum<string>

قائمة مفصولة بفواصل للأقسام الإضافية في payload. القيم المدعومة: events وresubmissions، منفردة أو معاً (events,resubmissions). عند تمرير include=events، تتضمن الاستجابة بشكل إضافي المخطط الزمني لأحداث الجلسة (events، بما في ذلك أحداث التوجيه WORKFLOW_BRANCH_EVALUATED / WORKFLOW_STATUS_NODE_REACHED الموضحة في صفحة استرداد الجلسة)، وسجل النشاط الكامل (activity_reviews)، وعلامات قائمة الحظر (blocklisted)، وتفصيل التكلفة لكل جلسة (cost_breakdown)، والبيانات الوصفية لسير العمل (workflow_type وworkflow_version وworkflow_version_id وworkflow_terminal_node_id - آخر عقدة حالة مسجلة لسير العمل قامت بتعيين حالة الجلسة، أو null إذا لم يتم تسجيل أي منها؛ وهو سجل تاريخي للمصدر لا يتم مسحه بالموافقات اليدوية أو حالات الرفض أو عمليات إعادة الإرسال، ويُستبدل بعقدة حالة لاحقة في سير العمل)، والبيانات الوصفية للجلسة (api_service — سلسلة نصية أو null، يتم تعيينها فقط لجلسات API المستقلة؛ وsession_type — API أو HOSTED أو MIGRATED؛ وhas_device_nfc_support — قيمة منطقية). يتغير حقلان مقارنة بالشكل الأساسي: يتم حذف مميز session_kind ذي المستوى الأعلى (شكل الأحداث متاح فقط لجلسات المستخدمين)، وتتحول مصفوفة features من سلاسل نصية عادية إلى كائنات بتنسيق {feature, node_id} — حيث يُبلّغ عن ميزة البريد الإلكتروني كـ EMAIL بدلاً من EMAIL_VERIFICATION. يُستخدم هذا الشكل الموسع بشكل أساسي بواسطة Didit Console؛ ويجب على معظم عمليات تكامل API حذف هذا المعامل. قيود KYB: ينطبق include=events فقط على جلسات المستخدمين (KYC). ترجع جلسات الشركات (session_kind = "business") دائماً شكل قرار الشركات القياسي — ولا يتم إرجاع events وactivity_reviews وblocklisted وcost_breakdown والبيانات الوصفية الإضافية لـ workflow_*/الجلسة لجلسات الشركات مطلقاً، وتظل مصفوفة features الخاصة بها مصفوفة سلاسل نصية عادية. مع include=resubmissions (جلسات المستخدمين والشركات على حد سواء)، تحتوي الاستجابة أيضاً على resubmissions: إدخال واحد لكل طلب إعادة إرسال، الأقدم أولاً، يحتوي كل منها على number وcreated_at وprevious_status وnodes وreasons وrequested_by وresults (ما أرجعته الخطوات المعاد إرسالها قبل الطلب، تحت نفس المفاتيح وبنفس شكل النتائج الحالية). يحمل كل عنصر في cost_breakdown الحقول usage_type وprice وdetails وcreated_at: وتتم فوترة الخطوة المعاد إرسالها والتي يتم تشغيلها مرة أخرى كعنصر جديد.

الخيارات المتاحة:
events,
resubmissions,
events,resubmissions
مثال:

"events"

الاستجابة

تقرير القرار الكامل. يميّز session_kind بين الشكلين: تحمل جلسات user مصفوفات ميزات KYC الموضحة أدناه؛ بينما تحمل جلسات business كلاً من registry_checks وdocument_verifications وkey_people_checks إلى جانب المصفوفات المشتركة. تكون مصفوفات الميزات null حتى يُشغّل سير العمل تلك الميزة؛ روابط الوسائط هي روابط مؤقتة وموقعة مسبقاً.

session_id
string<uuid>

المعرّف الفريد للجلسة.

session_kind
enum<string>

معرّف تمييز يوضح ما إذا كانت هذه جلسة التحقق من المستخدمين (KYC) أو التحقق من الشركات (KYB). عندما تكون user، تنطبق مصفوفات ميزات KYC (id_verifications، nfc_verifications، liveness_checks، face_matches، poa_verifications، document_ai_documents، database_validations، ...) وتغيب مصفوفات الشركات. وعندما تكون business، يحتوي الـ payload بدلاً من ذلك على registry_checks، وdocument_verifications، وkey_people_checks بالإضافة إلى المصفوفات المشتركة (aml_screenings، phone_verifications، email_verifications، ip_analyses، questionnaire_responses). يتم حذفه عند تمرير include=events — فشكل الأحداث موجود فقط لجلسات المستخدمين، لذلك يُستبعد معرّف التمييز من هذا الشكل.

الخيارات المتاحة:
user,
business
shared_from_session
string<uuid> | null

للجلسة المستنسخة باستخدام POST /v3/session/import-shared/: قيمة session_id للجلسة الأصلية في التطبيق المصدر. وتكون null لكل جلسة أخرى. لا يتم تضمينها عند تمرير include=events.

shared_from_session_number
integer | null

session_number للجلسة المصدر عند استيراد هذه الجلسة من تطبيق آخر تابع لمؤسستك. null خلاف ذلك.

session_number
integer | null

رقم الجلسة.

session_url
string<uri> | null

رابط URL الخاص بالجلسة.

status
enum<string>

حالة دورة الحياة الإجمالية للجلسة — النتيجة التراكمية لسير العمل. القيم النهائية هي Approved وDeclined وIn Review وExpired وKyc Expired وAbandoned؛ بينما تشير Not Started وIn Progress وAwaiting User وResubmitted إلى أن الجلسة لا تزال تتقدم في سير العمل.

الخيارات المتاحة:
Not Started,
In Progress,
Awaiting User,
In Review,
Approved,
Declined,
Resubmitted,
Expired,
Kyc Expired,
Abandoned
status_override
object | null

موجود عندما يحدد المراجِع status يدوياً. يكون null عندما تكون الحالة تلقائية. استخدمه للتمييز بين الموافقة اليدوية والتلقائية.

decision_trace
object

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

linked_records
object | null

ملخص لسجلات أخرى مرتبطة بالجلسة. يكون null عندما لا يوجد شيء لعرضه، ولسير العمل التي تعلن عن معيار لضمان العمر.

workflow_id
string<uuid> | null

معرّف ثابت لمجموعة سير العمل التي أنتجت هذه الجلسة. لمسارات العمل إصدارات — وتحدد هذه القيمة سير العمل نفسه، وليس إصداراً معيناً.

features
string[]

قائمة بميزات التحقق التي تم تكوينها لهذه الجلسة، كأسماء عرض: ID_VERIFICATION، و NFC، و LIVENESS، و FACE_MATCH، و POA، و PHONE، و EMAIL_VERIFICATION، و AML، و IP_ANALYSIS، و DATABASE_VALIDATION، و QUESTIONNAIRE، و AGE_ESTIMATION، و FACE_SEARCH، و GEOLOCATION (التحقق من الموقع) (تستخدم جلسات التحقق من الشركات (KYB) مجموعة ميزات KYB: KYB_REGISTRY، و KYB_DOCUMENTS، و KYB_KEY_PEOPLE، و AML، و PHONE، و EMAIL_VERIFICATION، و IP_ANALYSIS، و QUESTIONNAIRE). عند استخدام include=events، يصبح كل إدخال كائناً {feature, node_id} بدلاً من سلسلة نصية بسيطة، وتتم إعادة تسمية ميزة البريد الإلكتروني: تظهر كـ EMAIL في وضع الأحداث بدلاً من EMAIL_VERIFICATION المستخدمة هنا.

ميزة الجلسة.

vendor_data
string | null

بيانات المزود (vendor data) الخاصة بالجلسة.

metadata
object | null

البيانات الوصفية للجلسة.

expected_details
object | null

التفاصيل المتوقعة المقدمة عند إنشاء الجلسة — تُستخدم للتحقق المتبادل مقابل البيانات المستخرجة (KYC) أو للملء المسبق لعملية البحث في سجل الشركات (KYB). تُعيد تماماً المفاتيح التي تم تقديمها؛ وتكون null عندما لا يتم تقديم أي منها. تحمل جلسات KYC حقول الشخص؛ بينما تحمل جلسات الشركات (KYB) الحقول company_name وregistry_country وregistration_number.

contact_details
object | null

تفاصيل الاتصال المقدمة عند إنشاء الجلسة (تُستخدم لرسائل البريد الإلكتروني للإشعارات، والتحقق من الهاتف/البريد الإلكتروني المعبأ مسبقاً، ولغة التواصل). تكون القيمة null عند عدم تقديم بريد إلكتروني أو رقم هاتف.

callback
string<uri> | null

رابط الاستدعاء الخاص بالجلسة.

id_verifications
object[] | null

مصفوفة من تقارير التحقق من الهوية (OCR) التي تم إنشاؤها بواسطة خطوات مستند الهوية في مخطط سير العمل. دائماً ما تكون مصفوفة JSON — اقرأ id_verifications[0] وكرّر القراءة إذا كان بإمكان سير العمل لديك تشغيل أكثر من فحص هوية واحد (على سبيل المثال، فحص أساسي بالإضافة إلى فحص إضافي). تكون null حتى تُنتج خطوة هوية واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وحقول المستند المستخرجة، وعناوين URL للصور، ودرجات الجودة، وMRZ، وتحليل العنوان، والتطابقات عبر الجلسات، وwarnings[].

nfc_skip_reason
enum<string> | null

سبب عدم تشغيل التحقق من شريحة NFC، ويتم ملؤه كلما تضمن سير العمل خطوة NFC. تكون القيمة null أثناء انتظار NFC أو عند قراءة الشريحة بالفعل. القيم: USER_SKIPPED - اختار المستخدم التخطي على جهاز يدعم NFC (مسموح به عبر allow_nfc_skip)؛ DOCUMENT_WITHOUT_CHIP - لا يحتوي المستند على شريحة NFC قابلة للقراءة (ليس مستنداً إلكترونياً متوافقاً مع ICAO 9303)؛ CHIP_CERTIFICATE_UNAVAILABLE - شهادة التوقيع الخاصة بدولة الإصدار (CSCA) التي تغطي فترة إصدار المستند غير متوفرة، لذا لا يمكن التحقق من توقيع الشريحة؛ DEVICE_WITHOUT_NFC - أبلغ الجهاز عن عدم وجود قارئ NFC؛ INTEGRATION_WITHOUT_NFC_ACCESS - تم تشغيل التحقق بدون SDK أصلي (على سبيل المثال في متصفح الويب)، والذي لا يملك صلاحية الوصول إلى قارئ NFC بالهاتف؛ MRZ_KEY_UNAVAILABLE - تعذر اشتقاق مفتاح الوصول إلى الشريحة من كود MRZ للمستند؛ JPKI_UNAVAILABLE - المستند هو بطاقة My Number اليابانية، والتي تُقرأ شريحتها عبر JPKI، ولم يكن JPKI متوفراً لعملية التحقق هذه: فهو غير مُمكّن، أو أن SDK الأصلي للتطبيق لا يمكنه قراءة بطاقات My Number.

الخيارات المتاحة:
USER_SKIPPED,
DOCUMENT_WITHOUT_CHIP,
CHIP_CERTIFICATE_UNAVAILABLE,
DEVICE_WITHOUT_NFC,
INTEGRATION_WITHOUT_NFC_ACCESS,
MRZ_KEY_UNAVAILABLE,
JPKI_UNAVAILABLE
nfc_verifications
object[] | null

مصفوفة من تقارير التحقق عبر NFC / جواز السفر الإلكتروني الناتجة عن خطوات NFC في مخطط سير العمل. هذه دائماً مصفوفة JSON، وليست كائن nfc مفرداً أبداً — اقرأ nfc_verifications[0] وكرّر القراءة إذا كان بإمكان سير العمل لديك تشغيل NFC أكثر من مرة. تكون null حتى تُنتج خطوة NFC واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وchip_protocol، وchip_data، وauthenticity (سلامة SOD + DG)، وcertificate_summary، وwarnings[]. تتم قراءة بطاقة My Number اليابانية عبر JPKI بدلاً من ICAO 9303: يحتوي عنصرها على chip_protocol: "jpki"، ويحمل أدلته تحت jpki، ويترك حقول ICAO بقيمة null. عندما يتم تجاوز خطوة NFC قبل أن تُتاح للمستخدم أصلاً (مستند بدون شريحة، أو شهادة مفقودة، أو عدم الإبلاغ عن إمكانية NFC، أو مفتاح MRZ غير قابل للقراءة، أو عدم توفر JPKI لبطاقة My Number)، يظل هذا الحقل null ويوضح nfc_skip_reason السبب؛ أما التخطي في الخطوة نفسها (نقر المستخدم على تخطٍّ، أو تبيّن عدم توفر القارئ في وقت المسح) فيظل يُنتج تقريراً مع is_nfc_skipped: true.

liveness_checks
object[] | null

مصفوفة من تقارير كشف الحيوية التي تم إنشاؤها بواسطة خطوات كشف الحيوية في مخطط سير العمل. دائماً ما تكون مصفوفة JSON — وليست كائن liveness مفرداً أبداً. تكون null حتى تنتج خطوة كشف حيوية واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وmethod، وscore، وreference_image، وvideo_url، وage_estimation الاختياري، وmatches[] عبر الجلسات، وwarnings[].

face_matches
object[] | null

مصفوفة من تقارير مطابقة الوجه التي تم إنشاؤها بواسطة خطوات مطابقة الوجه في مخطط سير العمل. دائماً ما تكون مصفوفة JSON — وليست كائن face_match مفرداً أبداً. تكون null حتى تنتج خطوة مطابقة وجه واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وscore التشابه، وsource_image، وtarget_image، وwarnings[].

phone_verifications
object[] | null

مصفوفة من تقارير التحقق من رقم الهاتف — دائماً ما تكون مصفوفة JSON، وليست كائن phone مفرداً أبداً. تكون null حتى تنتج خطوة هاتف واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، ورقم الهاتف والبيانات الوصفية للدولة، وlifecycle[]، وmatches[]، وwarnings[].

email_verifications
object[] | null

مصفوفة من تقارير التحقق من البريد الإلكتروني — دائماً ما تكون مصفوفة JSON، وليست كائن email مفرداً أبداً. تكون null حتى تنتج خطوة بريد إلكتروني واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وعنوان البريد الإلكتروني، وبيانات الاختراق، وlifecycle[]، وmatches[]، وwarnings[].

poa_verifications
object[] | null

مصفوفة من تقارير إثبات العنوان (POA) — دائماً ما تكون مصفوفة JSON، وليست كائن poa مفرداً أبداً. تكون null حتى تنتج خطوة إثبات عنوان واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وعنوان URL لملف المستند، والجهة المصدرة، والتواريخ، والعنوان المحلل، وwarnings[].

document_ai_documents
object[] | null

تقارير Document AI مجمّعة حسب عقدة سير العمل — تكون دائماً مصفوفة JSON، وليست كائناً مفرداً أبداً. وتكون null حتى تنتج خطوة Document AI واحدة على الأقل بيانات. تظهر فقط عندما يكون session_kind = user. كل عنصر هو مجموعة عقدة مع status إجمالي، وnode_id، ومصفوفة items[] لنتائج كل مستند (البيانات المستخرجة مرتبطة بمفتاح الحقل المكوّن)، وwarnings.

questionnaire_responses
object[] | null

مصفوفة من تقارير إجابات الاستبيانات — دائماً ما تكون مصفوفة JSON، وليست كائن questionnaire مفرداً أبداً. تكون null حتى تنتج خطوة استبيان واحدة على الأقل بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، والبيانات الوصفية للاستبيان، والأقسام التي تحتوي على عناصر النموذج، وإجابات المستخدم.

bank_verifications
object[] | null

نتائج التحقق البنكي، عنصر واحد لكل خطوة تحقق بنكي، للتحقق من المستخدمين والتحقق من الشركات. تكون null حتى تُنتج خطوة نتيجة ما. يوضح حقل method لكل عنصر كيفية التحقق من الحساب: open_banking (تسجيل الدخول إلى البنك) أو account_lookup (فحص الحساب)، أو خيار بديل عبر statement أو microdeposits، وnone عندما يتابع الشخص دون بنك قبل تقييم أي محاولة (continued_without_bank). راجع طرق التحقق البنكي.

signatures
object[]

نتائج التوقيع الإلكتروني، عنصر واحد لكل موقّع وخطوة توقيع، لكل من التحقق من المستخدمين والتحقق من الشركات (KYB). لا تظهر إلا عندما يتضمن سير العمل خطوة التوقيع الإلكتروني؛ وهي مصفوفة فارغة حتى يصل أحد الموقّعين إليها. راجع تقرير التوقيع الإلكتروني.

aml_screenings
object[] | null

مصفوفة تقارير فحص AML — دائماً مصفوفة JSON، وليست أبداً كائن aml مفرداً. تكون null إلى أن تُنتج خطوة AML واحدة على الأقل بيانات. كل عنصر هو التقرير الكامل، بما يشمل node_id، وstatus على مستوى الميزة، وtotal_hits، وentity_type، وhits[]، وscore، وscreened_data، وis_ongoing_monitoring_enabled، وwarnings[].

ip_analyses
object[] | null

مصفوفة من تقارير تحليل الجهاز وعنوان IP — دائماً ما تكون مصفوفة JSON، وليست كائن ip_analysis مفرداً أبداً. تكون null حتى تنتج خطوة واحدة على الأقل من خطوات تحليل IP بيانات. يمثل كل عنصر التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وبيانات IP وتحديد الموقع الجغرافي، وبصمة الجهاز، وwarnings[]. يتم إزالة التكرار من المدخلات ذات (node_id, ip_address, device_fingerprint) المكررة من جانب الخادم.

geolocation_checks
object[] | null

مصفوفة من نتائج التحقق من الموقع، نتيجة واحدة لكل خطوة تحقق من الموقع: المحاولة المقبولة لتلك الخطوة. تكون null حتى تنتج خطوة تحقق من الموقع بيانات. توجد المحاولات السابقة للخطوة نفسها في geolocation_attempts.

geolocation_attempts
object[] | null

كل محاولة لكل خطوة تحقق من الموقع في هذه الجلسة، الأقدم أولاً. يتم استبعاد المحاولات التي استُبدلت بإعادة الإرسال. وسير العمل الذي يحجب geolocation_checks من خلال سمات الاستجابة الخاصة به يحجب هذه القائمة أيضاً.

database_validations
object[] | null

مصفوفة تقارير التحقق من قواعد البيانات — دائماً مصفوفة JSON، وليست أبداً كائن database_validation مفرداً. تكون null حتى تُنتج خطوة تحقق من قاعدة البيانات واحدة على الأقل بياناتٍ. كل عنصر هو التقرير الكامل، بما في ذلك node_id، وstatus على مستوى الميزة، وscreened_data، ومصفوفة validations[] لكل خدمة (يحتوي كل منها على source_data الخاص بالسجل)، وwarnings[]. تختلف حقول screened_data وsource_data بحسب الدولة:

ARG (الأرجنتين): screened_data: {document_number, selfie, gender, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, date_of_death, tax_id, tax_id_type, face_match_score, sit_1_since, banks, last_position, highest_position, rejected_checks}. يستخدم التحقق البيومتري لمطابقة الوجه من RENAPER. يُستنتج الجنس تلقائياً من تحليل الوجه أو الاسم الأول عندما لا يكون متوفراً في المستند (مثل رخص القيادة)

BOL (بوليفيا): screened_data: {document_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, gender}

BRA (البرازيل): screened_data: {tax_number, first_name, last_name, date_of_birth}. يتضمن source_data دائماً {identification_number, first_name, last_name, date_of_birth, lgpd_minor, minor_under_18, minor_under_16} لعمليات تطابق CPF الناجحة. تُعيّن عمليات البحث الناجحة للبالغين تلك العلامات إلى false. قد تُرجع خدمة Receita Federal Consulta CPF الرمز HTTP 422 (قاصر دون 18 عاماً) أو 451 (دون 16 عاماً) مع حجب البيانات بموجب LGPD؛ في هذه الحالات، يُعيّن source_data علامات القاصرين إلى true بحسب الاقتضاء، ويتضمن حالة HTTP الواردة، ويكون التحقق على مستوى الحقل no_match. راجع قسم البرازيل في مرجع رموز نتائج التحقق من قواعد البيانات للاطلاع على القائمة الكاملة للرموز.

CHL (تشيلي): screened_data: {personal_number, first_name, last_name, date_of_birth}. source_data: {identification_number, first_name, last_name, date_of_birth, gender}

COL (كولومبيا): screened_data: {document_number, document_type, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, document_type}

CRI (كوستاريكا): screened_data: {personal_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

DOM (جمهورية الدومينيكان): screened_data: {personal_number}. source_data: {identification_number} (يُرجع valid/invalid فقط)

ECU (الإكوادور): screened_data: {personal_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, street, formatted_address, gender, nationality, education, marital_status, spouse, mother_name, father_name, profession}

ESP (إسبانيا): screened_data: {personal_number, document_type, expiration_date, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, document_type, expiration_date}

GTM (غواتيمالا): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

HND (هندوراس): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

MEX (المكسيك): screened_data: {personal_number (CURP), first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, gender, nationality, curp_status, state_of_birth, doc_probatorio, registration_year, registration_state, registration_municipality, num_acta, crip, issuing_state_code, foreign_registry_number, folio_carta, folio_certificado}. يستخدم السجل المدني RENAPO. تتوفر أيضاً خدمة منفصلة للتحقق من صلاحية INE لـ MEX كعملية تحقق فردية إضافية.

PAN (بنما): screened_data: {personal_number, selfie}. source_data: {identification_number}. يستخدم التحقق البيومتري من SIB

PER (بيرو): screened_data: {personal_number (DNI), first_name, last_name}. source_data: {identification_number, first_name, last_name, paternal_name, maternal_name, verification_number, verification_letter}

PRY (باراغواي): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

SLV (السلفادور): screened_data: {document_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

URY (أوروغواي): screened_data: {personal_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

VEN (فنزويلا): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, gender, date_of_birth, document_type}

database_validation_not_performed_reason
object | null

سبب عدم إنتاج نتيجة من التحقق من قواعد البيانات المُهيأ، بتنسيق {code, message} بالإضافة إلى حقول السياق. يكون موجوداً فقط عندما يكون database_validations هو null لسير عمل يتضمن هذه الخطوة، حتى تتمكن من التمييز بين "وافق السجل" و"لم يتم تشغيل أي شيء". ويكون null في الحالات الأخرى.

reviews
object[]
assignee
object | null

المراجِع في لوحة التحكم المعين للجلسة، أو null عندما لا يحتفظ بها أحد.

waiting_since
string<date-time> | null

متى بدأت الجلسة بالانتظار للمراجعة. وتكون null ما لم تكن الجلسة في حالة In Review ويحدد تطبيقك موعداً نهائياً للمراجعة.

sla_due_at
string<date-time> | null

متى يحين موعد المراجعة. وتكون null ما لم تكن الجلسة في حالة In Review ويحدد تطبيقك موعداً نهائياً للمراجعة.

created_at
string<date-time>

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

expires_at
string<date-time> | null

الطابع الزمني المجدول لانتهاء صلاحية هذه الجلسة. يتم تعيينه في جلسات التحقق من المستخدمين (KYC) عندما تتم تهيئة انتهاء الصلاحية وقت الإنشاء (أو بمجرد أن تُشغّل حالة Approved احتساب انتهاء صلاحية KYC). يكون null للجلسات التي ليس لها انتهاء صلاحية مُهيأ، وللأنواع التي لا تستخدم انتهاء الصلاحية (مثل جلسات التحقق من الشركات (KYB) التي لم تتلقَ مطلقًا expires_at).

registry_checks
object[] | null

عمليات التحقق من سجل الشركات. تكون موجودة فقط عندما تكون session_kind = business. يغلّف كل عنصر payload سجل الشركات بالكامل.

key_people_checks
object[] | null

فحوصات مجمعة للأشخاص الرئيسيين. تظهر فقط عندما يكون session_kind = business. يستخدم كل عنصر بنية من قسمين (registry، submitted، ubo_kyc_summary).

document_verifications
object[] | null

عمليات التحقق من المستندات مجمّعة حسب عقدة سير العمل. تظهر فقط عندما يكون session_kind = business.

environment
enum<string>

ما إذا كانت الجلسة قد أُنشئت بواسطة تطبيق إنتاج (live) أو تطبيق في البيئة التجريبية (sandbox). جلسات البيئة التجريبية مجانية ومحاكاة بالكامل ولا تخصم أرصدة أبداً.

الخيارات المتاحة:
live,
sandbox
sandbox_scenario
string | null

سيناريو البيئة التجريبية الذي تم إنشاء الجلسة باستخدامه. null للجلسات المباشرة ولجلسات البيئة التجريبية التي تم إنشاؤها بدونه.

resubmissions
object[]

يتم إرجاعها فقط مع include=resubmissions، لجلسات المستخدمين والشركات. مدخل واحد لكل طلب إعادة تقديم، من الأقدم إلى الأحدث. يحمل كل مدخل النتائج التي أرجعتها الخطوات المعاد تقديمها قبل الطلب، بحيث تظل عمليات الإرسال السابقة قابلة للقراءة. يؤدي حذف الجلسة إلى حذف كل عملية إرسال.

ما إذا كانت الجلسة تتطلب موافقة بيومترية صريحة قبل التقاط الوجه، والسبب، والدليل على الإجابة. جلسات التحقق من المستخدمين (KYC) فقط؛ يتوفر الكائن نفسه في decision لـ webhook الخاصة بالجلسة. يكون null عندما لا تخضع الجلسة للتقييم على الإطلاق، على سبيل المثال في سير عمل بدون التقاط للوجه. الحقول التي ليس لها قيمة مسجلة تكون null. لا يمكن لـ SDK أصيل بإصدار أقدم من 4.10.0، أو الذي لا يُبلّغ عن إصداره، إظهار خطوة الموافقة: وتعمل عمليات التقاط الوجه كما كانت من قبل، وتبلغ الجلسة التي تطلبت الموافقة حينها عن status: "pending" مع reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". راجع الموافقة البيومترية.

investigator
object | null

أحدث مراجعة من Investigator للعنصر، أو null في حال لم يحصل عليها من قبل. يتم تضمينها في قرار جلسة V3 وقرار جلسة الشركة (وبالتالي في webhook لحدث status.updated).

biometric_retention
object

متى يتم حذف البيانات البيومترية الحية لهذه الجلسة.

fraud_check
object | null

نتيجة استدعاء Fraud Check API. تكون null لجميع الجلسات الأخرى.

full_session_video
string<uri> | null

رابط URL قابل لانتهاء الصلاحية لتسجيل الجلسة الكاملة. يُعاد فقط عندما تقوم مؤسستك بتسجيل فيديو الجلسة الكاملة.

full_session_video_recorded_at
string<date-time> | null

وقت إجراء تسجيل الجلسة الكاملة. يُعاد فقط عندما تقوم مؤسستك بتسجيل فيديو الجلسة الكاملة.

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