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

# رموز نتائج التحقق من قواعد البيانات: مرجع شامل

> رموز نتائج التحقق من قواعد البيانات لدى Didit: تطابق، متوفى، قاصر، مستند غير موجود، وعدم تطابق بيومتري. بدءاً من $0.05/check.

تستعلم واجهة API الخاصة بـ [التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/overview.md) من Didit من السجل المدني المعتمد لكل دولة — RENAPER (الأرجنتين، \$0.20/عملية فحص مع مطابقة الوجه البيومترية)، وReceita Federal (البرازيل، \$0.20)، وTribunal Electoral SIB (بنما، \$0.75 بيومتري)، وJunta Central Electoral (جمهورية الدومينيكان، \$0.05)، بالإضافة إلى 14 سجلاً آخر — وتُحسب التكلفة لكل استعلام ناجح، دون حد أدنى شهري.

عند تشغيل التحقق من قواعد البيانات، ستحصل على مستويين من النتائج:

1. **رمز نتيجة قياسي** يعمل بالطريقة نفسها عبر جميع الدول المدعومة، مما يتيح لك كتابة منطق معالجة موحد يغطيها جميعاً.
2. **رمز تفصيلي خاص بالدولة** اختياري يوضح بدقة الحالة التي أرجعها السجل الحكومي — وهو مفيد للدعم والتحليلات وتحديد ما إذا كان يجب مطالبة المستخدم بإعادة المحاولة.

تسرد هذه الصفحة كل قيمة يمكن أن تظهر لك وتوضح كيفية التعامل مع كل منها.

## رموز النتائج القياسية

هذه الرموز متطابقة عبر جميع الدول. ابنِ منطق المراجعة والرفض وإعادة المحاولة بالاعتماد عليها — وليس على الرموز التفصيلية الخاصة بكل دولة.

| رمز النتيجة | المعنى | قابل لإعادة المحاولة؟ | المعالجة الموصى بها |
| :- | :- | :-: | :- |
| `MATCH` | أكد السجل الهوية وتطابق كل حقل تم فحصه. | — | قبول. |
| `PARTIAL_MATCH` | عثر السجل على سجل، لكن حقلاً واحداً أو أكثر من الحقول التي قارنتها الخدمة لم تتطابق تماماً (عادةً الاسم أو تاريخ الميلاد). وتختلف الحقول التي تحدد النتيجة حسب الخدمة — راجع [طرق التطابق](https://docs.didit.me/ar/core-technology/database-validation/database-validation-matching-methods.md). | — | إرسال إلى المراجعة أو تكوين [Partial Match Action](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings.md) للرفض التلقائي. |
| `NO_MATCH` | لم يُرجع السجل أي تطابق للبيانات المقدمة. | لا | رفض، أو إرسال إلى المراجعة وفقاً لسياستك. |
| `DOCUMENT_SUPERSEDED` | أكد السجل هوية الشخص، لكن **إصدار المستند** المقدم ليس هو الإصدار المحفوظ في سجلاته — إذ صدر إصدار أحدث منذ ذلك الحين، وبالتالي فإن المستند الذي بحوزة الشخص قديم. وتعد خانة *ejemplar* في بطاقة DNI الأرجنتينية الحالة النموذجية لذلك. وتختلف هذه الحالة عن `NO_MATCH` (الشخص لم يتطابق) وعن `DOCUMENT_NOT_FOUND` (لا يوجد سجل على الإطلاق): المستند الفعلي فقط هو غير المحدث. | لا | إرسال إلى المراجعة وطلب الإصدار الحالي من المستند. يعتمد ذلك على **No Match Action** لديك ويطلق [`DATABASE_VALIDATION_DOCUMENT_SUPERSEDED`](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings). |
| `DOCUMENT_NOT_FOUND` | رقم الهوية صالح من حيث البنية، لكنه غير موجود في السجل الحكومي. | لا | رفض. |
| `INVALID_DOCUMENT_FORMAT` | رقم الهوية المقدم غير صالح (طول خاطئ، يحتوي على أحرف غير رقمية، أو رقم تحقق غير صحيح). | لا | مطالبة المستخدم بإعادة إدخال رقم المستند. |
| `INVALID_INPUT` | حقل إدخال مطلوب (صورة سيلفي، الجنس، تاريخ الميلاد، إلخ) كان مفقوداً أو غير صالح. | لا | مطالبة المستخدم بإعادة إرسال الحقل المفقود. ستتم إعادة معالجة الجلسة تلقائياً بمجرد تقديم البيانات — راجع [`COULD_NOT_PERFORM_DATABASE_VALIDATION`](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings). |
| `MINOR_BLOCKED` | حجب السجل لأن صاحب الهوية قاصر. ينطبق هذا في الولايات القضائية التي تطبق قوانين حماية بيانات القاصرين (قانون LGPD في البرازيل، والأرجنتين). | لا | رفض. التزم بالإطار القانوني المحلي — لا تعد المحاولة. |
| `DECEASED` | يفيد السجل بأن صاحب الهوية متوفى. | لا | رفض. |
| `BIOMETRIC_NO_MATCH` | بالنسبة لعمليات التحقق البيومترية (الأرجنتين، بنما)، كانت درجة تطابق الوجه أقل من حد القبول. | لا | رفض، أو إرسال إلى المراجعة. |
| `BIOMETRIC_IMAGE_UNUSABLE` | تعذرت معالجة صورة السيلفي — كانت الصورة فارغة، أو لم تكن تحتوي على وجه، أو كانت منخفضة الجودة، أو لم يتمكن السجل من قراءتها. | نعم | مطالبة المستخدم بإعادة التقاط صورة السيلفي. |
| `INCONCLUSIVE` | لم يتمكن السجل من تحديد ما إذا كان الشخص متطابقاً أم لا — فالنتيجة غير مؤكدة تماماً (قد يكون موجوداً في السجل أو لا يكون). وتختلف عن `NO_MATCH` (غير موجود بشكل قاطع) وعن `BIOMETRIC_IMAGE_UNUSABLE` (مشكلة فنية في الصورة): لم يُؤكَّد شيء في أيٍّ من الاتجاهين، لذا فإن `match_type` يكون `null`. | ربما | إرسال إلى المراجعة. قد تؤدي إعادة المحاولة باستخدام صورة سيلفي أوضح أو بيانات إضافية إلى حل المشكلة. |
| `REGISTRY_UNAVAILABLE` | تعذر الوصول إلى السجل الحكومي مؤقتاً (انتهاء مهلة، خطأ في الاتصال، خطأ 5xx من المصدر). | نعم | إعادة المحاولة بعد فترة وجيزة. تعيد Didit بالفعل محاولة معالجة الأخطاء العابرة تلقائياً، لذا فإن ظهور ذلك في التقرير النهائي يعني استنفاد محاولات إعادة المحاولة. وعندما يستمر السجل في الفشل، يتم إرسال بريد إلكتروني إلى مؤسستك بمجرد استمرار الانقطاع ومرة أخرى عند استعادة الوصول — راجع [إشعارات التوفر](https://docs.didit.me/ar/core-technology/database-validation/overview.md#إشعارات-التوفر). |
| `REGISTRY_ERROR` | أرجع السجل خطأ غير متوقع لا يندرج تحت أي من الفئات المذكورة أعلاه. | ربما | التصعيد إلى الدعم مع الرمز التفصيلي. |

> [!NOTE]
>
> يوجد `outcome_code` داخل كل إدخال في مصفوفة `validations` في تقرير التحقق. راجع [تقرير التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/database-validation-report.md) لمعرفة موقعه في الاستجابة.

> [!NOTE]
>
> يشير `REGISTRY_UNAVAILABLE` و`REGISTRY_ERROR` إلى أن السجل المصدر لم يجب على الاستعلام مطلقاً، وبالتالي فإن هاتين النتيجتين **لا تتم فوترتهما** - راجع [الأسعار](https://docs.didit.me/ar/core-technology/database-validation/overview.md). كل رمز نتيجة آخر هو استجابة حقيقية ومدفوعة من السجل، حتى لو لم تؤكد أي شيء (`INCONCLUSIVE` و`BIOMETRIC_IMAGE_UNUSABLE`) وحتى تلك التي ترفض ما أرسلته (`INVALID_DOCUMENT_FORMAT` و`INVALID_INPUT` — كرموز نتائج تعني هذه أن السجل نفسه رفض البيانات بعد إرسال الاستعلام).
>
> المدخلات التي لا تصل إلى السجل مطلقاً لا تنتج أي رمز نتيجة على الإطلاق: تستجيب `POST /v3/database-validation/` بالرمز `400` عندما تفشل القيمة في اجتياز قواعد تنسيق الدولة، ويتم تخطي خدمة سير العمل التي تحتوي على حقول مفقودة أو غير صالحة مع [`COULD_NOT_PERFORM_DATABASE_VALIDATION`](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings). ولا تتم فوترة أي منهما. تفاصيل كاملة في [صفحة أسعار التحقق من قواعد البيانات](https://docs.didit.me/ar/getting-started/database-validation-pricing.md).

## رموز التفاصيل الخاصة بكل دولة

يتم إرجاع رمز التفاصيل كـ `outcome_detail` إلى جانب `outcome_code`. فقط الدول المدرجة أدناه تنتج رموز تفاصيل إضافية تتجاوز النتيجة القياسية — بينما تُرجع كل دولة مدعومة أخرى الرموز القياسية فقط.

### الأرجنتين (RENAPER)

تستخدم الأرجنتين تحققاً بيومترياً 1×1 مقابل السجل الوطني للهوية RENAPER، يجمع بين DNI وصورة سيلفي والجنس المصرح به.

| رمز التفاصيل | النتيجة القياسية | المعنى |
| :- | :- | :- |
| `300` | `INVALID_DOCUMENT_FORMAT` | حقل DNI يجب أن يكون رقماً مكوناً من 7–8 أرقام. |
| `301` | `DOCUMENT_NOT_FOUND` | لا يطابق DNI المرسل سجلاً صالحاً. |
| `303` | `INVALID_INPUT` | كان حقل صورة سيلفي فارغاً. |
| `304` | `INVALID_INPUT` | كان حقل الجنس فارغاً أو ليس واحداً من `M` أو `F` أو `X`. |
| `305` | `NO_MATCH` | لم يتم العثور على تركيبة DNI والجنس. |
| `306` | `REGISTRY_UNAVAILABLE` | لا يمكن إجراء الاستعلام في الوقت الحالي. |
| `307` | `REGISTRY_UNAVAILABLE` | خطأ في الاتصال بنظام التحقق من الهوية العام. |
| `311` | `REGISTRY_ERROR` | ليس لدى التكامل صلاحية الوصول إلى هذا المنتج. |
| `313` | `MINOR_BLOCKED` | السجل ينتمي لشخص قاصر. |
| `400` | `REGISTRY_UNAVAILABLE` | خطأ في الاتصال. |
| `401` | `NO_MATCH` | لم يتم العثور على نتائج للبيانات المقدمة. |
| `405` | `BIOMETRIC_IMAGE_UNUSABLE` | تعارض مع الصورة؛ لا يمكن معالجتها. |
| `406` | `BIOMETRIC_IMAGE_UNUSABLE` | خطأ في معالجة الصورة. |
| `NO.HIT` | `BIOMETRIC_NO_MATCH` | كانت درجة مطابقة الوجه أقل من حد القبول (\< 50). |
| `INTERNAL_ERROR` | `REGISTRY_UNAVAILABLE` | تم تجاوز المهلة الزمنية. |

### البرازيل (Receita Federal — Consulta CPF)

تتحقق البرازيل من CPF مقابل خدمة CPF الرسمية لـ Receita Federal، مع معالجة صريحة للقُصَّر بموجب LGPD (القانون العام لحماية البيانات) والقانون الرقمي للأطفال والمراهقين.

| رمز التفاصيل | النتيجة القياسية | المعنى |
| :- | :- | :- |
| `200` | `MATCH` | تم العثور على CPF وإرجاع البيانات بنجاح. |
| `206` | `MATCH` | تم العثور على CPF، ولكن لم يتم إرجاع بعض الحقول غير الأساسية. |
| `400` | `INVALID_DOCUMENT_FORMAT` | رقم CPF غير صالح. |
| `404` | `DOCUMENT_NOT_FOUND` | لا يوجد CPF بالرقم المرسل. |
| `422` | `MINOR_BLOCKED` | تم حجب بيانات القاصر دون سن 18 عاماً بموجب LGPD (القانون 13.709/2018). تتضمن الاستجابة `minor_under_18: true`. |
| `451` | `MINOR_BLOCKED` | تم حجب بيانات القاصر دون سن 16 عاماً بموجب LGPD والقانون الرقمي للأطفال والمراهقين (القانون 15.211/2025). تتضمن الاستجابة `minor_under_18: true` و`minor_under_16: true`. |
| `500` | `REGISTRY_UNAVAILABLE` | خطأ في الخادم العلوي. |
| `504` | `REGISTRY_UNAVAILABLE` | انتهاء مهلة البوابة — لم يصل الطلب إلى API الخاص بـ Consulta CPF. |

> [!NOTE]
>
> بالنسبة لنتائج `MINOR_BLOCKED` في البرازيل، لا يزال `source_data` يُرجع علامات `lgpd_minor` و`minor_under_18` و`minor_under_16` حتى تتمكن من تطبيق مسارات مناسبة للعمر دون إعادة المحاولة.

### بنما (SIB — Tribunal Electoral)

تستخدم بنما التحقق البيومتري مقابل سجل SIB (Servicio de Identificación Biométrica) الذي تديره المحكمة الانتخابية (Tribunal Electoral). في حال حدوث خطأ تقني في SIB، تنتقل الجلسة تلقائياً إلى البحث بصيغة 1×1.

| رمز التفاصيل | النتيجة القياسية | المعنى |
| :- | :- | :- |
| `601` | `REGISTRY_UNAVAILABLE` | المشغل غير موجود في قاعدة البيانات. |
| `602` | `MINOR_BLOCKED` | عمر المواطن أقل من 12 عاماً. |
| `603` | `DECEASED` | المواطن متوفى. |
| `604` | `NO_MATCH` | تسجيل المواطن غير صالح. |
| `605` | `NO_MATCH` | لم يتم التعرف على المواطن. |
| `606` | `INVALID_INPUT` | حقل بطاقة الهوية (Cédula) فارغ. |
| `607` | `DOCUMENT_NOT_FOUND` | لم يتم العثور على المواطن. |
| `608` | `REGISTRY_ERROR` | لا يوجد وصول إلى SIB لهذا العميل. |
| `610` | `BIOMETRIC_IMAGE_UNUSABLE` | خطأ عام في التحقق من الوجه. |
| `611` | `BIOMETRIC_IMAGE_UNUSABLE` | لم يتم إرسال صورة المقارنة. |
| `612` | `BIOMETRIC_IMAGE_UNUSABLE` | لا تحتوي الصورة على أي محتوى. |
| `613` | `BIOMETRIC_IMAGE_UNUSABLE` | تنسيق الصورة غير صالح. |
| `614` | `BIOMETRIC_IMAGE_UNUSABLE` | لم يتم اكتشاف أي وجه في الصورة. |
| `615` | `BIOMETRIC_NO_MATCH` | لم يتم الوصول إلى حد التشابه. |

### الدول المدعومة الأخرى

تُرجع الدول الموضحة أدناه رموز النتائج القياسية فقط — ولا توجد رموز تفاصيل خاصة بكل دولة للتعامل معها.

* **بوليفيا، وكولومبيا، وكوستاريكا، والسلفادور، وغواتيمالا، وهندوراس، وباراغواي، وإسبانيا، وأوروغواي، وفنزويلا** — بحث 1×1 مقابل السجل المدني المعني. يتم تعيين النتائج مباشرة إلى `MATCH` أو `NO_MATCH` أو `DOCUMENT_NOT_FOUND` أو `INVALID_DOCUMENT_FORMAT` أو `REGISTRY_UNAVAILABLE`.
* **تشيلي (Registro Civil)** — بحث RUT. يتم تعيينه إلى النتائج القياسية بالإضافة إلى `MINOR_BLOCKED` عندما يحدد السجل سجلاً لقاصر.
* **جمهورية الدومينيكان (JCE)** — بحث Cédula يُرجع صلاحية منطقية؛ ويتم تعيينه إلى `MATCH` أو `NO_MATCH`.
* **الإكوادور (Registro Civil)** — بحث Cédula.
* **المكسيك (RENAPO، بالإضافة إلى INE لـ 2×2)** — بحث CURP عبر RENAPO. عندما يكون `validation_type` هو `two_by_two`، يتم تشغيل مطابقة مرجعية إضافية مع INE؛ ويصب كلاهما في نفس رموز النتائج القياسية.
* **بيرو (RENIEC)** — بحث DNI.

## آلية التعامل

تبدو أبسط آلية معالجة موثوقة على النحو التالي:

```typescript theme={null}
switch (result.outcome_code) {
  case "MATCH":
    return approve();
  case "PARTIAL_MATCH":
    return review();
  case "NO_MATCH":
  case "DOCUMENT_NOT_FOUND":
  case "DECEASED":
  case "MINOR_BLOCKED":
  case "BIOMETRIC_NO_MATCH":
    return decline();
  case "INVALID_DOCUMENT_FORMAT":
  case "INVALID_INPUT":
    return askUserToFixInput(result.outcome_detail);
  case "BIOMETRIC_IMAGE_UNUSABLE":
    return askUserToRetakeSelfie();
  case "REGISTRY_UNAVAILABLE":
  case "REGISTRY_ERROR":
    return review();  // Didit already retried; a human can decide.
  default:
    return review();
}
```

> [!NOTE]
>
> لا تحتاج إلى إنشاء تفرعات برمجية بالاعتماد على `outcome_detail` لمنطق العمل الخاص بك — بل استخدمه للتحليلات وتصحيح الأخطاء وتذاكر الدعم الفني. ويظل `outcome_code` القياسي ثابتاً عبر مختلف الدول وبمرور الوقت.

## انظر أيضاً

* [تحذيرات التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings.md) — علامات التحذير على مستوى الجلسة (`COULD_NOT_PERFORM_DATABASE_VALIDATION` و`DATABASE_VALIDATION_PARTIAL_MATCH` و`DATABASE_VALIDATION_NO_MATCH`) وكيفية تكوين إجراءات المراجعة أو الرفض في تطبيقك.
* [تقرير التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/database-validation-report.md) — بنية الاستجابة الكاملة ومكان ظهور `outcome_code` / `outcome_detail`.
* [الدول المدعومة في التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/database-validation-supported-countries.md) — القائمة الكاملة للدول وطرق المطابقة.


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