> ## 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: الإنشاء والتحقق وانتقالات ACTIVE وFLAGGED وBLOCKED والحذف. الدفع لكل استدعاء.

يمرّ كل كيان مستخدم وكل كيان شركة في Didit بدورة حياة يمكن التنبؤ بها. فهم هذه الدورة مفتاح تصميم مسارات التسجيل والمراقبة المستمرة ومعالجة المشكلات.

## مخطط دورة الحياة

```mermaid theme={null}
stateDiagram-v2
    [*] --> ACTIVE: Created (API, console, or auto from session)
    ACTIVE --> FLAGGED: Rule match / analyst review / suspicious pattern
    FLAGGED --> ACTIVE: Analyst clears / remediation completed
    ACTIVE --> BLOCKED: Manual block / blocklist match
    FLAGGED --> BLOCKED: Investigation concludes blocked
    BLOCKED --> ACTIVE: Manual unblock (analyst only)
```

## تفاصيل الحالات

| الحالة | المعنى | الإجراءات المتخذة |
| - | - | - |
| `ACTIVE` | الافتراضية: الكيان في وضع سليم | تمرّ الجلسات والمعاملات الجديدة عبر سير العمل والقواعد التي ضبطتها |
| `FLAGGED` | لدى الكيان مشكلة معلّقة تتطلب المراجعة | تستمر الجلسات الجديدة في العمل لكنها تُعيَّن افتراضياً إلى `IN_REVIEW`، وقد تُصعَّد المعاملات تلقائياً وفقاً للقواعد |
| `BLOCKED` | الكيان محظور من منصتك | تُرفض الجلسات الجديدة تلقائياً، وتُرفض المعاملات الجديدة تلقائياً، ولا يمكن إنشاء روابط جلسات جديدة لهذا `vendor_data` |

> [!NOTE]
>
> يؤدي تغيير الحالة عبر `PATCH /v3/users/{vendor_data}/update-status/` أو `PATCH /v3/businesses/{vendor_data}/update-status/` إلى إصدار webhook (`user.status.updated` / `business.status.updated`) حتى تتمكن الأنظمة التابعة من الاستجابة فورياً.

## مراحل دورة الحياة

**1. الإنشاء**

يُنشأ الكيان بإحدى ثلاث طرق:

* **يُنشأ تلقائياً** عند بدء جلسة مع `vendor_data` جديد. يُنشأ الكيان بالحالة `ACTIVE`.
* **يُنشأ مسبقاً عبر API** باستخدام `POST /v3/users/create/` أو `POST /v3/businesses/create/`. الحالة الافتراضية هي `ACTIVE`.
* **يُنشأ في وحدة التحكم** بواسطة مشغّل امتثال. تبدأ الحالة بـ `ACTIVE` ما لم يحدد المشغّل غير ذلك.

يحصل كل كيان على `uuid` يولده Didit ومعرّف `vendor_data` يملكه العميل.

**2. التحقق**

تُرتبط الجلسات بالكيان عبر `vendor_data`. تمرّ كل جلسة عبر [سير العمل](https://docs.didit.me/ar/console/workflows.md) الذي ضبطته، ويشمل ذلك التحقق من الهوية، وكشف الحيوية، ومطابقة الوجه، وفحص AML، والمستندات، والبحث في السجل للتحقق من الشركات (KYB)، وغير ذلك.

تحدّث الجلسات المكتملة العدادات الإجمالية للكيان:

* `session_count`، `approved_count`، `declined_count`، `in_review_count`
* خريطة `features`: آخر حالة لكل ميزة عبر جميع الجلسات (مثلاً `{ "id_verification": "APPROVED", "aml": "IN_REVIEW" }`)
* تنتقل حقول الملف الشخصي من آخر جلسة مقبولة (مثل `full_name` و`date_of_birth` و`portrait_image`).

**3. الاستخدام النشط**

بمجرد أن يصبح للكيان جلسة مقبولة واحدة أو أكثر، يمكنك:

* **إرسال معاملات** تشير إلى الكيان عبر `vendor_data` في حمولة المعاملة
* **تشغيل مراقبة AML المستمرة**: إعادة فحص دورية لقوائم العقوبات والأشخاص المعرّضين سياسياً والأخبار السلبية
* **إعادة التحقق وفق جدول زمني**: إنشاء جلسات جديدة للـ `vendor_data` نفسه على فترات منتظمة
* **تجميع إشارات المخاطر** عبر الجلسات والمعاملات

**4. انتقالات الحالة**

تحدث تغييرات حالة الكيان تلقائياً أو يدوياً.

**الانتقالات التلقائية**

* `ACTIVE → FLAGGED` عندما تتجاوز معاملة حد المراجعة، أو عندما تضيف قاعدة الكيان إلى قائمة مراقبة.
* `ACTIVE → BLOCKED` عندما تطابق السمة البيومترية للوجه إدخالاً في قائمة الحظر.

لا تضع الجلسة المرفوضة الكيان في قائمة الحظر، لذلك لا تتغير حالته. إدراج كيان مرفوض في قائمة الحظر خطوة يدوية: أضف الإدخال من [صفحة قائمة الحظر](https://docs.didit.me/ar/console/blocklist-users.md) أو عبر [Lists API](https://docs.didit.me/ar/management-api/lists/overview.md)، وسيؤدي إدخال من نوع `USER` (وهو `vendor_data`) إلى تعيين الحالة إلى `BLOCKED`.

**الانتقالات اليدوية** تحدث عندما يغيّر محلل الحالة من وحدة التحكم، أو عندما تستدعي نقطة النهاية `update-status`.

يُصدر كل انتقال webhook من نوع `user.status.updated` أو `business.status.updated`.

**5. الحذف**

يُحذف الكيان عبر `POST /v3/users/delete/` أو `POST /v3/businesses/delete/` (على دفعات). يُزال سجل الكيان بشكل دائم. وحذف المستخدم يحذف أيضاً كل [القوالب البيومترية](https://docs.didit.me/ar/management-api/biometric-templates/overview.md) المحتفَظ بها له بعد حذف الجلسات، فيتوقف الشخص عن المطابقة في اكتشاف التكرار وفي البحث بالوجه.

لا تشمل نقاط النهاية هذه جلسات التحقق، ولا المعاملات. احذف الجلسات باستخدام [Delete Session](https://docs.didit.me/ar/sessions-api/delete-session.md) أو [Batch Delete Sessions](https://docs.didit.me/ar/management-api/sessions/batch-delete.md)، وتُحذف المعاملات من وحدة التحكم.

## الطوابع الزمنية للنشاط

تتتبع الكيانات نشاطها لمساعدتك على تحديد الملفات الشخصية الخاملة أو النشطة:

| الطابع الزمني | يُحدَّث عند |
| - | - |
| `first_session_at` | إنشاء أول جلسة لهذا الكيان |
| `last_session_at` | إنشاء أحدث جلسة أو تحديثها |
| `last_activity_at` | حدوث أي تغيير: جلسة، أو معاملة، أو تغيير حالة، أو تحديث للملف الشخصي |

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

## الأحداث الصادرة خلال دورة الحياة

| مرحلة دورة الحياة | webhooks الصادرة |
| - | - |
| الإنشاء (تلقائياً من جلسة) | `status.updated` (للجلسة)، و`user.data.updated` أو `business.data.updated` |
| التحقق | `status.updated` (للجلسة)، و`data.updated` |
| تغيير الحالة | `user.status.updated` أو `business.status.updated` |
| إرسال معاملة | `transaction.created` |
| تغيير حالة معاملة | `transaction.status.updated` |

راجع [webhooks الخاصة بالكيانات](https://docs.didit.me/ar/entities/webhooks.md) للاطلاع على بنية الحمولات ودلالات التسليم.

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

> [card] [ربط بيانات البائع](https://docs.didit.me/ar/entities/vendor-data-linking.md)
>
> كيف يربط `vendor_data` الجلسات والمعاملات والكيانات ببعضها.

> [card] [عمليات المستخدم](https://docs.didit.me/ar/entities/users/operations.md)
>
> إنشاء كيانات المستخدمين وتحديثها وتغيير حالتها وحذفها.

> [card] [عمليات الشركات](https://docs.didit.me/ar/entities/businesses/operations.md)
>
> إنشاء كيانات الشركات وتحديثها وتغيير حالتها وحذفها.


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