POST /v1/kyc/verify الحكم على ملف العميل والمستندات المرتبطة به. النطاق: kyc:verify. لا يقرأ الملفات ولا يستهلك أي قراءة مستند. يقبل POST /v1/kyc/assess الجسم نفسه، ويُجري الحكم نفسه، ويضيف تقييمًا للمخاطر.
الطلب
جسم JSON. جميع الحقول اختيارية، لكن الجسم الفارغ لا يتحقق من شيء.values
values كائن حر. يقرأ المحرك المفاتيح أدناه ويتجاهل الباقي. أرسل قيمًا نصية. التواريخ بصيغة YYYY-MM-DD.
يعدّ فحص الاكتمال هذه المفاتيح موجودة عندما لا تكون فارغة.
بُنيت قائمة المطلوبات من محرك صُمّم أصلًا لملفات أمريكا الشمالية. فهو يطلب
province وpostal_code وsin أو ssn، لذلك لا يمكن لفرد مغربي أن يبلغ أكثر من 27 من 28 (96 بالمئة)، ويبقى sin/ssn في missing. لا يُعلَّم الملف إذا بلغت النسبة 80 بالمئة أو أكثر. تستخدم الطلبات النموذجية هنا البلد MA وid_type بقيمة National ID ورقم بطاقة وطنية مثل BK123456؛ ويقبل province وpostal_code أي نص لعنوان مغربي، ولا يُتحقق من صيغة الرمز البريدي الكندي إلا عندما يكون country هو CA.
مفاتيح أخرى تستخدمها الفحوص:
الرد
checks أعلاه مختصرة إلى ثلاثة عناصر؛ والرد الكامل فيه أكثر. المثال هو المخرج الفعلي للمحرك لبيانات وهمية (بطاقة وطنية مغربية وكشف راتب باسم Test Client).
لكل فحص خمسة مفاتيح.
لا تطابق على
label: فقد يتغير. طابق على id، وعامل الجزء الذي يلي أول نقطتين رأسيتين على أنه متغير.
كيف تقرأ الحكم
ينجح الملف عندما لا يفشل أي فحص حرج. الملف الذي فيه 30 تحذيرًا ينجح مع ذلك، لذا انظر إلى
flags وكذلك إلى passed.
الطبقات الثلاث
- لكل مستند: الفحوص نفسها التي أرجعها
/extractلكل ملف (النوع، والقابلية للقراءة، والانتهاء، والبلوغ، وMRZ، والحداثة، والمصدر، والنموذج التجريبي). - بين المستندات والملف الشخصي: اتفاق الاسم وتاريخ الميلاد والعنوان بين المستندات ومع
values؛ وصيغ الأرقام؛ والبيانات المصرفية؛ ووجود وثيقة الهوية المطلوبة بين المرفوعات. - على مستوى الملف: فحص العقوبات والأشخاص السياسيين المعرّضين (PEP)، والمستفيد الفعلي للكيانات، وفحوص السجل، وإقرارات السياسة، ثم الاكتمال.
الفحوص
تُسرد المعرّفات مع استبدال الجزء الذي يلي أول نقطتين رأسيتين بـ*. “المستند” يعني تسمية الخطوة أو التلميح doc_type (مثل passport، أو Government photo ID عند إرسال step_key).
لكل مستند
بين المستندات والملف الشخصي
على مستوى الملف
الفحص
يُفحص كل طرف في الملف افتراضيًا (screen: true).
التطابق مع العقوبات حرج ويحجب. التطابق مع PEP تحذير. النتيجة النظيفة تنتج فحص
screening واحدًا يذكر ما فُحص الطرف مقابله:
عندما تكون
canadian_screening مساوية true (أو تطلبها السياسة) ويكون العميل كنديًا (country هو CA أو CAN أو Canada)، تُفحص الأطراف التي لم تجد الحزمة عنها شيئًا كذلك مقابل جداول AML وPEP الكندية لدى مزود eID، متى كان لمساحة العمل حساب. ويذكر فحص screening:canchek عدد الأطراف المفحوصة.
السياسة والمفاتيح
يجري كل استدعاء وفق سياسة KYC الخاصة بمساحة عملك لنوع العميل (kyc للشخص، وkyb لأي كيان) وللبيئة. ويحدد policy في الرد أيّ سياسة طُبّقت.
يمكن لمفتاح في الطلب أن يضيف فحوصًا أو يشدّد. ولا يمكنه إيقاف بند تقفله السياسة. المفتاح المرفوض ليس خطأ: يجري الاستدعاء بالقاعدة الأشد ويُسجَّل الرفض.
overrides_refused حقيقي، أما القيم فمثال.) كما يضيف الرفض فحص info هو policy:override_refused:screen.
ما يمكن للسياسة تغييره:
تُعدَّل قيم السياسة في الوحدة، لا عبر الواجهة البرمجية.
المراجعة الدورية
purpose: "periodic_review" مخصّصة لعميل جرى تسجيله مسبقًا. فهي لا تعيد التحقق من الهوية (PCMLTFR s.155(1)): لا تُطبَّق وثائق الهوية ومتطلب eID وفحوص الخانات. ويبقى الفحص والإقرارات وكل قفل آخر ساريًا.
- مع وجود تسجيل ناجح لدى Sahl للعميل نفسه بالـ
referenceوالـenvironmentنفسيهما، تضيف المراجعة فحص info هوpolicy:periodic_review. - وبدون ذلك، أو بدون
reference، تُقبل المراجعة لكنها تضيف تحذيرًا هوpolicy:periodic_review_unanchored: جرى تجاوز الهوية بناءً على قولك وحده.
فحوصك الخاصة
يتيحextra_checks دمج فحص أجريتَه بنفسك، كعميل مكرر أو قائمة حظر في قاعدة بياناتك، في الحكم ليتمكن من حجبه.
id وlabel وseverity (critical أو warning أو info) وpassed؛ أما detail فاختياري. المعرّف الذي يبدأ بـ eid: أو policy: مقصور على Sahl: يعود بصيغة partner:eid:... أو partner:policy:...، ويظهر ويمكنه الحجب، لكنه لا يحقق أبدًا متطلب eID في السياسة.
سجل Corporations Canada
بالنسبة إلىcorporation يقول المستشار إنها مؤسَّسة فيدراليًا (CBCA)، وعندما تفعّل السياسة ذلك (مفعّل افتراضيًا)، تبحث Sahl عن الشركة. ويحتوي registry حينئذ على السجل بعد توحيده، فتستطيع تعبئة بياناتك منه، وتقارنه فحوص registry: ببياناتك. وفي كل حالة أخرى يكون registry مساويًا null.
الحفظ
معreference يُحفظ الحكم في الحالة الخاصة بـ (مساحة العمل، البيئة، reference). وتُربط به المستندات التي جاء document_id الخاص بها من /extract. ولا يُلغي حكم جديد أبدًا حالة وضعها شخص (approved أو refused). ويُطلق webhook الحدث kyc.case_verified بعد إتمام الحفظ.
أمثلة
ملف محجوب
بطاقة وطنية منتهية الصلاحية تعطيpassed: false وإخفاقين حرجين، أحدهما من المستند والآخر من الملف الشخصي: