الانتقال إلى المحتوى الرئيسي
POST
curl
في بيئة الإنتاج، يعمل فحص الحساب في نيجيريا وغانا وكينيا. أي دولة أخرى ترد بالرمز 404 مع code: country_not_covered ولا يُحتسب عليها أي رسوم. تُضاف دول أخرى مع الوقت، وأسعار التحقق المصرفي تعرض دائمًا ما تقدمه كل دولة اليوم.
يرسل الخادم الخلفي لتطبيقك الاسم والحساب ويقرأ النتيجة. وهو فحص الحساب ضمن خطوة التحقق المصرفي، من دون الشخص نفسه.

أرسل الحساب بالصيغة التي تكتبه بها دولته

تطلب بعض الدول أيضًا bic، وتطلب للحسابات التجارية registration_id. تُتجاهل المسافات والشرطات والنقاط. يؤدي عدم إرسال أي مفتاح يحتاجه فحص الدولة إلى استجابة 400 تذكر المفتاح المفقود، مثل "field": "account.bank_code", "reason": "required". أرسل holder.full_name لفحص حساب شخص، أو holder.business_name لفحص حساب شركة.

أرسل موافقة صاحب الحساب

في بعض الدول يتطلب فحص الحساب موافقة صريحة من صاحب الحساب قبل كل فحص. اطلب هذه الموافقة داخل منتجك، ثم أرسل "consent": true. من دونها يُرفض الفحص في تلك الدول بالخطأ 400 (field: consent, reason: required) ولا يُحتسب عليه أي رسوم. في الدول الأخرى تكون consent اختيارية، وعند إرسالها يسجّلها Didit مع رسوم الفحص. يطلب مفتاح البيئة التجريبية الموافقة في الدول نفسها التي يطلبها فيها مفتاح الإنتاج.

اقرأ النتيجة

الفوترة وإعادة المحاولة

تُحتسب رسوم كل فحص يرد عليه البنك مرة واحدة، بغض النظر عن النتيجة، بسعر سعر فحص الحساب في دولة الحساب. لا يُحتسب أي طلب يرد عليه بخطأ أبدًا: جسم طلب مرفوض (400)، أو عدم توفر رصيد (402)، أو حساب لا يتوفر له فحص بعد (404)، أو بنك تعذّر عليه الرد (503). لا يوجد مفتاح idempotency ولا endpoint لقراءة الفحص مرة أخرى. يُنفّذ الطلب المُعاد فحصًا جديدًا بـ request_id جديد ويُحتسب مرة أخرى، لذا احفظ الاستجابة. لا يخزّن Didit إلا الرسوم، مع معرّف الطلب والدولة والنتيجة والحساب المُقنّع، ولا يخزّن الاسم ولا رقم الحساب الكامل أبدًا.

جرّب في البيئة التجريبية

لا يتصل مفتاح API للبيئة التجريبية بأي بنك، ولا تُحتسب عليه رسوم. تحدد آخر 4 محارف من IBAN، وإن لم يوجد فآخر 4 أرقام من رقم الحساب، النتيجة: تحمل IBAN وCLABE وCBU أرقام تحقق، فاستخدم قيم البيئة التجريبية التي تجتاز كل فحوص التنسيق.

الوصول

صادِق بالمفتاح x-api-key الخاص بتطبيقك، أو برمز Bearer لبيانات اعتماد العميل الخاصة به. يحتاج مفتاح API المحدد النطاق إلى صلاحية الكتابة على الجلسات. يشترك endpoint في حد الكتابة البالغ 300 طلب في الدقيقة لكل مفتاح API.

التفويضات

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.

الجسم

application/json
country
string
مطلوب

دولة الحساب، كرمز ISO 3166-1 alpha-3، على سبيل المثال NGA. تُقبل الأحرف الصغيرة.

Required string length: 3
مثال:

"NGA"

account
object
مطلوب

الحساب بالطريقة التي تكتبه بها دولته: إما iban، أو account_number مع رمز البنك أو الفرع الذي تتطلبه الدولة (sort_code أو routing_number أو transit_institution أو bsb أو ifsc أو bank_code أو bic). تتطلب المكسيك clabe وتتطلب الأرجنتين cbu_cvu، واللذان يحددان البنك بالفعل. يضيف حساب الشركات registration_id عندما تطلب الدولة ذلك. يتم تجاهل المسافات والشرطات والنقاط. يتم تجاهل المفاتيح التي لا يستخدمها فحص الدولة؛ وأي مفتاح تحتاجه ولم تحصل عليه يُرجع الخطأ 400 مع ذكر اسمه.

مثال:
holder
object
مطلوب

الاسم الذي يتم التحقق من الحساب بناءً عليه. أرسل قيمة واحدة فقط من full_name أو business_name.

vendor_data
string | null

المرجع الخاص بك لعملية الفحص هذه، ويُعاد دون تغيير.

مثال:

"payout_20481"

يُضبط على true عندما يوافق صاحب الحساب صراحةً على هذا الفحص. مطلوب في الدول التي تتطلب فيها فحوصات الحسابات هذه الموافقة: بدونه يُرفض الفحص برمز 400 ويكون field هو consent ويكون reason هو required، ولا يتم فوترة أي شيء. وهو اختياري في بقية الدول، وتقوم Didit بتسجيله مع تكلفة الفحص عند إرساله.

مثال:

true

الاستجابة

استجاب البنك. تتم فوترة الفحص، أياً كانت النتيجة.

request_id
string<uuid>
مطلوب

معرّف هذا الفحص.

result
enum<string>
مطلوب

match: يحتفظ البنك بالحساب تحت الاسم الذي أرسلته. close_match: تحت اسم مشابه، على سبيل المثال اسم أوسط مفقود أو خطأ إملائي. no_match: تحت اسم آخر، أو لا يوجد مثل هذا الحساب. cannot_verify: أجاب البنك دون مقارنة الاسم، على سبيل المثال لحساب محظور أو مغلق.

الخيارات المتاحة:
match,
close_match,
no_match,
cannot_verify
holder_name
string | null
مطلوب

فقط في حالة close_match، وفقط عندما يعيده البنك: الاسم الموجود على الحساب، كما يحتفظ به البنك. يكون null بخلاف ذلك.

account
string
مطلوب

الحساب، محجوباً باستثناء آخر 4 أحرف.

vendor_data
string | null
مطلوب

المرجع الخاص بك، كما أرسلته تماماً.

created_at
string<date-time>
مطلوب

وقت تشغيل الفحص، بتوقيت UTC.

آخر تعديل في ٧ نوفمبر ٢٠٢٦