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

# التحقق من رخصة القيادة في جنوب أفريقيا - API

> التحقق من رخصة القيادة في جنوب أفريقيا عبر استعلام موثوق من قاعدة البيانات الرسمية مع Didit. الدفع لكل استدعاء من $0.80، بلا عقود ولا حد أدنى.

يتحقق من رخصة القيادة في جنوب أفريقيا مقابل سجل NATIS ووزارة النقل. تتيح لك Didit الوصول إلى هذه الخدمة عبر `POST /v3/database-validation/` للتحقق من البيانات المُرسلة مقابل المصدر الرسمي والحصول على نتائج مطابقة موحّدة.

## التغطية

* **التغطية:** —
* **الدولة:** جنوب أفريقيا
* **معرّف الخدمة:** `zaf_drivers_license`
* **نطاق البيانات:** الهوية
* **الفئة:** DriverLicence

## المدخلات

| الحقل | مطلوب | مثال |
| - | -: | - |
| `national_id` | نعم | `SAMPLE-NID-12345` |
| `last_name` | نعم | `Doe` |
| `initials` | نعم | `JD` |
| `licence_number` | نعم | `LIC123456` |
| `first_name` | لا | `John` |
| `date_of_birth` | لا | `1990-01-01` |
| `vendor_data` | لا | `user-1234` |

* **المدخلات المطلوبة:** `national_id`، `last_name`، `initials`، `licence_number`
* **المدخلات الاختيارية:** `first_name`، `date_of_birth`، `vendor_data`
* **الموافقة:** غير مطلوبة
* **توفر سير العمل:** متاحة في سير العمل مع ربط الحقول
* **التغطية:** —
* **السعر:** \$0.80 لكل استعلام ناجح

في سير العمل، لا تظهر `initials` و`licence_number` مطبوعة على مستند الهوية، لذلك لا تنتج أي خطوة قيمهما بمفردها. اجمعهما من إجابة في الاستبيان، أو من حقل استخراج Document AI، أو من قيمة ترسلها عند إنشاء الجلسة، ثم اربط كلًّا منهما في خطوة التحقق من قواعد البيانات. إلى أن يتم ربطهما، يعرض محرر سير العمل هذه الخدمة معطلة ويذكر المدخل الناقص. وعند التشغيل، يعني المدخل الناقص أن الفحص يُتخطى قبل أي استعلام، فلا تُحتسب عليك تكلفة قاعدة بيانات لم يكن بالإمكان الاستعلام عنها.

## معاملات الجسم

**issuing\_state** `string` *required* (default: ZAF)

رمز الدولة وفق ISO 3166-1 alpha-3 لخدمة قاعدة البيانات هذه.

مثال: `ZAF`

**services** `string` *required* (default: zaf\_drivers\_license)

مصفوفة تحتوي على معرّف هذه الخدمة. يؤدي تثبيت الخدمة إلى حصر الطلب في قاعدة البيانات المحددة هذه.

مثال: `zaf_drivers_license`

**national\_id** `string` *required* (default: SAMPLE-NID-12345)

رقم الهوية الوطنية لهذه الخدمة.

مثال: `SAMPLE-NID-12345`

**last\_name** `string` *required* (default: Doe)

الاسم العائلي المراد التحقق منه.

مثال: `Doe`

**initials** `string` *required* (default: JD)

قيمة `initials` المطلوبة من خدمة قاعدة البيانات هذه.

مثال: `JD`

**licence\_number** `string` *required* (default: LIC123456)

قيمة `licence_number` المطلوبة من خدمة قاعدة البيانات هذه.

مثال: `LIC123456`

**first\_name** `string`

الاسم الأول المراد التحقق منه.

مثال: `John`

**date\_of\_birth** `string`

تاريخ الميلاد بصيغة `YYYY-MM-DD`.

مثال: `1990-01-01`

**vendor\_data** `string` (default: user-1234)

معرّفك الثابت لهذا الشخص، مثل معرّف المستخدم الداخلي لديك. تستخدمه Didit لربط الفحوصات المستقلة بالمستخدم النهائي نفسه وتقليل الضوضاء في اكتشاف التكرار.

مثال: `user-1234`

## قواعد الإدخال وملاحظات التحقق

* أرسل الحقول المذكورة أعلاه تمامًا كما تم جمعها من المستخدم أو من المستند.
* تتحقق Didit من الحقول المطلوبة قبل استدعاء قاعدة البيانات. لا تُحتسب تكلفة الطلبات المرفوضة قبل الوصول إلى المصدر.

## كيفية الاستدعاء

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=ZAF" \
  -F "services=zaf_drivers_license" \
  -F "vendor_data=user-1234" \
  -F "national_id=SAMPLE-NID-12345" \
  -F "last_name=Doe" \
  -F "initials=JD" \
  -F "licence_number=LIC123456"
```

يعيد كل استدعاء ناجح الرمز HTTP `200`. يخبرك الحقل **`outcome_code`** بما حدث فعليًا، فيميّز مثلًا بين عدم تطابق بيومتري حقيقي (`BIOMETRIC_NO_MATCH`) وصورة سيلفي تعذّرت قراءتها (`BIOMETRIC_IMAGE_UNUSABLE`). الحالة `status` المعروضة هي حالة الميزة الافتراضية، ويمكن لـ[إجراءات المطابقة الجزئية / عدم المطابقة](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings.md) التي تضبطها أن تتجاوزها.

**`MATCH`** — أعاد السجل سجلًّا للرخصة بهذا الرقم، وتطابقت التفاصيل المُرسلة معه.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "ZAF",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "zaf_drivers_license",
      "service_name": "South Africa - Driving License Verification",
      "source_data": {
        "expiration_date": "2030-05-31",
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "vehicle_codes": "EB"
      },
      "validation": {
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`NO_MATCH`** — بحث السجل عن الرخصة وأفاد بأنها غير صالحة. يُطبَّق إجراء عدم التطابق الذي ضبطته.

```json 200 OK — NO_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "ZAF",
  "match_type": null,
  "validations": [
    {
      "outcome_code": "NO_MATCH",
      "service_id": "zaf_drivers_license",
      "service_name": "South Africa - Driving License Verification",
      "source_data": {
        "licence_valid": false
      },
      "validation": {}
    }
  ]
}
```

**`INCONCLUSIVE`** — قبِل السجل الاستعلام لكنه لم يُعد أي سجل رخصة لمقارنة التفاصيل المُرسلة به، لذلك لا يُؤكَّد أي شيء بشأن الرخصة، ويُرسل الفحص إلى المراجعة. ويحدث الأمر نفسه إذا تطابقت خدمة أخرى في الطلب نفسه مع الشخص.

```json 200 OK — INCONCLUSIVE theme={null}
{
  "request_id": "req_01H…",
  "status": "In Review",
  "issuing_state": "ZAF",
  "match_type": null,
  "validations": [
    {
      "outcome_code": "INCONCLUSIVE",
      "service_id": "zaf_drivers_license",
      "service_name": "South Africa - Driving License Verification",
      "source_data": {
        "licence_valid": true
      },
      "validation": {}
    }
  ]
}
```

## البيانات المُرجعة

تعتمد الحقول الدقيقة الظاهرة في `source_data` على ما يعيده السجل. يوثّق المثال المُولَّد لـ`zaf_drivers_license` حاليًا هذا الشكل الموحّد:

* `expiration_date`
* `first_name`
* `identification_number`
* `last_name`
* `licence_valid`
* `vehicle_codes`

## الأسعار واتفاقيات مستوى الخدمة

تُحتسب استعلامات التحقق من رخصة القيادة في جنوب أفريقيا فقط عندما تتلقى Didit نتيجة حاسمة من مصدر التحقق.

* **السعر لكل استدعاء:** \$0.80 USD.
* **الفوترة:** لكل استعلام ناجح. لا تُحتسب عليك تكلفة عندما يتعذر الوصول إلى السجل، أو عند غياب الحقول المطلوبة، أو عند رفض الطلب قبل وصوله إلى المصدر.
* **زمن الاستجابة:** p95 النموذجي أقل من 2 ثانية.
* **التوفر:** 99.9% لكل ربع سنة من جهة Didit؛ ويختلف توفر المصدر النهائي حسب الدولة ومجموعة البيانات.

## ما تعنيه كل نتيجة

يستعلم هذا الفحص من سجل رخص القيادة عن رقم الرخصة الذي ترسله، مع رقم الهوية الجنوب أفريقية والاسم الأخير والأحرف الأولى من الاسم. وتعتمد النتيجة على ما يعيده السجل:

* **`MATCH`** - أعاد السجل سجلّ رخصة لرقم الرخصة هذا، وتطابقت التفاصيل التي أرسلتها معه. يحمل `source_data` السجل: `identification_number` (رقم الرخصة)، و`first_name` و`last_name`، و`vehicle_codes` (فئات الرخصة، مثل `EB` و`C1`)، و`expiration_date` (تاريخ انتهاء بطاقة الرخصة).
* **`INCONCLUSIVE`** - قبِل السجل الاستعلام لكنه لم يُعِد أي سجلّ رخصة، فلم يكن هناك ما تُقارن به التفاصيل المرسلة. يكون `source_data.licence_valid` بقيمة `true`، و`validation` فارغًا، و`match_type` بقيمة `null`. لا يتم تأكيد أي شيء بخصوص الرخصة، لذلك يُرسل الفحص إلى المراجعة، حتى لو طابق خدمة أخرى في الطلب نفسه، مثل فحص الهوية الوطنية، الشخص، لأن ذلك يؤكد الشخص لا الرخصة.
* **`NO_MATCH`** - بحث السجل عن الرخصة وأبلغ بأنها غير صالحة (`source_data.licence_valid: false`). يُطبَّق إجراء عدم التطابق لديك.
* **`REGISTRY_ERROR`** - لم ينفّذ السجل عملية البحث، فلم يتم التحقق من شيء بخصوص الرخصة. يُرسل الفحص إلى المراجعة ولا تتم فوترة هذه العملية.

**ما لا تُعيده الخدمة أبدًا.** لا يوجد حقل للتعليق أو الإلغاء أو السحب أو التظهير أو نقاط الجزاء، لذلك لا يجوز وصف حتى نتيجة `MATCH` لمستخدميك بعبارة "الرخصة سارية وفي وضع جيد". تُعدّ `expiration_date`، عندما يعيدها السجل، المعلومة الوحيدة ذات الصلة بحالة الرخصة التي تحصل عليها. قارنها بتاريخ الجلسة لتحديد ما إذا كانت الرخصة منتهية، وعامِل ذلك كقاعدة خاصة بك لا كجزء من نتيجة التطابق.

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

## مواصلة القراءة

* [نظرة عامة على التحقق من قواعد البيانات في جنوب أفريقيا](https://docs.didit.me/api-reference/database-validation/south-africa.md)
* [نظرة عامة على التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/overview.md)
* [رموز النتائج](https://docs.didit.me/ar/core-technology/database-validation/database-validation-outcome-codes.md)


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