> ## 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.

# واجهة جلسات التحقق: التحقق الموحد من KYC وKYB

> Didit: واجهة Sessions API توحّد التحقق KYC وKYB عبر endpoint واحد. دفع حسب الاستخدام، استدلال خلال 2s، 220+ دولة، 14,000+ مستند، و$10 رصيد مجاني شهرياً.

تُعدّ الجلسات وحدة التحقق في Didit. عند بدء عملية تحقق، تُنشأ **جلسة**، وعند انتهاء التحقق تحمل الجلسة payload القرار الكامل. تتعامل واجهة برمجة الجلسات مع النوعين معًا:

| النوع | ما الذي يتحقق منه | يتضمن payload القرار |
| - | - | - |
| **جلسة التحقق من المستخدمين (KYC)** | شخص فردي | التحقق من الهوية، كشف الحيوية، مطابقة الوجه، إثبات العنوان (POA)، NFC، التحقق من قواعد البيانات، الهاتف، البريد الإلكتروني، فحص AML، الاستبيانات، تحليل الجهاز وعنوان IP |
| **جلسة التحقق من الشركات (KYB)** | شركة أو كيان قانوني | فحص سجل الشركات، الأشخاص الرئيسيون (المسؤولون والمستفيدون الحقيقيون UBO)، التحقق من المستندات، الهاتف، البريد الإلكتروني، فحص AML، الاستبيانات، تحليل الجهاز وعنوان IP |

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

[التدفق المستضاف مقابل بناء شاشاتك الخاصة: Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?start=334\&rel=0\&playsinline=1)

## يحدد سير العمل نوع الجلسة

عند [إنشاء جلسة](https://docs.didit.me/ar/sessions-api/create-session.md)، تمرر `workflow_id`. يحدد نوع سير العمل ما إذا كانت الجلسة من نوع التحقق من المستخدمين أو التحقق من الشركات، ولا يختار المتصل النوع بشكل منفصل. تنشئ سيرُ عمل KYB جلسات التحقق من الشركات، وتنشئ سيرُ عمل KYC جلسات التحقق من المستخدمين.

## الحقل المُميِّز `session_kind`

تتضمن كل استجابة للجلسة، سواء من الإنشاء أو الاسترجاع أو السرد أو تحديث الحالة أو المشاركة أو الاستيراد، حقلًا على المستوى الأعلى:

```json theme={null}
{
  "session_id": "...",
  "session_kind": "user",
  ...
}
```

* `"user"`: الجلسة **جلسة التحقق من المستخدمين (KYC)**. تحتوي الاستجابة على مصفوفات الميزات الخاصة بالمستخدمين.
* `"business"`: الجلسة **جلسة التحقق من الشركات (KYB)**. تحتوي الاستجابة على مصفوفات الميزات الخاصة بالشركات.

استخدم هذا الحقل لتحديد شكل البيانات في جهتك.

> [!NOTE]
>
> قيم التعداد هي المعرّفات القصيرة `"user"` و`"business"`، وقد أبقيناها قصيرة لتسهيل استخدام الواجهة. أما الأسماء الكاملة **التحقق من المستخدمين (KYC)** و**التحقق من الشركات (KYB)** فتُستخدم في الوثائق كلها للتوضيح.

## مصفوفات الميزات حسب النوع

تعتمد مصفوفات الميزات الموجودة في القرار على النوع. الحقول الغائبة عن نوع ما لا تظهر في استجابته أصلًا (لا قيم null ولا عناصر نائبة):

| مصفوفة الميزات | التحقق من المستخدمين (KYC) | التحقق من الشركات (KYB) |
| - | :-: | :-: |
| `id_verifications` | ✅ | — |
| `liveness_checks` | ✅ | — |
| `face_matches` | ✅ | — |
| `nfc_verifications` | ✅ | — |
| `poa_verifications` | ✅ | — |
| `database_validations` | ✅ | — |
| `registry_checks` | — | ✅ |
| `document_verifications` | — | ✅ |
| `key_people_checks` | — | ✅ |
| `aml_screenings` | ✅ | ✅ |
| `phone_verifications` | ✅ | ✅ |
| `email_verifications` | ✅ | ✅ |
| `questionnaire_responses` | ✅ | ✅ |
| `ip_analyses` | ✅ | ✅ |
| `reviews` | ✅ | ✅ |
| `contact_details` | ✅ | ✅ |

## الحقول المشتركة على المستوى الأعلى

تحمل كل جلسة (من النوعين) هذه الحقول:

| الحقل | الوصف |
| - | - |
| `session_id` | معرّف UUID للجلسة |
| `session_kind` | `"user"` (التحقق من المستخدمين / KYC) أو `"business"` (التحقق من الشركات / KYB) |
| `session_number` | رقم تسلسلي داخل التطبيق |
| `session_url` | رابط التحقق المستضاف |
| `status` | الحالة العامة للجلسة، مثل `APPROVED` و`DECLINED` و`IN_REVIEW` و`IN_PROGRESS` وغيرها |
| `workflow_id` | معرّف UUID لسير العمل المستخدم |
| `vendor_data` | معرّفك للكيان. [اعرف المزيد](https://docs.didit.me/ar/entities/vendor-data-linking.md) |
| `metadata` | بيانات JSON حرة أرفقتها عند الإنشاء |
| `callback` | رابط استدعاء اختياري |
| `features` | قائمة ميزات مفصولة بفواصل يشغّلها سير العمل |
| `expected_details` | payload اختياري للبيانات المتوقعة بغرض التحقق المتبادل |
| `created_at`، `expires_at` | الطوابع الزمنية |

## endpoints المشمولة

تقبل endpoints التالية النوعين معًا. لا توجد مسارات منفصلة مثل `/v3/business-session/*`.

| endpoint | يعمل مع |
| - | - |
| [`POST /v3/session/`](https://docs.didit.me/ar/sessions-api/create-session) | ينشئ جلسة تحقق من المستخدمين أو جلسة تحقق من الشركات بحسب نوع سير العمل |
| [`GET /v3/session/{id}/decision/`](https://docs.didit.me/ar/sessions-api/retrieve-session) | يسترجع أيًا من النوعين، ويحدد النوع من `session_id` |
| [`GET /v3/sessions/`](https://docs.didit.me/ar/sessions-api/list-sessions) | يسرد أيًا من النوعين. استخدم معامل الاستعلام `session_kind` للتصفية |
| [`PATCH /v3/session/{id}/update-status/`](https://docs.didit.me/ar/sessions-api/update-status) | يحدّث أيًا من النوعين |
| [`DELETE /v3/session/{id}/delete/`](https://docs.didit.me/ar/sessions-api/delete-session) | يحذف أيًا من النوعين |
| [`GET /v3/session/{id}/generate-pdf/`](https://docs.didit.me/ar/sessions-api/generate-pdf) | ينشئ ملف PDF لأيٍّ من النوعين، ويوجّه إلى قالب التحقق من المستخدمين أو قالب التحقق من الشركات |
| [`POST /v3/session/{id}/share/`](https://docs.didit.me/ar/sessions-api/share-session/share) | يتضمن رمز المشاركة الحقل `session_kind` |
| [`POST /v3/session/import-shared/`](https://docs.didit.me/ar/sessions-api/share-session/import) | يستورد أيًا من النوعين، ويحافظ على `session_kind` من الرمز |

## كيف يتم البحث

جلسات التحقق من المستخدمين وجلسات التحقق من الشركات نوعان مختلفان. تستخدم المعرّفات صيغة UUID فلا يمكن أن تتعارض. عند استدعاء endpoint بـ`session_id`، يقوم Didit بما يلي:

1. يبحث عن المعرّف في جدول التحقق من المستخدمين أولًا، لأنه يتعامل مع معظم الطلبات.
2. إذا لم يجده، يرجع إلى جدول التحقق من الشركات.
3. يعيد الخطأ 404 إذا لم يوجد تطابق في الجدولين.

لا تحتاج أبدًا إلى إخبار الواجهة بالنوع الذي تبحث عنه.

## الحالات متطابقة

قيم الحالة واحدة في النوعين، ويعيدها الـAPI كما هي مكتوبة هنا تمامًا: `"Not Started"` و`"In Progress"` و`"Approved"` و`"Declined"` و`"In Review"` و`"Abandoned"` و`"Expired"` و`"Kyc Expired"` و`"Resubmitted"` و`"Awaiting User"`. المطابقة تامة وحساسة لحالة الأحرف. للاطلاع على المرجع الكامل، راجع [حالات التحقق](https://docs.didit.me/ar/integration/verification-statuses.md).

## Webhooks

تتضمّن أحداث webhook بالفعل حقل `session_kind` حتى تتمكّن معالجات webhook لديك من التوجيه حسب كل نوع:

| الحدث | النوع | يُطلق عند |
| - | - | - |
| `status.updated` | كلاهما | تغيّرت حالة جلسة. تحتوي payload على `session_kind: "user"` أو `"business"`. |
| `data.updated` | كلاهما | تغيّرت بيانات جلسة (نتائج الميزات، تحديث السجل، مراقبة AML المستمرة). تحتوي payload على `session_kind`. |
| `business.status.updated` / `business.data.updated` | كيان الشركة | تغيّر كيان الشركة المرتبط. |
| `user.status.updated` / `user.data.updated` | كيان المستخدم | تغيّر كيان المستخدم المرتبط. |

راجع [webhooks](https://docs.didit.me/ar/integration/webhooks.md) للتحقق من التوقيع ودلالات إعادة المحاولة، و[webhooks الخاصة بـ KYB](https://docs.didit.me/ar/business-verification/webhooks.md) للاطلاع على كتالوج أحداث التحقق من الشركات.

## الخطوات التالية

> [card] [إنشاء جلسة](https://docs.didit.me/ar/sessions-api/create-session.md)
>
> ابدأ عملية تحقق، سواء التحقق من المستخدمين أو التحقق من الشركات.

> [card] [استرجاع الجلسة](https://docs.didit.me/ar/sessions-api/retrieve-session.md)
>
> استرجع القرار. يعمل مع النوعين.

> [card] [عرض الجلسات](https://docs.didit.me/ar/sessions-api/list-sessions.md)
>
> صفِّ النتائج حسب `session_kind`.

> [card] [تحديث الحالة](https://docs.didit.me/ar/sessions-api/update-status.md)
>
> قبول، أو رفض، أو مراجعة، أو إعادة الإرسال.

> [card] [إنشاء ملف PDF](https://docs.didit.me/ar/sessions-api/generate-pdf.md)
>
> تقارير PDF حسب النوع.

> [card] [مشاركة + استيراد](https://docs.didit.me/ar/sessions-api/share-session/overview.md)
>
> انقل الجلسات بين التطبيقات.


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