> ## 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 وحالتها

> ما تصل إليه كل شبكة Travel Rule حالياً، وما تحتاجه من جهتك، وما ينتظر عضوية لا تملكها Didit بعد.

يصل تبادل [Travel Rule](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md) إلى VASP الطرف المقابل عبر مسار واحد. ثلاثة مسارات لا تتطلب عضوية لأي طرف: `INTERNAL` بين عميلين لدى Didit، وبروتوكول Travel Rule المفتوح (`TRP`)، و`EMAIL`. أما المسارات الأربعة للشبكات (`GTR` و`TRUST` و`VERIFYVASP` و`SYGNA`) فتتطلب عضوية في تلك الشبكة من جانب المُرسِل.

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

> [!WARNING]
>
> **لا تملك Didit حاليًا عضوية فعلية في أي شبكة Travel Rule.** يعمل مسار الشبكة اليوم فقط بعضوية تربطها بنفسك في **Marketplace** داخل وحدة التحكم. لا يصل أي شيء إلى طرف مقابل عبر GTR أو TRUST أو VerifyVASP أو Sygna Bridge من خلال عضوية Didit الخاصة، وستتغير هذه الصفحة في اليوم الذي يحدث فيه ذلك.

## الحالة في لمحة

| المسار | ما تحتاجه | الإرسال إلى طرف مقابل | الاستقبال من طرف مقابل |
| - | - | - | - |
| `INTERNAL` | لا شيء | يعمل | يعمل |
| `TRP` | لا شيء | يعمل عندما يجيب الطرف المقابل فورًا | غير متاح بعد |
| `EMAIL` | عنوان امتثال | يعمل | ليست قناة استلام |
| `GTR` | عضويتك الخاصة | مطبّق، ولم يُثبت تشغيله على الشبكة الحية بعد | غير مفعّل بعد |
| `VERIFYVASP` | عضويتك الخاصة | مطبّق، ولم يُثبت تشغيله على الشبكة الحية بعد | غير مفعّل بعد |
| `SYGNA` | عضويتك الخاصة | مطبّق، ولم يُثبت تشغيله على الشبكة الحية بعد | غير مفعّل بعد |
| `TRUST` | عضويتك الخاصة | يرسل فقط ولا يكتمل أبدًا | غير متاح |
| CODE, TRISA, Notabene, Veriscope | - | غير مدمج | غير مدمج |

تعني كلمة "يعمل" أن Didit ترسل التبادل وتقرأ الرد. وتعني عبارة "مطبّق، ولم يُثبت تشغيله على الشبكة الحية بعد" أن Didit ترسل التبادل وتقرأ رد الشبكة، لكن لم تكتمل أي عملية تبادل عبر تلك الشبكة مع شبكة حية بعد. ولا تعني أيٌّ من الكلمتين أن طرفًا مقابلًا بعينه يمكن الوصول إليه، فذلك يتوقف على الطرف المقابل نفسه. ويُبيّن حقل `routes` في إدخال كل VASP في [الدليل](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md#الدليل) المسارات التي يمكن لتطبيقك استخدامها معه اليوم.

لا يحمل `EMAIL` إلا طلباتك الصادرة: صفحة الرد هي المكان الذي يجيب فيه الطرف المقابل عن أحدها، ولا يستطيع أي VASP أن يرسل إليك تحويلًا عبر البريد الإلكتروني.

قبل أن تعتمد على GTR أو VerifyVASP أو Sygna Bridge أو TRUST، اربط عضويتك وأجرِ أول تبادل مع طرف مقابل تعرفه.

## المسارات التي لا تتطلب عضوية

### INTERNAL

يعمل كلا VASP على Didit، لذلك يُسوّى التبادل داخل المنصة دون أي استدعاء خارجي. يجب أن يكون المستلم عميل Didit نشطًا مع تفعيل Travel Rule لديه، وأن يكون قد أثبت سيطرته على المحفظة المستهدفة بتوقيع رسالة أو بإيداع تجريبي. المحفظة المُعلَن عنها ذاتيًا، أو المعتمدة على لقطة شاشة فقط، أو غير الموثّقة لا تستلم أي شيء. راجع [إرسال تحويل](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md#إرسال-تحويل).

### TRP

تتعامل Didit مع بروتوكول Travel Rule مباشرة. يُرسل التحويل عبر `TRP` عندما يحمل Travel Address الخاص بالطرف المقابل، أو عندما يحفظ دفتر عناوين المحفظة المستهدفة عنوانًا من هذا النوع، أو عندما يُحلّ الطرف المقابل في الدليل مع endpoint TRP تحقّق الدليل منه.

كل تبادل TRP لا يكتمل في استدعاء واحد يحتاج إلى مضيف TRP العام لدى Didit، وهو المضيف الذي تشير إليه Travel Addresses:

* **الإرسال.** الطرف المقابل الذي يجيب عن استفسارك فورًا، في ردّه، يُكمل التحويل أو يرفضه. أما الطرف الذي يجيب لاحقًا فينشر ردّه على مضيف TRP لدى Didit، لذا لا يمكن أن يكتمل ذلك التبادل قبل أن يصبح المضيف فعّالًا، وينتظر التحويل وتنتهي صلاحيته عند الموعد النهائي. ترسل Didit الاستفسار مرة واحدة ولا تعيد إرساله: عندما لا يمكن الوصول إلى مضيف TRP لدى الطرف المقابل أو يرفض الاستفسار، يتحول التحويل فورًا إلى `COUNTERPARTY_VASP_NOT_REACHABLE`، ويمكنك إعادة المحاولة باستخدام `action: "resend"`.
* **الاستقبال.** تصل إليك VASPs الأخرى عبر Travel Address الخاص بك على هذا المضيف، لذلك لا يستطيع أي طرف مقابل إرسال استفسار TRP إليك قبل أن يصبح المضيف فعّالًا.

لا يخدم مضيف TRP العام لدى Didit endpoints هذه بعد. تُوثّق صفحة [قابلية التشغيل البيني لـ Travel Rule](https://docs.didit.me/ar/transaction-monitoring/travel-rule-interoperability.md) endpoints التي سيستدعيها الأطراف المقابلة بمجرد أن يفعل ذلك.

### EMAIL

عندما لا يصل أي بروتوكول إلى الطرف المقابل، ترسل Didit إلى عناوين الامتثال لديه رابطًا لمرة واحدة إلى صفحة مستضافة يقبلون فيها الطلب أو يرفضونه. لا يحتاج الطرف المقابل إلى حساب أو تكامل. راجع [استلام البريد الإلكتروني](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md#استلام-البريد-الإلكتروني-للأطراف-المقابلة-غير-القابلة-للوصول).

## مسارات الشبكة

### مع عضويتك الخاصة

اربط عضويتك الخاصة من **Marketplace** في لوحة التحكم (فئة شبكات Travel Rule). عندها تُرسل تحويلاتك بهويتك الخاصة على الشبكة، ولعضويتك المرتبطة الأولوية دائماً على عضوية Didit.

| الشبكة | ما الذي يطلبه Marketplace | كيف تصل إجابة الطرف المقابل إلى Didit |
| - | - | - |
| `GTR` | عنوان URL الأساسي لواجهة API، ورمز VASP في GTR، ومفتاح الوصول، والمفتاح السري، ومفتاح ed25519 الخاص (base64) الذي يُسجَّل مفتاحه العام في بوابة GTR | في استجابة GTR للطلب، أو عبر الاستعلام عن حالة الطلب كل 5 دقائق أثناء انتظار التحويل |
| `VERIFYVASP` | عنوان URL لـ VerifyVASP Enclave الخاص بك، ومعرّف VerifyVASP الخاص بك، والرمز الذي يقدّمه Enclave لـ Didit | عبر الاستعلام عن حالة التحقق كل 5 دقائق |
| `SYGNA` | رمز VASP في Sygna، ومفتاح API، ومفتاح التوقيع الخاص. عنوان URL الأساسي لواجهة API اختياري: اتركه فارغاً لاستخدام Sygna Bridge الإنتاجي | عبر الاستعلام عن حالة التحويل كل 5 دقائق. يُوجّه استدعاء الإذن في Sygna إلى مضيف TRP العام لدى Didit، وهو غير متاح بعد، لذا فإن الاستعلام هو الطريقة الوحيدة التي تصل بها الإجابة إلى Didit اليوم |
| `TRUST` | عنوان URL الأساسي، ومعرّف عضو TRUST، ومفتاح API. مفتاح التشفير الخاص X25519 (hex) اختياري | لا تصل أبداً: لا يرسل TRUST أي شيء يمكن لـ Didit قراءته، لذا يبقى التحويل المسلَّم في الانتظار حتى تنتهي مهلته فيُنهى التحويل |

تدعم GTR وTRUST وVerifyVASP أيضاً شهادة عميل TLS متبادل اختيارية، ومفتاح العميل، وحزمة CA (بصيغة PEM)، وذلك لعضوية تستخدم TLS المتبادل أو سلطة شهادات خاصة.

* يرسل Didit في الخلفية، ويعيد المحاولة مع أي شبكة لا تستجيب، أو تستجيب بفشل مؤقت (لا توجد استجابة في الوقت المحدد، أو فشل في الاتصال، أو رمز HTTP `408` أو `429` أو `5xx`): بعد 30 ثانية، ثم بعد دقيقتين، ثم بعد 10 و30 و60 دقيقة. وبعد المحاولة الفاشلة السادسة تصبح حالة التحويل `COUNTERPARTY_VASP_NOT_REACHABLE`. أما الرفض، مثل رد آخر من فئة `4xx` أو إعادة توجيه، فلا تُعاد محاولته، وتصبح حالة التحويل `COUNTERPARTY_VASP_NOT_REACHABLE` فوراً.
* يبقى التحويل الذي لا تصل إجابته في الحالة `AWAITING_COUNTERPARTY` حتى تمر `confirmation_timeout_hours`، ثم ينتهي ويُطبَّق `timeout_outcome` الخاص بك.
* استقبال تحويل يرسله إليك VASP آخر عبر GTR أو VerifyVASP أو Sygna Bridge غير مفعّل بعد: يفعّله Didit لكل شبكة على حدة، وحتى ذلك الحين لا تستطيع هذه الشبكات تسليم أي تحويل إليك.
* يُرجع حفظ العضوية الرمز `400` إذا كان رمز المشارك هو رمز Didit الخاص على تلك الشبكة، أو رمزاً يحمله تطبيق آخر.
* تحمل طلبات الشبكة بيانات اعتمادك إلى مضيف تلك الشبكة فقط، ولا تتبع أبداً أي إعادة توجيه. وتُرسل حزمة بيانات TRUST إلى المستفيد دون مفتاح API الخاص بك أو معرّف العضو أو شهادة العميل.

### عبر عضوية Didit

بمجرد أن تمتلك Didit عضوية في شبكة ما، يستطيع العميل الذي لا يملك عضوية أن يصل إلى الشبكة بوصفه مشاركاً مستقلاً ضمن عضوية Didit، برمز المشارك الذي تمنحه إياه الشبكة. تُرسل الرسائل الصادرة باسم رمزك أنت، لا باسم رمز Didit. هذا الخيار متاح لـ GTR وSygna Bridge فقط. يقبل TRUST عضوية VASP واحدة في كل مرة، ويخدم VerifyVASP Enclave VASP واحداً، لذلك لا يمكن الوصول إلى هاتين الشبكتين إلا بعضويتك الخاصة.

يتطلب الانضمام ثلاث خطوات: الإجابة عن استبيان الفحص النافي للجهالة للشبكة الذي يقدّمه Didit، وموافقة Didit على الاستبيان، ثم طلب الشبكة. يسجّلك Didit لدى الشبكة، ويصبح مشاركك نشطاً بمجرد أن تمنحه الشبكة رمزاً.

هذا المسار غير متاح بعد. وإلى أن يُتاح، يُرجع حفظ الاستبيان أو إرساله، وكذلك طلب الشبكة، الرمز `403` مع `code: travel_rule_platform_networks_disabled`، ويُرجع `GET /v3/travel-rule/networks/` القيمة `platform_networks_enabled: false`.

## قراءة حالة تطبيقك

تُعيد `GET /v3/travel-rule/settings/` و`GET /v3/travel-rule/networks/` الحقل `networks`، وتُفهرسه بالمفاتيح `gtr` و`trust` و`verifyvasp` و`sygna`. يصف كل إدخال ما تستطيع الشبكة أن تفعله لتطبيقك اليوم:

| `state` | `reason` | المعنى |
| - | - | - |
| `own_membership` | `own_membership_connected` | ربطتَ عضويتك الخاصة. في تطبيق في بيئة الإنتاج تُرسل التحويلات نيابةً عنك. |
| `live_through_didit` | `participant_active` | عضوية Didit في الشبكة تحمل تطبيقك بوصفه مشاركاً نشطاً خاصاً بها. |
| `off` | `platform_network_switched_off` | أوقفتَ الشبكة في `disabled_networks`. |
| `didit_onboarding` | `didit_membership_not_live` | عضوية Didit الخاصة في الشبكة ليست مفعّلة بعد. |
| `questionnaire_needed` | `questionnaire_not_submitted`, `questionnaire_changes_requested` | لم يُرسَل استبيان Didit للشبكة، أو طلبت Didit تعديلات. |
| `questionnaire_in_review` | `questionnaire_submitted` | تراجع Didit استبيانك. |
| `request_access` | `participant_not_requested` | وافقت Didit على استبيانك: اطلب الشبكة. |
| `request_sent` | `questionnaire_pending`, `submitted_to_network` | طلبك بانتظار أن تسجّلك Didit، أو بانتظار التسجيل لدى الشبكة. |
| `unavailable` | `own_membership_only`, `sandbox_application`, `questionnaire_rejected`, `participant_suspended`, `participant_rejected` | لا يمكن الإرسال عبر هذه الشبكة لتطبيقك: لا يمكن الوصول إلى TRUST وVerifyVASP إلا بعضويتك الخاصة، ولا تسجّل Didit أبداً تطبيقاً في البيئة التجريبية على أي شبكة، أو رفضت Didit استبيانك، أو علّقت الشبكة مشاركتك أو رفضتها. |
| `error` | `provisioning_failed`, `participant_key_missing`, `participant_key_unresolved` | رفضت الشبكة تسجيلك، أو أن المفتاح الذي يحتاجه مشاركك مفقود. طلب الشبكة مرة أخرى يعيد المحاولة. |

يلخّص `mode` الحالة في القيم `own` أو `didit` أو `off` أو `unavailable`. تُفحص عضويتك الخاصة أولاً، ثم `disabled_networks`، ثم عضوية Didit. وتقرأ الشبكة اليوم `own_membership` بمجرد ربط عضويتك الخاصة. وخلاف ذلك، تقرأ GTR وSygna Bridge `didit_onboarding` (وتقرأ `unavailable` مع `sandbox_application` في تطبيق تجريبي)، وتقرأ TRUST وVerifyVASP `unavailable` مع `own_membership_only`، وهذا ينطبق أيضاً في البيئة التجريبية.

لا يُرسل التطبيق التجريبي عبر أي شبكة أبداً، حتى مع ربط عضويتك الخاصة وقراءة `own_membership`: تُوجَّه تحويلاته إلى [Didit Test VASP](https://docs.didit.me/ar/transaction-monitoring/travel-rule-sandbox.md).

تعني `connected` أن عضويتك المحفوظة اجتازت التحقق المحلي، ولا تعني أن التبادل نجح. يثبت ذلك أول تبادل في بيئة الإنتاج مع الشبكة.

## ما الذي يتغير عندما تدخل شبكة حيّز التشغيل

تتغير هذه الصفحة وحالة `networks` وكل مسارات الدليل معاً. لا يتغير شيء في تكاملك: يبدأ التحويل بالتوجيه عبر الشبكة بمجرد أن تكون لدى تطبيقك عضوية عليها، وفق ترتيب المسارات الموضح في [كيف توجّه Didit التبادل](https://docs.didit.me/ar/transaction-monitoring/travel-rule-interoperability.md#كيف-يوجّه-didit-التحويل).

لطلب شبكة لا تصل إليها Didit بعد، استخدم بطاقة **Request access** في **Marketplace**. يُظهر كل طلب حالته (**Open** أو **Contacted** أو **In progress** أو **Live** أو **Declined**) مع آخر ملاحظة من Didit. عندما تغيّر Didit الحالة أو الملاحظة، ترسل بريداً إلكترونياً إلى زميل الفريق الذي قدّم الطلب، ما دام لا يزال في مؤسستك. لا يتلقى الطلب المقدَّم بمفتاح API أي بريد إلكتروني، لذا تابعه في **Marketplace**.

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

> [card] [Travel Rule](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md)
>
> دورة حياة التبادل والإعدادات والمسارات وواجهة برمجة التطبيقات /v3/.

> [card] [الاختبار في البيئة التجريبية](https://docs.didit.me/ar/transaction-monitoring/travel-rule-sandbox.md)
>
> اختبر كل نتيجة ممكنة مقابل Didit Test VASP قبل أن تفعّل التطبيق في بيئة الإنتاج.

> [card] [قابلية التشغيل البيني](https://docs.didit.me/ar/transaction-monitoring/travel-rule-interoperability.md)
>
> الـ endpoints التي تستخدمها VASPs الطرف المقابل للوصول إليك.

> [card] [الدليل](https://docs.didit.me/ar/transaction-monitoring/travel-rule.md#الدليل)
>
> ابحث عن VASP والمسارات التي يمكن لتطبيقك استخدامها معه.


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