الانتقال إلى المحتوى الرئيسي
POST
curl

الخدمات القائمة على العنوان

بالنسبة إلى الخدمات التي تتحقق من عنوان سكني أو عنوان خدمات المرافق، يمكنك إرسال قيمة address واحدة، وستقوم Didit بتقسيمها قبل تنفيذ الفحص. للحصول على أفضل معدل تطابق، أرسل حقول العنوان المنظمة الخاصة بـ Didit مباشرةً: تُعطى الحقول المنظمة الأولوية على قيمة address المفردة. يُقبل postal_code كاسم بديل للحقل address_element_5.

الموافقة

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

تحميل الملفات

يستخدم التحقق من قواعد البيانات الصيغة multipart/form-data. تعرض خدمات القياسات الحيوية التي تتطلب selfie هذا الحقل كحقل لتحميل ملف في واجهة تجربة API، فيمكنك اختيار صورة مباشرةً بدلاً من لصق مسار أو سلسلة base64. في الشيفرة، حمّل الملف باستخدام صيغة multipart المعتادة:

أخطاء التحقق

تتحقق Didit من الحقول المطلوبة وبنية العنوان والصيغ الخاصة بكل خدمة، قبل استدعاء المزوّد. على سبيل المثال، تتوقع خدمات السجلات الصينية مثل chn_national_id وchn_passport_verification أن يكون full_name بالكتابة الصينية الأصلية، ويتطلب chn_national_id أيضاً رقم هوية وطنية صينياً صالحاً من 15 أو 18 خانة مع مجموع تحقق صحيح. إذا تعذّر تنفيذ الطلب، تُعيد الواجهة أخطاء حقول صريحة ولا تتم فوترة أي استخدام. وإذا فشل المزوّد بعد التحقق المسبق، تتضمن الاستجابة validation_errors، وتحفظ طلبات API المحفوظة هذه الأخطاء في نتيجة التحقق من قواعد البيانات.

المدخلات المرفوضة والنتائج غير المتاحة

عندما لا تُعيد أي خدمة نتيجةً قابلةً للاستخدام، افحص كل عنصر في validation_errors قبل أن تقرر إعادة المحاولة. رمز حالة HTTP وحده لا يحدد ما إذا كانت إعادة المحاولة مناسبةً. تعني الاستجابة 400 مع code: "provider_rejected_input" وretryable: false أن كل محاولة لم تُجَب قد رفضت المدخلات صراحةً. صحّح البيانات المرسلة قبل المحاولة مرة أخرى. لا تتم فوترة هذه المحاولات. تعني الاستجابة 502 مع code: "empty_provider_response" وretryable: true أن الخدمة لم تتمكن من إنتاج نتيجة قابلة للاستخدام لسبب آخر. ويشمل ذلك حالة رفض المدخلات متبوعةً ببديل غير متاح، أو ببديل لا يقدم أي تفسير. أعد المحاولة لاحقاً؛ فالاستجابة لا تثبت أن المدخلات خاطئة. إذا استمر فشل قاعدة بيانات، ترسل Didit بريداً إلكترونياً إلى المؤسسات التي استخدمتها مؤخراً مرة واحدة عند استمرار الانقطاع، ومرة أخرى عندما تؤكد الفحوصات الفعلية أنها تستجيب. راجع إشعارات التوفر. عندما يفشل بعض الخدمات المحددة فقط، ينجح الطلب بدلاً من ذلك: تكون الاستجابة 200، وتُدرج الخدمات الفاشلة ضمن database_validation.errors[]، ولكل منها الحقلان code وretryable نفسهما. عندئذٍ تتبع database_validation.status الخدمات التي أجابت، ويمكن أن تكون Approved، لذا افحص errors[] في كل استجابة، لا في الاستجابات 4xx أو 5xx فقط. الخدمة المُبلَّغ عنها هناك لا تظهر في validations ولا في services_used، ولا تتم فوترة هذه الخدمة، فأعد المحاولة لتلك الخدمة وحدها. قد تتطلب أخطاء 502 الأخرى تصحيح المدخلات. على سبيل المثال، يصف provider_invalid_input وprovider_validation_error مدخلات رفضها المصدر، ولا يجوز إعادة إرسالها دون تغيير، حتى عندما تُغفل الاستجابة القديمة الحقل retryable. لا تنطبق إرشادات إعادة المحاولة الخاصة بـ empty_provider_response على هذه الرموز. النتيجة النهائية التي تدل على عدم وجود تطابق هي فحص مكتمل، وليست فشلاً في التوفر.

التفويضات

x-api-key
string
header
مطلوب

مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.

الجسم

issuing_state
string
مطلوب

رمز الدولة وفقاً لـ ISO 3166-1 alpha-3 للسجل المراد التحقق منه (مثل BRA، ESP، COL). يحدد الخدمات المتاحة. الرموز غير المدعومة تُرجع 400 مع القائمة الكاملة للخيارات الصالحة.

مثال:

"BRA"

services
string[]

معرّفات service_id من الدليل لتشغيلها لهذه الدولة (مثل ["bra_cpf"]). يقبل أيضاً سلسلة نصية مفردة أو سلسلة مفصولة بفواصل/مرمزة بتنسيق JSON. إذا تم حذفه أو تُرك فارغاً، فسيتم تشغيل خدمة افتراضية واحدة فقط — وهي الخدمة العاملة الأقدم للدولة؛ أما الخدمات الأحدث والبيومترية وخدمات الدفع حسب الاستخدام فيجب تحديدها صراحةً. إرسال services يغيّر شكل الاستجابة إلى الشكل الموسع (يضيف services_used وmatch_score). يجب أن يكون كل معرّف موجوداً ونشطاً في issuing_state؛ والخدمات التي تتطلب التسجيل تُرجع الرمز 400 حتى يتم تفعيلها لمؤسستك. يمكنك استكشاف الخدمات المتاحة لكل دولة عبر GET /v1/organization/database-validation-countries/ (وهو endpoint للدليل غير موثق في هذه المواصفة) أو عبر محرر سير العمل في Business Console.

مثال:
validation_type
string
مهمل

مهمل. يُقبل للتوافق مع الإصدارات السابقة ولكن يتم تجاهله — يُشتق validation_type في الاستجابة الآن من عدد الخدمات التي تطابقت بالكامل. استخدم services لتحديد خدمات معينة.

يُضبط على true عندما يوافق المستخدم النهائي صراحةً على خدمات التحقق المحددة. مطلوب للخدمات التي تحمل العلامة requires_consent=true في الدليل — وبدونه تُرجع هذه الخدمات رمز 400 مع services_requiring_consent.

identification_number
string

رقم التعريف الشامل — يتم تعيينه تلقائيًا إلى الحقل المخصص للدولة الصحيحة، لذا يمكنك استخدامه بدلاً من personal_number/tax_number/document_number: ARG→document_number (DNI)، BOL→document_number (CI)، BRA→tax_number (CPF، 11 رقماً)، CHL→personal_number (RUT)، COL→personal_number (Cédula)، CRI→personal_number (Cédula)، DOM→personal_number (Cédula، 11 رقماً)، ECU→personal_number (Cédula، 10 أرقام)، ESP→personal_number (DNI/NIE)، GTM→document_number (DPI)، HND→document_number (DNI)، MEX→personal_number (CURP، 18 حرفاً)، PAN→personal_number (Cédula)، PER→personal_number (DNI، 8 أرقام)، PRY→document_number (CI)، SLV→document_number (DUI)، URY→personal_number (CI)، VEN→document_number (Cédula). لا يتجاوز أبدًا أي حقل مخصص للدولة تم تقديمه صراحةً.

first_name
string

الاسم الأول للفرد. مطلوب في بعض الخدمات/الدول.

مثال:

"John"

last_name
string

اسم العائلة للفرد. مطلوب في بعض الخدمات/الدول.

مثال:

"Doe"

middle_name
string

الاسم الأوسط، يُستخدم بواسطة خدمات بعض الدول (أستراليا، نيوزيلندا، ...).

full_name
string

الاسم الكامل — تقبل بعض الخدمات هذا بدلاً من الاسم الأول/اسم العائلة (مثل خدمات CHN، التي تطابق الاسم بنظام الكتابة الأصلي).

date_of_birth
string<date>

تاريخ الميلاد، YYYY-MM-DD. مطلوب من قبل العديد من الخدمات.

مثال:

"1980-01-01"

personal_number
string

معرّف شخصي فريد صادر عن الحكومة. يُستخدم في: CHL (RUT)، COL (Cédula)، CRI، DOM، ECU، ESP (DNI/NIE)، MEX (CURP)، PAN (Cédula)، PER (DNI)، URY. يُفضَّل استخدام identification_number بدلاً منه.

tax_number
string

الرقم الضريبي. يُستخدم من قبل: BRA (CPF، مكون من 11 رقماً). فكّر في استخدام identification_number بدلاً منه.

document_number
string

رقم المستند. يُستخدم بواسطة: ARG (DNI)، وBOL (CI)، وGTM (DPI)، وHND (DNI)، وPRY (CI)، وSLV (DUI)، وVEN (Cédula). فكّر في استخدام identification_number بدلاً من ذلك.

document_type
enum<string>

نوع المستند الذي يتم التحقق منه: P جواز سفر، DL رخصة قيادة، ID بطاقة هوية وطنية، RP تصريح إقامة (بالإضافة إلى SSC، HIC، WP، TC، VISA، PSC، BC، OTHER). مطلوب لبعض الخدمات (مثل ESP).

الخيارات المتاحة:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

تاريخ انتهاء المستند، YYYY-MM-DD. مطلوب للتحقق في إسبانيا (ESP).

مثال:

"2030-01-15"

date_of_issue
string<date>

تاريخ إصدار المستند، YYYY-MM-DD (fecha de expedición). مطلوب للتحقق من cédula في كولومبيا (COL).

مثال:

"2015-06-20"

nationality
string

الجنسية وفق معيار ISO 3166-1 alpha-3. مطلوبة من قِبل بعض الخدمات.

gender
enum<string>

الجنس: M، أو F، أو X (آخر/غير معروف). مطلوب للتحقق من RENAPER في الأرجنتين (arg_renaper).

الخيارات المتاحة:
M,
F,
X
address

عنوان السكن. يُفضّل الكائن المهيكل {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"}؛ لا تزال السلسلة النصية الكاملة في سطر واحد مقبولة. مطلوب لخدمات التحقق من العنوان؛ وعندما تحدد الخدمة متطلبات العنوان، فإن الأجزاء المفقودة تُرجع 400 مع address_fields_required_by.

address_element_1
string

عنوان الشارع بما في ذلك رقم الشارع ونوعه. إذا تم حذفه، فسيتم استنتاجه من address.

address_element_2
string

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

address_element_3
string

المدينة، أو الضاحية، أو الحي، أو المنطقة، أو المجاورة. إذا تم حذفه، فسيتم استنتاجه من address.

address_element_4
string

الولاية أو المقاطعة أو المنطقة أو البلدة. إذا تم حذفه، يُستنتج من address.

address_element_5
string

الرمز البريدي. يُقبل postal_code كاسم بديل.

postal_code
string

الرمز البريدي للخدمات المعتمدة على العنوان (اسم بديل لـ address_element_5).

driver_license_number
string

رقم رخصة القيادة لخدمات التحقق من المستندات الحكومية (AUS، NZL، IND).

driver_license_card_number
string

رقم بطاقة رخصة القيادة الفعلية، حيث يُطلب بشكل منفصل عن رقم الرخصة (أستراليا).

driver_license_state
string

ولاية أو إقليم إصدار رخصة القيادة (AUS).

driver_license_version
string

رمز إصدار رخصة القيادة (NZL).

passport_number
string

رقم جواز السفر لخدمات التحقق الحكومية من جوازات السفر (AUS وNZL وIND وCHN).

passport_expiration_date
string<date>

تاريخ انتهاء جواز السفر، بصيغة YYYY-MM-DD، لخدمات التحقق من جوازات السفر.

passport_file_number
string

رقم ملف جواز السفر (IND).

passport_issue_country
string

دولة إصدار جواز السفر (ISO 3166-1 alpha-3) لخدمات التحقق من جوازات السفر.

medicare_card_number
string

رقم بطاقة Medicare (أستراليا).

immi_card_number
string

رقم بطاقة ImmiCard الأسترالية.

immi_card_expiry_date
string<date>

تاريخ انتهاء بطاقة ImmiCard الأسترالية.

citizenship_certificate_number
string

رقم شهادة المواطنة (أستراليا).

birth_registration_number
string

رقم تسجيل شهادة الميلاد (أستراليا).

birth_registration_date
string<date>

تاريخ تسجيل شهادة الميلاد (أستراليا).

birth_registration_state
string

ولاية تسجيل شهادة الميلاد (أستراليا).

marriage_certificate_number
string

رقم شهادة الزواج (أستراليا).

change_of_name_certificate_number
string

رقم شهادة تغيير الاسم (AUS).

first_partner_name
string

الاسم الأول للشريك في عقد الزواج (أستراليا).

last_partner_name
string

اسم العائلة للشريك في وثيقة الزواج (AUS).

voter_id
string

رقم تسجيل الناخب (IND EPIC، IRL).

epic_card
string

رقم بطاقة الناخب EPIC للهند.

pan
string

الهند: رقم الحساب الدائم (PAN).

national_id
string

رقم الهوية الوطنية (CHN، وMYS، وKEN، وKHM، وNGA، وZAF، و…).

cic
string

رمز تعريف بطاقة الهوية (CIC) التابع لـ INE/IFE المكسيكي، 9 أرقام. يُستخدم بواسطة خدمة صلاحية بيانات اعتماد MEX INE (mex_ine_vigencia).

identificador_ciudadano
string

مُعرّف المواطن (Identificador del Ciudadano) للمعهد الانتخابي الوطني المكسيكي INE (9 أرقام). يُستخدم مع cic لنماذج INE الحديثة (E/F/G/H) في mex_ine_vigencia.

ocr
string

رقم OCR للمعهد الانتخابي الوطني المكسيكي INE (13 رقمًا، ظهر البطاقة). يُستخدم مع cic للنموذج D في mex_ine_vigencia.

voter_number
string

مفتاح الناخب (Clave de Elector) للمعهد الانتخابي الوطني المكسيكي INE (18 حرفًا). يُستخدم مع emission_number لنماذج IFE القديمة (A/B/C) في mex_ine_vigencia.

emission_number
string

رقم الإصدار (Número de Emisión) للمعهد الانتخابي الوطني المكسيكي INE. يُستخدم مع voter_number لنماذج IFE القديمة (A/B/C) في mex_ine_vigencia.

bvn
string

رقم التحقق المصرفي النيجيري.

bank_card_number
string

رقم البطاقة البنكية (التحقق من البطاقة البنكية في CHN).

company_registration_number
string

رقم تسجيل الشركة الصادر عن سجل الشركات: مثل CNPJ في البرازيل (على سبيل المثال 11222333000181)، ورقم التسجيل في جنوب إفريقيا (على سبيل المثال 1936/007721/06). مطلوب لخدمات سجل الشركات ومديري الشركات (bra_company_registry، bra_company_directors، zaf_company_registry، zaf_company_directors).

company_name
string

اسم الشركة المسجل، بعد مطابقته مع قيد السجل. اختياري لـ zaf_company_registry.

initials
string

الأحرف الأولى من اسم الشخص كما هي مطبوعة على المستند. مطلوبة لـ zaf_drivers_license؛ ومقبولة لـ zaf_bank_account_holder.

licence_number
string

رقم رخصة القيادة كما هو مطبوع على البطاقة، لـ zaf_drivers_license. عند حذفه، يُستخدم document_number.

refugee_file_number
string

رقم ملف اللاجئ الصادر عن وزارة الشؤون الداخلية في جنوب أفريقيا. مطلوب لـ zaf_refugee.

bank_name
string

اسم البنك الذي يحتفظ بالحساب. يتطلبه zaf_bank_account_holder.

bank_account_number
string

رقم الحساب البنكي. مطلوب بواسطة zaf_bank_account_holder؛ ومقبول بواسطة zaf_fraud_prevention.

account_type
string

نوع الحساب البنكي لـ zaf_bank_account_holder: current، أو savings، أو transmission، أو subscriptionShare، أو notKnown، دون حساسية لحالة الأحرف. تُرجع أي قيمة أخرى 400. احذفه عندما لا تعرف النوع: سيتم بعد ذلك الإبلاغ عن التحقق المتبادل من نوع الحساب بأنه غير مؤكد.

phone_number
string

رقم الهاتف المحمول للتواصل، للخدمات التي تتحقق من إمكانية التواصل (zaf_bank_account_holder، zaf_fraud_prevention، zaf_refugee).

right_thumb
string

بصمة الإبهام الأيمن بترميز Base64 لـ zaf_dha_fingerprint_match، مع left_thumb أو بمفردها.

left_thumb
string

بصمة الإبهام الأيسر بترميز Base64 لـ zaf_dha_fingerprint_match، مع right_thumb أو بمفردها.

score_level
integer

الحد الأدنى لمستوى الدرجة البيومترية لـ zaf_criminal_face_screening. القيمة الافتراضية هي 3.

max_matches
integer

الحد الأقصى لعدد التطابقات المرشحة التي يرجعها zaf_criminal_face_screening. القيمة الافتراضية هي 1.

vehicle_register_number
string

رقم تسجيل المركبة. مطلوب، مع vehicle_licence_plate وvin، بواسطة zaf_vehicle_ownership.

vehicle_licence_plate
string

رقم لوحة ترخيص المركبة. مطلوب، مع vehicle_register_number وvin، بواسطة zaf_vehicle_ownership.

vin
string

رقم تعريف المركبة (VIN أو رقم الشاسيه). مطلوب، مع vehicle_register_number وvehicle_licence_plate، بواسطة zaf_vehicle_ownership.

ssn
string

رقم الضمان الاجتماعي (الولايات المتحدة الأمريكية).

phone
string

رقم الهاتف لخدمات التحقق من رقم الهاتف.

landline
string

رقم الهاتف الأرضي لخدمات التحقق من رقم الهاتف.

email
string<email>

عنوان البريد الإلكتروني لخدمات التحقق من الهوية.

country_of_residence
string

دولة الإقامة وفق المعيار ISO 3166-1 alpha-2. تُستخدم بواسطة خدمات إثراء الهوية العالمية (مثل glb_identity_enrichment) لتركيز البحث.

مثال:

"US"

partial_match_action
enum<string>
افتراضي:NO_ACTION

ما يفعله partial_match بحالة database_validation.status. القيمة الافتراضية هي NO_ACTION (تبقى الحالة Approved، مع تحذير).

الخيارات المتاحة:
DECLINE,
NO_ACTION
no_match_action
enum<string>
افتراضي:DECLINE

ما يفعله no_match بحالة database_validation.status. القيمة الافتراضية هي DECLINE.

الخيارات المتاحة:
DECLINE,
NO_ACTION
save_api_request
boolean
افتراضي:true

حفظ التحقق كجلسة (الظهور في لوحة التحكم، endpoint القرار، webhook الخاص بـ status.updated). يُغيّر أيضاً شكل استجابة validations: كائنات لكل خدمة عندما تكون القيمة true (افتراضياً)، وخريطة حقول مدمجة عندما تكون false.

vendor_data
string

المعرّف الخاص بك للمستخدم الذي تم التحقق منه؛ تتم إعادته وتخزينه مع الجلسة.

metadata
object | null

كائن JSON بصيغة حرة يُخزن مع الطلب وتتم إعادته في الاستجابة.

الاستجابة

اكتمل التحقق — أرجعت خدمة واحدة محددة على الأقل نتيجة قابلة للاستخدام. افحص database_validation.match_type لمعرفة النتيجة الإجمالية، وvalidations لمقارنات الحقول وoutcome_codes لكل خدمة، وerrors (عند وجودها) للخدمات التي تعذر تشغيلها.

request_id
string<uuid>

معرّف الجلسة المحفوظة عندما تكون save_api_request=true (يمكن استخدامه مع GET /v3/session/{sessionId}/decision/)؛ وإلا فسيكون UUID ارتباط مؤقت.

database_validation
object
vendor_data
string | null

تكرار لقيمة vendor_data التي أرسلتها.

metadata
object | null

نسخة مطابقة من metadata التي أرسلتها.

created_at
string<date-time>
آخر تعديل في ٧ نوفمبر ٢٠٢٦