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

# وثائق KYC ودورة حياة ملف الامتثال

> ارفع وثائق KYC مرة واحدة، واِرجِع إليها بمعرّف doc_… عبر ملفات الامتثال وتسجيلات هوية المرسل، وجدّدها قبل أن تنتهي صلاحيتها وتُعطّل أرقامك.

# وثائق KYC ودورة حياة ملف الامتثال

الأسواق المنظَّمة لا تقبل «ثق بي» — فالمشغّل أو الجهة التنظيمية يطلبان
إثباتًا على هويتك قبل السماح بتفعيل رقم هاتف أو نقل حركة هوية مرسل. تُنمذج
Orbit ذلك الإثبات كشيئين تملكهما: **مكتبة وثائق** (الملفات نفسها) و**ملفات
امتثال** (الهوية المنظَّمة التي تدعمها الوثائق). تشرح هذه الصفحة ما يلتقطه
الملف، وكيف تنتقل الوثائق من الرفع إلى إعادة الاستخدام إلى التجديد، وأين
يُرجَع إلى الوثيقة نفسها، وكيف تَرى انقضاءً قادمًا قبل أن يكلّفك رقمًا.

جميع نقاط النهاية أدناه متجذّرة في
`https://api.orbit.devotel.io/api/v1/compliance`.

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

***

## ما هو ملف الامتثال

**ملف الامتثال** (`cprof_…`) هو حِزمة هوية تنظيمية واحدة: مَن المستخدم
النهائي، ولأي حالة استخدام، وفي أيّ بلد. يراجع المشغّلون الملف كوحدة —
وعند موافقته مرة واحدة، يمكن لكل رقم أو مرسِل يغطّيه ذلك الملف استخدامه.

| الحقل                        | ما يلتقطه                                                                                                                                                                                                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                       | تسميتك للملف، مثل "DE local numbers — Acme GmbH".                                                                                                                                                                                                                  |
| `use_case`                   | الغرض من الهوية: `phone_number_purchase`، `sms_sender_id_alphanumeric`، `sms_10dlc_brand_us`، `sms_10dlc_campaign_us`، `sms_tfv_us`، `whatsapp_business_verification`، `rcs_brand_verification`، `email_domain_verification`، `voice_carrier_kyc`، `other`.        |
| `country_code` / `countries` | السوق (الأسواق) التي يردّ عليها الملف. مطلوب لحالتَي أرقام الهواتف وهوية المرسل؛ واختياري للحالات المستقلة عن البلد (WhatsApp وRCS والبريد الإلكتروني).                                                                                                            |
| `end_user_type`              | `business` أو `individual` — تطبّق الجهات التنظيمية قواعد وثائق مختلفة على كلٍّ منهما.                                                                                                                                                                             |
| البيانات المنظَّمة           | الحقول المُنوعَّة التي يطلبها البلد (اسم العمل المسجَّل، والعنوان، والرقم الضريبي، …) وتُضبَط عبر `PUT /compliance-profiles/:id/data`. تحقّق من الحقول التي يشترطها بلد ما بدقّة عبر [نقطة نهاية المعاينة التنظيمية](/numbers/regulatory-preview) قبل بدء التعبئة. |

تنقل وضعية الملف نفسه `draft` → `pending_review` → `approved` (أو
`rejected` / `partially_rejected`)، وإلى `expired` عند إغلاق نافذة صلاحيته.
وحدها وضعية `approved` تستوفي فحوصات البلد.

***

## دورة حياة الوثيقة

تعيش الوثائق في **مكتبة** على مستوى المستأجر، منفصلة عن أي ملف منفرد.
ارفع جواز سفر مرة واحدة ويمكنك إلحاقه بملف أرقام ألماني اليوم وإعادة
استخدام الملف نفسه لتسجيل هوية مرسِل غدًا — بلا رفع ثانٍ.

### 1. الرفع

يستقبل `POST /compliance/documents` رفع `multipart/form-data` ويعيد
معرّف المكتبة للوثيقة، والذي يبدأ دائمًا بـ `doc_`:

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/documents \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -F "type=business_registration" \
  -F "country_code=DE" \
  -F "file=@/path/to/registration.pdf"
```

| المقبول       | القيم                                                                                                                                                                                       |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| أنواع الوثائق | `id_card`، `passport`، `drivers_license`، `utility_bill`، `bank_statement`، `business_registration`، `vat_certificate`، `lease_agreement`، `proof_of_address`، `power_of_attorney`، `other` |
| صيغ الملفات   | JPEG، PNG، WebP، PDF                                                                                                                                                                        |
| الحجم الأقصى  | 10 MB                                                                                                                                                                                       |

تُشفَّر الملفات قبل مغادرتها واجهة API وتُحفَظ في تخزين خاص؛ ولا شيء في
معرّف `doc_…` قابل للتخمين أو المشاركة خارج منظمتك. اِسرد المكتبة في أي
وقت عبر `GET /compliance/documents`.

### 2. المرجع بمعرّف `doc_…`

الوثيقة وحدها خاملة — لا تؤدّي عملًا تنظيميًا إلا حين تكون **ملحقة بملف**
بدور:

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/compliance-profiles/cprof_abc123/documents \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "document_id": "doc_k7f2m9x1ab", "role": "business_doc" }'
```

تخبر الأدوار (`id_proof`، `address_proof`، `business_doc`، `authorization`،
`other`) المشغّل أيَّ متطلب تستوفي الوثيقة. وقد يلعب معرّف `doc_…` نفسه
دورًا مختلفًا في ملف مختلف.

### 3. الانقضاء

تعتبر كثير من الجهات التنظيمية الوثائق قديمة بعد عمر محدد — فـ Ofcom في
المملكة المتحدة وBNetzA في ألمانيا وARCEP في فرنسا، من بين جهات أخرى،
تشترط عمومًا ألا يتجاوز عمر إثبات الهوية أو العنوان 3–12 شهرًا. تسجّل Orbit
قيمة `expires_at` لكل وثيقة ملحقة؛ وما إن تنقضي الوثيقة حتى تتوقف عن
الاحتساب ضمن متطلبات البلد، وإن بقي الملف نفسه في مكتبتك.

### 4. التجديد

التجديد رفع جديد، لا تحرير: ارفع الوثيقة البديلة، وألحِقها بالملف في الدور
نفسه، ثم افصِل (واحذف اختياريًا، عبر `DELETE /compliance/documents/:id`)
الوثيقة المنقضية. تبقى الملفات في وضعية `approved` موافق عليها حيال تبديلك
الوثيقة — ويُعاد مراجعة التسليم في الاستخدام التالي.

<Warning>
  يُرفَض حذف وثيقة ما دامت ملحقة بأي ملف. افصِلها من كل ملف أولاً، ثم احذفها.
</Warning>

***

## أين تُعاد استخدام الوثائق

معرّف `doc_…` هو المؤشر الوحيد الذي تتشاركه ثلاثة أسطح منتج:

1. **تسجيل هوية المرسل.** يحمل كل إدخال بلد في
   [تسجيل هوية المرسل](/compliance/sender-id-registration) حقل
   `document_refs`: قائمة معرّفات `doc_…` الداعمة لملف ذلك البلد. لا يقبل
   مسار التسجيل ملفات أبدًا — اِرجِع إلى معرّفات المكتبة التي رفعتها سلفًا،
   وتدعم الوثيقة نفسها أي عدد من البلدان التي تقبلها.
2. **المعاينة التنظيمية للأرقام.** يعيد فحص
   [المعاينة التنظيمية](/numbers/regulatory-preview)
   `compliance_profile_satisfies: true` فقط حين يغطّي ملفٌّ كل حقل مطلوب
   **و**تكون وثائقه الملحقة غير منقضية — ووثيقة منقضية تقلب العلامة إلى
   `false` حتى على ملف مكتمل بخلاف ذلك.
3. **بوّابة شراء الأرقام.** شراء رقم في بلد منظَّم دون ملف مُستوفٍ يهبط
   الرقم عند `pending_compliance`: يُخصَم، لكنه لا يتفعّل حتى يُلحَق ملف
   موافَق عليه. وإذا انقضت مهلة التحقق من المشغّل بينما الرقم ما زال
   منتظرًا، قد يُحرَّر الرقم تلقائيًا — راجع
   [دورة حياة الرقم](/numbers/lifecycle) للتحرير والاسترجاع.

***

## راقب الانقضاء قبل أن يكلّفك رقمًا

تشتقّ Orbit تنبيهات الانقضاء لكل رقم من الطوابع الزمنية التي تخزّنها أصلًا:
`expires_at` لكل وثيقة، ومهلة التحقق من المشغّل على الأرقام المنتظرة عند
`pending_compliance`. اقرأها بـ:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/numbers/document-expiry-alerts" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

يسمّي كل تنبيه الرقم، وأقرب انقضاء ملزم (`earliest_expiry_at`)، وما إذا كان
مصدره وثيقة أم مهلة المشغّل (`earliest_expiry_source`)، وعدد الأيام الكاملة
حتى الانقضاء (سالبة بمجرد حدوثه)، و`suggested_action`:

* `renew` — ما زال صالحًا لكنه داخل نافذة تنبيهك؛ ارفع البديل الآن.
* `renew_or_release` — انقضى بالفعل؛ جدّد فورًا أو اقرّر التخلي عن الرقم.

تبلغ نافذة التطلّع الافتراضية 30 يومًا. اضبطها لكل منظمة عبر إعداد
`numbers.document_expiry_alert_days` (1–365 يومًا)، أو عاين نافذة مختلفة
مؤقتًا عبر معامِل الاستعلام `?days=`. صفوف الاستجابة مُرتَّبة بحسب الأكثر
إلحاحًا أولاً؛ وتُقطَع قائمة مُعرَّضة كبيرة جدًا عند السقف وتُبلِغ
`truncated: true`، فضيّق النافذة إذا بلغت السقف.

***

## مملوك للمستأجر بحكم التصميم

تقسيم المسؤولية مقصود:

| Orbit (المنصّة)                                                                                               | أنت (المستأجر)                                             |
| ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| تشفّر وتخزّن كل وثيقة مرة واحدة، مقتصرة على منظمتك.                                                           | توريد الوثائق الصحيحة والحالية في المقام الأول.            |
| تنقل الملف ووثائقه إلى كل مشغّل وتُبلِغ وضعية المراجعة لكل مزوّد.                                             | اختيار أي ملفات تدعمها الوثيقة، وبأي دور.                  |
| تُعلِم الوثائق الموشِكة على الانقضاء أو المتجاوزة له لكل رقم.                                                 | رفع البدائل وإعادة الإلحاق قبل انقضاء الوثيقة.             |
| تفرض البوّابات — المرسِلون غير المسجَّلين والملفات غير المُستوفية لا تُفعِّل أرقامًا ولا تتجاوز فحوص الإرسال. | إبقاء الحقول المنظَّمة للملف دقيقة حيال تغيّر تفاصيل عملك. |

لا تختلق Orbit وثائق هوية نيابة عنك ولا تُجدّدها تلقائيًا — الجهة التنظيمية
تتحقق من هويّتك *أنت*، فكل تجديد يبدأ دائمًا برفع جديد منك. ما تضمنه
المنصّة هو أنّ وثيقة توردها مرة واحدة قابلة لإعادة الاستخدام في كل موضع
تُقبَل فيه، وأنك سترى انقضاءها قادمًا مع مهلة كافية للتصرّف.

***

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

* [تسجيل هوية المرسل](/compliance/sender-id-registration) — تسجيل لكل بلد
  مدعوم بـ `document_refs`.
* [المعاينة التنظيمية](/numbers/regulatory-preview) — تحقّق من الحقول
  والوثائق التي يشترطها بلد ما قبل الشراء.
* [دورة حياة الرقم](/numbers/lifecycle) — ما يحدث لرقم عالق عند
  `pending_compliance`، والتحرير/الاسترجاع.
* [متطلبات امتثال البلدان](/compliance/country-requirements) — أي أنواع
  مرسلين ووثائق يقبلها كل بلد.
* [مرجع API → الامتثال](/api-reference/endpoints/compliance) — مخططات
  الطلب/الاستجابة الكاملة.
