> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# متطلبات الامتثال حسب الدولة

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

# متطلبات الامتثال حسب الدولة

تُحدَّد قواعد الرسائل والصوت دولةً بدولة. قبل الإرسال إلى سوق جديد، عليك معرفة أربعة أمور: **أي أنواع المرسلين تقبلها تلك الدولة** (رمز طويل؟ هوية مرسل أبجدية-رقمية؟ رمز قصير؟)، **وما إذا كان التسجيل مطلوبًا**، **وأي مستندات يجب تقديمها**، **وأي محتوى مقيَّد**. إن خطأ هذا هو السبب الأشهر لفشل الإرسال الأول إلى دولة جديدة في التسليم بصمت.

تُحافظ Orbit على مرجع تنظيمي منظمّ لكل دولة كي لا تضطر إلى تجميعه بنفسك. تشرح هذه الصفحة كيف تقرؤه.

<Note>
  هذا المرجع إرشاد لتخطيطك، وليس ضمان تسليم ولا نصيحة قانونية. موافقة
  هوية المرسل أو التسجيل النهائية تمنحها الهيئة التنظيمية أو مشغّل الاتصال
  في كل دولة، لا Orbit. تُفعَّل التغطية لكل مستأجر — ظهور دولة هنا لا
  يعني أنها مفعّلة على حسابك.
</Note>

***

## ابحث عن قواعد دولة

`GET /compliance/country-rules` هو المرجع التنظيمي للقراءة فقط وراء بوّابات الإرسال في Orbit. أي مستخدم موثَّق يمكنه طلبه. رشِّح حسب `channel` (الافتراضي `sms`) واختياريًا حسب `region`:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/country-rules?channel=sms&region=EU" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

يصف كل صف دولة واحدة × قناة واحدة:

```json theme={null}
{
  "data": {
    "rows": [
      {
        "country_code": "FR",
        "channel": "sms",
        "country_name": "France",
        "calling_code": "33",
        "region": "EU",
        "sender_types": ["alphanumeric", "long_code"],
        "registration": "recommended",
        "sender_rules": "Alphanumeric sender IDs are dynamic; no pre-registration required but recommended for consistency.",
        "content_restrictions": "Marketing SMS requires prior opt-in (GDPR). No sends 20:00–08:00 or Sundays/holidays.",
        "stop_requirement": "STOP keyword mandatory in French (STOP au 36111).",
        "two_way": true,
        "dlr_support": "full",
        "default_tps": "10",
        "notes": ""
      }
    ],
    "channel": "sms",
    "last_synced_at": "2026-06-20T00:00:00.000Z",
    "total": 1
  },
  "meta": { "request_id": "…", "timestamp": "2026-06-20T12:00:00.000Z" }
}
```

يقبل رشّ `channel` القيم `sms` و`whatsapp` و`rcs` و`voice` و`email` و`viber`. الدولة نفسها لها **صفوف منفصلة لكل قناة** لأن القنوات المختلفة تخضع لمنظمين مختلفين — مثلاً قواعد WABA لـ Meta تحكم WhatsApp في البرازيل بينما تحكم قواعد Anatel الـ SMS.

***

## قراءة كل حقل

| الحقل                  | ما يخبرك به                                                                                                                                                  |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sender_types`         | أي هويات "from" تقبلها الدولة — راجع الجدول أدناه.                                                                                                           |
| `registration`         | `none` أو `recommended` أو `required` — ما إذا كان يجب تسجيل هوية المرسل قبل الإرسال.                                                                        |
| `sender_rules`         | ملاحظات بلغة واضحة حول كيفية تصرف هويات المرسل في تلك الدولة (ديناميكية مقابل مسجَّلة مسبقًا، تنسيق الرقم، وغيرها).                                          |
| `content_restrictions` | قيود الفئة والموافقة — مثلاً "التسويق يتطلب موافقة opt-in"، وحظرات المحتوى الترويجي. راجع [الصناعات المقيَّدة والمحظورة](/compliance/restricted-industries). |
| `stop_requirement`     | ما إذا كانت كلمة إلغاء الاشتراك إلزامية وفي أي لغة.                                                                                                          |
| `two_way`              | ما إذا كانت الرّدود الواردة مدعومة.                                                                                                                          |
| `dlr_support`          | دقة إيصال التسليم: `full` أو `partial` أو `submitted_only` أو `none`.                                                                                        |
| `default_tps`          | سقف الإنتاجية الافتراضي (رسائل في الثانية).                                                                                                                  |

### أنواع المرسلين

| القيمة         | المعنى                                               |
| -------------- | ---------------------------------------------------- |
| `alphanumeric` | هوية مرسل نصية مختارة تجاريًا (مثل `MyBrand`).       |
| `numeric`      | مرسل رقمي ليس رمزًا طويلاً قابلاً للتوجيه.           |
| `long_code`    | رقم طويل محلي/جوال قياسي.                            |
| `short_code`   | رمز قصير مخصص من 4–6 أرقام.                          |
| `ten_dlc`      | رمز طويل أمريكي من 10 أرقام مسجَّل عبر 10DLC.        |
| `waba`         | مرسل حساب WhatsApp Business.                         |
| `rcs_agent`    | وكيل RCS Business Messaging موثَّق.                  |
| `from_address` | عنوان بريد إلكتروني `from` (قناة البريد الإلكتروني). |

***

## مستويات التسجيل `registration`

حقل `registration` هو أهم قيمة تقرأها قبل الإطلاق. يقود بوّابة الإرسال في Orbit:

<AccordionGroup>
  <Accordion title="none — أرسل بحرية">
    لا تسجيل هوية مرسل مطلوب. يمكنك بدء الإرسال بمجرد تفعيل القناة
    والدولة على حسابك.
  </Accordion>

  <Accordion title="recommended — أرسل الآن، وسجّل من أجل الاعتمادية">
    يُسمَح بالإرسال بلا تسجيل، لكن الحركة غير المسجَّلة أكثر احتمالًا
    لأن تُرشَّح أو تُعاد تسميتها. سجّل هوية المرسل للحفاظ على تسليم مستقر.
  </Accordion>

  <Accordion title="required — سجّل قبل أن ترسل">
    تُحظَر الحركة **حتى** تحصل على تسجيل هوية مرسل معتمد لتلك الدولة. A2P
    SMS إلى دولة `required` بلا إدخال معتمد يحتجزه بوّابة الإرسال. سجّل
    واحصل على الموافقة قبل الإطلاق — راجع
    [تسجيل هوية المرسل](/compliance/sender-id-registration).
  </Accordion>
</AccordionGroup>

***

## المستندات التي تتوقعها كل دولة

حيثما تتطلب الدولة (أو توصي بـ) تسجيلاً، تقدّم مستندات داعمة مرة واحدة ثم تشير إليها بمعرّفاتها ذات `doc_…` عند تسجيل هوية مرسل. يتغير الطقم الدقيق بحسب السوق، لكن معظم المنظمين يطلبون بعض مزيج من:

* **إثبات تسجيل تجاري** — شهادة تأسيس أو رخصة تجارية أو ما يعادلها.
* **وصف حالة الاستخدام** — ما الذي ترسله (معاملاتي، OTP، تسويقي) وإلى من.
* **ملكية العلامة / التفويض** — إثبات أنك مخوّل بهوية المرسل / اسم العلامة الذي تسجّله.
* **هوية ضريبية محلية أو هوية المنظم** — للأسواق التي تربط التسجيل بمعرّف وطني.

اقرأ حقول `sender_rules` و`content_restrictions` في الدولة المستهدفة من استجابة country-rules للتفاصيل، ثم ألحق المستندات المطابقة عند تقديم التسجيل.

بعض الأسواق تدير نظام تسجيل مخصصًا خاصًا بدلاً من سير تسجيل هوية المرسل العام:

* **الهند** — هويات المرسل ("Headers")، وقوالب المحتوى، وقوالب الموافقة تُسجَّل عبر بوابة TRAI DLT. راجع [تأهيل DLT-India](/compliance/dlt-india).
* **الولايات المتحدة** — مرسلو A2P SMS يسجّلون علامة وحملة عبر 10DLC. راجع [دليل تسجيل 10DLC](/guides/10dlc-registration).

***

## قائمة تحقق لإطلاق دولة جديدة

<Steps>
  <Step title="ابحث عن القواعد">
    اطلب `GET /compliance/country-rules?channel=<channel>` للوجهة واقرأ
    `sender_types` و`registration` و`content_restrictions`.
  </Step>

  <Step title="اختر نوع مرسل مقبولاً">
    اختر هوية مرسل من `sender_types` تلك الدولة — هوية مرسل أبجدية-رقمية،
    أو رمزاً طويلاً، أو رمزاً قصيراً، أو مرسلاً أصيلاً للقناة (WABA / وكيل
    RCS).
  </Step>

  <Step title="سجّل إذا كانت مطلوبة">
    إذا كانت `registration` قيمتها `required` (أو `recommended`)، ارفع
    مستنداتك وقدّم هوية المرسل للموافقة. خطّط لوقت مسبق — بعض الأسواق
    تأخذ أيامًا إلى أسابيع.
  </Step>

  <Step title="تحقق من قيود المحتوى">
    تأكد أن حالة استخدامك مسموحة قبالة `content_restrictions` و[الصناعات
    المقيَّدة والمحظورة](/compliance/restricted-industries)، وأضف كلمة
    إلغاء الاشتراك المطلوبة إذا طلبها `stop_requirement`.
  </Step>

  <Step title="أطلِق">
    بمجرد أن تُفعَّل الدولة ويُقبَل نوع المرسل ويُعتَمَد أي تسجيل مطلوب،
    ابدأ الإرسال.
  </Step>
</Steps>

***

## صيانة مصدر القواعد (مشغّلو المنصة)

<Note>
  هذا القسم لـ **مشغّلي المنصة والتنفيذات المستضافة ذاتيًا**. عملاء SaaS
  على `api.orbit.devotel.io` يمكنهم التوقف هنا — Devotel تُبقي قواعد
  الدول محدثة لك، والمقابض أدناه محصولة على إداريي المنصة.
</Note>

مرجع قواعد الدول يتغذى من مزامنات رسمية منشأة جدولة زائد تحرير المشغّل يدويًا. يغطي هذا القسم كيف تُبقيها محدثة وكيف تحرر دولة واحدة بأمان. المقابضات التي تكتب في جدول القواعد **فقط لإداريي المنصة** — مالكو المستأجر والإداريون يستلمون `403`، لأن جدول القواعد عام عبر كل المستأجرين، لا بيانات لكل مستأجر.

### مصادر الخلاصة

كل صف يسجل `sync_source` أي خلاصة أحدثته أخيرًا. ستة مزوّدين يتصلون بمقبض المزامنة:

| المزوّد     | ما يقدمه                                                                                     | الوصول                                                                                                                               |
| ----------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `mef`       | سجل حماية هويات المرسل MEF — قواعد هويات المرسل الموقعة من MNO (المصدر الأرقى لهويات المرسل) | عضوية مجمّع فئة مدفوعة؛ اضبط `DEVOTEL_MEF_API_KEY`                                                                                   |
| `gsma`      | قواعد حماية هويات المرسل لـ GSMA SMS Hub                                                     | بوابة الأعضاء؛ اضبط `DEVOTEL_GSMA_API_KEY`                                                                                           |
| `telnyx`    | تغطية الدول عبر خلاصة تغطية Telnyx                                                           | مجاني مع `DEVOTEL_TELNYX_API_KEY`؛ يعود إلى قائمة التغطية العامة من Telnyx إذا لم يُضبَط                                             |
| `iconectiv` | خلاصة شركاء iconectiv TCR — مجموعة قواعد US 10DLC الكانونية                                  | اضبط `DEVOTEL_TCR_API_KEY` + `DEVOTEL_TCR_PARTNER_ID`؛ راجع [دليل 10DLC](/guides/10dlc-registration#country-rule-feed-configuration) |
| `meta`      | Meta Business API — توفّر WhatsApp (WABA) لكل دولة                                           | مجاني مع رمز نظام-مستخدم WABA                                                                                                        |
| `itu`       | ITU WTID — عناوين URL مرجعية للمنظمين الوطنيين                                               | مجاني (التناسب مطلوب)                                                                                                                |

خلاصتان متجاورتان تغذّيان جدولين خاصين بهما:

* **تغطية Telnyx لمصفوفة هويات المرسل القديمة** — مقابض القراءة وراء
  مصفوفة امتثال هويات المرسل ترسم من جدول قديم منفصل. احدِثه بـ
  `POST /api/v1/compliance/admin/sync` (إداري فقط؛ نفس المجدول الأسبوعي
  يحدثه أوتوماتيكيًا أيضًا).
* **قاعدة بيانات الأرقام المعاد تعيينها (RND)** — بوابة الرقم الأمريكي
  المفصل المذكورة تحت
  [فحص إلغاء التفعيل](/compliance/deactivation-scrub). المستأجرون تُفعّلونه
  لكل مستأجر عبر `PUT /api/v1/compliance/rnd/settings` مع
  `{ "enabled": true }`؛ لا يقبل المفتاح التشغيل حتى يكون مشغّل قد حمّل
  لقطة RND في التنفيذة، كي لا يستطيع المستأجرون الاشتراك في بوابة فارغة.

### شغل مزامنة رسمية

`POST /api/v1/compliance/country-rules/sync` يحدّث من مزود واحد. اختر الخلاصة بـ `?provider=` (الافتراضي `telnyx`) وربما حدّد نطاقك بـ `?channel=` واحدة.

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/country-rules/sync?provider=mef&channel=sms" \
  -H "Authorization: Bearer $ORBIT_PLATFORM_ADMIN_KEY"
```

الاستجابة تبلّغ عن `upstreamCount` و`updated` و`createdNew` ومصفوفة `errors`. **إن مزامنة لا تكتب فوق النص الذي حرّره المشغّل أبدًا** — فقط الحقول الهيكلية (اسم الدولة، ورمز النداء، والمنطقة، وأنواع المرسلين، ومستوى التسجيل) تُحدَّث؛ الحقول النصية الحرة (`sender_rules` و`content_restrictions` و`notes`) تحفظ ما كتبه مشغّل آخر مرة.

### كادِنس الخلاصة

مسأران يُبقيان الجدول محدثًا:

* **المجدول الأسبوعي** — تكت مزامنة الامتثال في عامل webhook يشغّل خلاصات
  Telnyx وMEF وGSMA أوتوماتيكيًا. ويشغّل أيضًا مرة عند بدء العامل، فتزرع
  التنفيذة الجديدة نفسها أول إقلاع.
* **عند الطلب** — فعل إدارة "Refresh from upstream" يطلب مقبض المزامنة
  أعلاه لجذب فوري (مفيد بعد أن توّفر بيانات اعتمادية لخلاصة جديدة).

يُفحَص القِدَم مقابل `last_synced_at` الذي يعيده مقبض القراءة جانب الصفوف. التحريرات اليدوية تختيم بدلاً من ذلك `last_reviewed_at`، فيظهر لوحة التحكم منبع ("مُزامَن من MEF منذ 3 أيام؛ مُراجَع من الإداريين أمس") بدلاً من ختم زمني واحد مبهم.

### معالجة الفشل

كل موصل **اختياري ومحوِّل للأعطال (fail-open)**: عندما يكون متغير بيئته غير مضبوط تسجل المزامنة رسالة تجاوز وتعيد إدخالاً في `errors`، والصفوف الموجودة تبقى في مكانها. الشيء نفسه ينطبق على عطل أعلى المنبع — تحمل الاستجابة نص الخطأ بينما تبقى البيانات المزامَنة سابقًا قابلة للقراءة. هذه خلاصات ميتاداتا للقراءة فقط على مسار بحث؛ يواصل الرسائل الصادرة التوجه عبر مرسلك العادي بينما تكون خلاصة عاطلة.

<Warning>
  مزودو المزامنة يمسون فقط ميتاداتا التغطية. فهم ليسوا أبدًا مسار نقل —
  لا تحاول توجيه الرسائل الصادرة عبر أي من خلاصات التغطية المذكورة هنا.
</Warning>

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

`PUT /api/v1/compliance/country-rules/:channel/:country_code` يحلّ صف دولة واحدة × قناة واحدة. استخدمه لإمداد تفاصيل لا تحملها أي خلاصة — مثلاً صياغة كلمة STOP أو حدود الإنتاجية الملتقط من نص المنظم. بيانات اعتماد إداري المنصة مطلوبة؛ إداريو المستأجر يستلمون `403`.

```bash theme={null}
curl -X PUT "https://api.orbit.devotel.io/api/v1/compliance/country-rules/sms/FR" \
  -H "Authorization: Bearer $ORBIT_PLATFORM_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "country_name": "France",
    "calling_code": "33",
    "region": "EU",
    "sender_types": ["alphanumeric", "long_code"],
    "registration": "recommended",
    "sender_rules": "Alphanumeric sender IDs are dynamic.",
    "content_restrictions": "Marketing SMS requires prior opt-in.",
    "stop_requirement": "STOP keyword mandatory in French.",
    "two_way": true,
    "dlr_support": "full",
    "default_tps": "10",
    "notes": ""
  }'
```

الحقول القابلة للتحرير: `sender_types` و`registration` (`none` / `recommended` / `required`) و`sender_rules` و`content_restrictions` و`stop_requirement` و`two_way` و`dlr_support` و`default_tps` و`notes` و`sources` (قائمة `[{ label, url }]` من روابط التناسب). الإحلال يختيم `last_reviewed_at` ويختم الصف `sync_source: manual`، فتحدّث مزامنة آلية قادمة فقط الحقول الهيكلية وتحفظ نصك.

### قائمة تحقق الإحصاء قبل أن تنقلب دولة حيّة

قبل أن تُشغل دولة للإرسال، تأكد:

<Steps>
  <Step title="ختم مزامنة طازج">
    `last_synced_at` (أو `last_verified_at` للمصفوفة القديمة) حديث —
    وإلا شغّل المزامنة عند الطلب للأن provider المعني قبل التفعيل.
  </Step>

  <Step title="مستوى التسجيل الصحيح">
    `registration` مضبوط (`none` / `recommended` / `required`). دولة
    `required` تحظر الحركة غير المسجلة عند الإرسال، فمُراجعة تسجيل
    مفقودة تعني إرسالات فاشلة، لا مؤجلة.
  </Step>

  <Step title="حقول النص مُراجَعة">
    `stop_requirement` و`content_restrictions` تقولان ما يجب — الخلاصات فقط
    تُحسّن الهيكل، فيجب أن يضبط المشغّل النص.
  </Step>

  <Step title="نوع المرسل مقبول">
    على الأقل واحد من `sender_types` للدولة يطابق ما تخطط الإرسال منه.
  </Step>

  <Step title="البوّابات المعنية محمَّلة">
    إذا كانت الوجهة لها بوابة RND أو جيدير DLT (US RND، وDTI للهند),
    تأكد أن تلك الخلاصة محمّلة أيضًا — راجع
    [فحص إلغاء التفعيل](/compliance/deactivation-scrub) و[تأهيل DLT-India](/compliance/dlt-india).
  </Step>
</Steps>

***

## مراجع ذات صلة

* [الصناعات المقيَّدة والمحظورة](/compliance/restricted-industries) —
  أي الصناعات والمحتوى مقيَّد أو محظور.
* [تسجيل هوية المرسل](/compliance/sender-id-registration) — قدّم وتتبّع
  تسجيلات هوية المرسل لكل دولة.
* [تأهيل DLT-India](/compliance/dlt-india) — نظام TRAI DLT للهند.
* [تسجيل 10DLC](/guides/10dlc-registration) — إثبات العلامة والحملة
  الأمريكية A2P (يتضمن تهيئة خلاصة قواعد الدول للمشغّلين).
* [Send Gates](/compliance/send-gates) — البوّابات التي تنفّذ هذه
  القواعد عند الإرسال.
* [إشارات الشبكة قبل أن ترسل](/guides/network-signals-open-gateway) —
  رشّ المستلمين بإشارات تبديل الشريحة والتجوال والمخاطر المؤكدة من المشغّل
  قبل أول إرسال إلى وجهة جديدة.
* [مرجع API → الامتثال](/api-reference/endpoints/compliance) — مخططات
  الطلب/الاستجابة الكاملة.
