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

# حالات مراقبة المعاملات: مرجع الحالات والانتقالات

> مرجع لكل حالات المعاملات والحالات وTravel Rule في Didit، مع الانتقالات والمعاني. 1,000 معاملة شهرياً مشمولة، ثم $0.001 لكل معاملة.

تتضمن مراقبة المعاملات ثلاث آلات حالة منفصلة: **المعاملة**، و**كل حالة**، و(عند الاقتضاء) **فحص Travel Rule**. هذه الصفحة هي المرجع.

## حالة المعاملة

تُعيَّن عند الإنشاء وتُحدَّث خلال دورة حياتها.

| الحالة | المعنى |
| - | - |
| `APPROVED` | اجتازت المعاملة جميع القواعد أدناه التي تقع دون حد المراجعة. |
| `IN_REVIEW` | تجاوزت الدرجة حد المراجعة، أو طلبت قاعدة مراجعتها صراحةً. مطلوب اهتمام المحلل. |
| `DECLINED` | تجاوزت الدرجة حد الرفض، أو رفضتها قاعدة صراحةً. رُفضت المعاملة. |
| `AWAITING_USER` | يجب أن يتخذ المستخدم إجراءً قبل أن تتمكن المعاملة من التسوية. لا يعيّنها Didit إلا من خلال قاعدة: إجراء `change_status` في القاعدة (مثل قاعدة المكتبة الاختيارية `travel-rule-pending-action`، التي تُطلق على تحويل Travel Rule في `ON_HOLD`)، أو إجراء قاعدة استلزم تحققاً إضافياً (أُنشئت جلسة معالجة). لا يعيّنها تحويل Travel Rule الذي يحتاج إلى إثبات ملكية المحفظة وحده: تحتفظ المعاملة بالحالة التي تمنحها قواعدك (عادةً `APPROVED`)، وتحمل كتلة `action_required` رابط إثبات ملكية المحفظة متى كانت جلسة الأداة المضمنة معلّقة. اقرأ كتلة `action_required` في المعاملة للاطلاع على الإجراء المحدد والرابط. |

### الانتقالات

```mermaid theme={null}
stateDiagram-v2
    [*] --> APPROVED: Score < review threshold, no blocking rules
    [*] --> IN_REVIEW: Score >= review threshold
    [*] --> DECLINED: Score >= decline threshold, or rule decline action
    [*] --> AWAITING_USER: Rule action change_status → AWAITING_USER
    IN_REVIEW --> APPROVED: Analyst cleared
    IN_REVIEW --> DECLINED: Analyst declined
    AWAITING_USER --> APPROVED: Remediation session approved
    AWAITING_USER --> DECLINED: Remediation session declined
    AWAITING_USER --> IN_REVIEW: Remediation session ended in review
```

ملاحظة: خارج Travel Rule لا يوجد انتقال مباشر من `APPROVED` أو `DECLINED` إلى حالات أخرى.
عند انتهاء صلاحية Travel Rule، تضبط `timeout_outcome` الحالة على `IN_REVIEW` (`HOLD`) أو `DECLINED` (`REJECT`) بصرف النظر عن الحالة الحالية، ويمكن لقاعدة تُطلق بعد انتقال Travel Rule أن تغيّر معاملة `APPROVED`.
استخدم تعديلات الحالة من خلال وحدة التحكم للتصحيحات؛ تُسجَّل هذه التغييرات في سجل التدقيق.

## التنبيهات

لا توجد حالة منفصلة للتنبيه.
التنبيه المفتوح هو معاملة في `IN_REVIEW` أو `AWAITING_USER`، لذا استخدم حالة المعاملة أعلاه.
راجع [التنبيهات](https://docs.didit.me/ar/transaction-monitoring/alerts.md).

## حالة الحالة

للاطلاع على التفاصيل الكاملة، راجع [إدارة الحالات](https://docs.didit.me/ar/console/case-management/cases.md).

| الحالة | المعنى |
| - | - |
| `OPEN` | قيد التحقيق النشط. |
| `AWAITING_USER` | في انتظار مدخلات من جانب المستخدم. |
| `RESOLVED` | أُغلقت مع إحدى النتائج التالية: `FALSE_POSITIVE` أو `VALID_THREAT` أو `INCONCLUSIVE` أو `REQUIREMENTS_NOT_MET` أو `REQUIREMENTS_SATISFIED`. |

تحمل كل حالة **الأولوية** الخاصة بها، منفصلةً عن الحالة (`LOW`، `MEDIUM`، `HIGH`).

## حالة فحص Travel Rule

تُنفَّذ تحويلات الأصول الافتراضية بموجب Travel Rule التابعة لـ FATF عبر **تبادل بثلاث عشرة حالة** مخصص، منفصل عن حالة المعاملة أعلاه.
يبدأ التحويل الصادر من الحالة `AWAITING_COUNTERPARTY`، أو `NOT_APPLICABLE` (أدنى من `threshold_amount`)، أو `UNCONFIRMED_OWNERSHIP` (أُعلنت محفظة الطرف المقابل ذاتية الاستضافة)، أو `COMPLETED` أو `COUNTERPARTY_MISMATCHED_DATA` (تطابق `INTERNAL` على محفظة موثّقة، حسب مطابقة الاسم)، أو `COUNTERPARTY_VASP_NOT_FOUND`، أو `COUNTERPARTY_VASP_NOT_REACHABLE`.
ويمكن أن يبدأ التحويل الوارد أيضاً من `ON_HOLD` أو `NOT_ENOUGH_COUNTERPARTY_DATA`، وينتقل تسجيل Sunrise الذي يطابق محفظة موثّقة، مع اسم مستفيد مطابق أو غائب، مباشرةً عبر `COMPLETED` إلى `FINISHED`.
ينتهي التبادل في `FINISHED` أو `CANCELLED` أو `EXPIRED`.

| الحالة | المعنى |
| - | - |
| `AWAITING_COUNTERPARTY` | أُرسل إلى الطرف المقابل، وهو في انتظار رده. لا يخرج التحويل المرسل عبر TRUST من هذه الحالة حتى تنتهي صلاحيته، لأن TRUST لا يعيد إلى Didit أي شيء يمكن قراءته. في تطبيق البيئة التجريبية يُرسل التحويل إلى [Didit Test VASP](https://docs.didit.me/ar/transaction-monitoring/travel-rule-sandbox.md)، الذي يجيب داخل Didit بالسيناريو الذي تختاره. |
| `UNCONFIRMED_OWNERSHIP` | لم تثبت ملكية محفظة المستفيد بعد. |
| `ON_HOLD` | يضبطها Didit على التحويلات الواردة فقط: تسجيل Sunrise أو استعلام `TRP` وارد تكون محفظته غير موجودة في دفتر عناوينك (أو، في حالة استعلام بالاسم فقط، إذا لم يطابق الاسم حائزاً موثّقاً واحداً)، أو استعلام `TRP` وارد يحتاج إلى قرارك اليدوي (القبول التلقائي متوقف، أو تعذّر تسليم الرد التلقائي). لا تغيّر حالة المعاملة بذاتها؛ تضبط قاعدة المكتبة الاختيارية `travel-rule-pending-action` الحالة `AWAITING_USER`. احسمها باستخدام `POST /v3/transactions/{id}/travel-rule/ownership/`. |
| `COMPLETED` | تطابقت بيانات المُرسِل والمستفيد، والتحويل آمن للبث على السلسلة. |
| `FINISHED` | أُبلغ عن هاش على السلسلة، وأُغلق التبادل. |
| `CANCELLED` | أُلغي من حالة غير نهائية. |
| `EXPIRED` | انقضت مهلة التأكيد. لا تنتهي صلاحية إلا التحويلات التي لا تزال في `AWAITING_COUNTERPARTY` عند موعدها النهائي، ويُفحص ذلك كل 15 دقيقة؛ ولا تنتهي الحالات الأخرى أبداً. تُطبَّق `timeout_outcome` على المعاملة، ولا يرسل هذا التغيير أي webhook من نوع `transaction.status.updated`. |
| `COUNTERPARTY_MISMATCHED_DATA` | لم يطابق اسم المستفيد. |
| `COUNTERPARTY_VASP_NOT_FOUND` | لم تتمكن أي قناة من تحديد الطرف المقابل. |
| `COUNTERPARTY_VASP_NOT_REACHABLE` | تم تحديد الطرف المقابل، لكن تعذّر على Didit التسليم: إما أن endpoint الخاص بـ `TRP` لم يكن متاحاً، أو أبلغ عن LEI مختلف أو مفقود، أو عن اسم مختلف، أو أن قناة شبكية (GTR أو TRUST أو VerifyVASP أو Sygna Bridge) تعذّر عليها تسليم الرسالة. |
| `COUNTERPARTY_VASP_GENERAL_DECLINE` | رفض الطرف المقابل التبادل. |
| `NOT_ENOUGH_COUNTERPARTY_DATA` | حدّد استعلام `TRP` وارد المستفيد دون اسم ولا عنوان محفظة. لا توجد له مهلة، ولا يستطيع حلّه endpoint الخاص بالملكية، لذا ألغِه باستخدام `action: "cancel"`؛ ولا يُبلَّغ المُرسِل. لا يضبط Didit هذه الحالة على تحويل صادر أبداً؛ تظهر هناك فقط عندما تسجّلها أنت بنفسك، ويمكنك إعادة محاولة مثل هذا التحويل باستخدام `action: "resend"`. |
| `NOT_APPLICABLE` | أدنى من `threshold_amount`، فلم يُتبادل شيء؛ أو قيمة سجّلتها أنت على تحويل لا يشغّل Didit له Travel Rule (Travel Rule معطّل، أو معاملة لا يكون نوعها `travelRule`، أو قيمة قديمة). |

قد تظل التكاملات القديمة ترسل القيم القديمة `UNKNOWN` و`COMPLIANT` و`PENDING_ACTION` و`PENDING_COUNTERPARTY` و`FAILED` و`EXEMPT`؛ ويحوّلها Didit تلقائياً إلى الحالات أعلاه.

للاطلاع على المرجع المعتمد، راجع [Travel Rule](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md#دورة-الحياة).

## حالة نتيجة المزوّد

تُخزَّن كل نتيجة من نتائج المزوّدين الخارجيين (فحص المحافظ، ومراقبة العملات الورقية، وفحص العقوبات) بحالتها الخاصة. وتظهر ضمن `provider_results[]` في استجابة المعاملة.

| الحالة | المعنى |
| - | - |
| `PENDING` | الاستعلام لدى المزوّد قيد التنفيذ. |
| `COMPLETED` | عاد المزوّد بالنتيجة بنجاح. |
| `FAILED` | أخفق المزوّد في الاستجابة أو انتهت مهلته. |
| `SKIPPED` | تم تخطّي المزوّد عن قصد (مثل: المعاملة أقل من الحد). |

## نتائج تشغيل القواعد

يحتوي كل `TransactionRuleRun` على ما يلي:

* `matched` (قيمة منطقية): هل أُطلقت القاعدة؟
* `is_test` (قيمة منطقية): هل كانت القاعدة في وضع TEST؟
* `mode`: قيمة من `ACTIVE` أو `DISABLED` أو `TEST` وقت التقييم.
* `score_delta`: مساهمة القاعدة في الدرجة (إذا تطابقت وكانت نشطة).
* `status_target`: الحالة التي طلبتها القاعدة (إذا كان الإجراء `change_status`).

راجع [القواعد](https://docs.didit.me/ar/transaction-monitoring/rules.md) لمعرفة بنية القاعدة.

## رموز أسباب القرار

أكثر قيم `reason` شيوعاً في انتقالات الحالة:

| السبب | المعنى |
| - | - |
| `rule_score_threshold` | تجاوزت الدرجة حد المراجعة أو حد الرفض. |
| `rule_change_status` | فرض إجراء `change_status` في إحدى القواعد حالةً معيّنة. |
| `analyst_approved` / `analyst_declined` / `analyst_cleared` | إجراء يدوي من المحلل. |
| `user_action_approved` / `user_action_declined` / `user_action_in_review` | نتيجة جلسة المعالجة المرتبطة (إجراء المستخدم المطلوب أثناء `AWAITING_USER`). |
| `provider_update` | حدّث المزوّد الخارجي النتيجة. |
| `aml_confirmed_sanction` | أكد فحص AML وجود تطابق مع العقوبات. |
| `blocklist_applicant` / `blocklist_counterparty` | تطبيق قائمة الحظر على أحد الطرفين. |

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

> [card] [احتساب درجات المخاطر](https://docs.didit.me/ar/transaction-monitoring/risk-scoring.md)
>
> كيف تُربط الدرجات بحالات المعاملة.

> [card] [التنبيهات](https://docs.didit.me/ar/transaction-monitoring/alerts.md)
>
> دورة حياة التنبيه.

> [card] [الحالات](https://docs.didit.me/ar/transaction-monitoring/cases.md)
>
> دورة حياة الحالة.


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