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

إنشاء عملية

تتعامل نقطة النهاية هذه مع حالتي استخدام تشتركان في نفس المسار لكنهما تختلفان في معاملات الجسم والإمكانيات وحقول الاستجابة:

  • التأهيل - يتحقق من هوية المستخدم عن طريق مقارنة وجهه مع قاعدة هويات Unico (مطلوب subject.duiType + subject.code).
  • المعاملات - يتحقق من أنه نفس الشخص من عملية سابقة عن طريق مقارنة وجه بوجه (مطلوب referenceProcessId أو مصفوفة references مع صورة سيلفي / معرّف عملية).

يتم تحديد حالة الاستخدام النشطة بواسطة APIKEY المرسل في ترويسة الطلب.

للاطلاع على تدفق التكامل الكامل، انظر نظرة عامة على API.

نقطة النهاية

البيئةالرابط
الإنتاجPOST https://api.id.unico.app/processes/v1
SandboxPOST https://api.id.uat.unico.app/processes/v1

الطلب

الترويسات
الترويسةالقيمة
AuthorizationBearer <access_token> (انظر المصادقة)
APIKEYمفتاح API المخصص - يحدد حالة الاستخدام النشطة والإمكانيات المفعّلة.
Content-Typeapplication/json
معاملات الجسم
الحقلالنوعمطلوبالوصف
subject.duiTypeintegerنعممعرّف نوع الوثيقة. انظر قيم duiType أدناه.
subject.codestringنعمقيمة المعرف كما هو محدد بواسطة subject.duiType. بدون نقاط أو شرطات.
subject.namestringلاالاسم الكامل.
subject.genderstringلاM أو F.
subject.birthDatestring (ISO 8601)لاتاريخ الميلاد (YYYY-MM-DD).
subject.emailstringلاعنوان البريد الإلكتروني.
subject.phonestringلارقم هاتف E.164.
useCasestringلاسياق العملية، مثلاً Onboarding.
subsidiaryIdstringلامعرف الفرع — مطلوب فقط إذا كانت هناك فروع متعددة.
imageBase64stringنعمصورة سيلفي ملتقطة بواسطة واجهتك الأمامية، بتنسيق base64.
قيم duiType
الدولةالرمزالوصف
BR1CPF البرازيلي
BR5جواز سفر برازيلي
MX2CURP المكسيكي
AR6جواز سفر أرجنتيني
AR7DNI الأرجنتيني
US4SSN الأمريكي
US11جواز سفر أمريكي
US18رخصة قيادة أمريكية
ID16NIK الإندونيسي
NG8NIN النيجيري
CL9RUN التشيلي
EC10NI الإكوادوري
GT12CUI الغواتيمالي
UY13CI الأوروغوياني
ZZ15عنوان البريد الإلكتروني
ZZ17رقم الهاتف
MX25RFC المكسيكي (شخص طبيعي)
CO26NIT الكولومبي
PE27RUC البيروفي
CA28SIN الكندي
DK29CPR الدنماركي
GB30رقم التأمين الوطني البريطاني (NINO)
PL31PESEL البولندي
SE32الرقم الشخصي السويدي (PNR)
AT34الرقم الضريبي النمساوي (STNR)
FI35رمز الهوية الشخصية الفنلندي (HETU)
0غير محدد
3معرّف Unico الداخلي
متطلبات الصورة
  • الدقة الدنيا: 640 × 480 (معيار HD)
  • الحجم الأقصى للملف: 800 KB (يُنصح بضغط JPEG92)
  • التنسيقات المقبولة: PNG، JPEG، WebP
  • رموز JWT من SDK تنتهي صلاحيتها بعد 10 دقائق ويمكن استخدامها مرة واحدة فقط

مثال

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"imageBase64": "/9j/4AAQSkZJR..."
}'

الاستجابات

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"riskLevel": { "result": "inconclusive" },
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"government": { "serpro": 87 },
"liveness": 1
}
تعتمد حقول الاستجابة على مفتاح APIKey الخاص بك

يعرض المثال أعلاه جميع حقول الإمكانيات الممكنة. ستتضمن استجابتك الفعلية فقط الحقول المتعلقة بالإمكانيات المفعّلة في إعدادات APIKey الخاصة بك — يتم حذف الحقول المتعلقة بالإمكانيات غير المفعّلة كلياً. تواصل مع مدير مشروع Unico لتفعيل الإمكانيات أو تعديلها.

الحقلالنوعالوصف
idstring (UUID)معرّف العملية. استخدمه مع الحصول على العملية لإعادة الاستعلام.
statusinteger1 (قيد المعالجة)، 3 (انتهت بنجاح)، 5 (خطأ).
unicoId.resultstringyes، no، inconclusive - انظر التحقق من الهوية.
riskLevel.resultstringapproved، reproved، risk-critical، risk-high، inconclusive — انظر القيم المحتملة أدناه أو تصنيف مخاطر الاحتيال.
idFace.resultstringFOUND, NOT_FOUND — انظر معرّف الوجه.
idFace.personIdstringمعرّف مستقر وغير شفاف للوجه. يظهر فقط عندما تكون idFace.result = FOUND.
identityFraudsters.resultstringمهجور. استخدم riskLevel بدلاً منه. يمكن للعملاء الذين لديهم عمليات تكامل جارية الاستمرار في استخدامه أثناء تنسيق الترحيل مع الفريق المسؤول عن المشروع.
government.serprointegerدرجة تشابه Serpro (0-100، -1، -2). متاح في البرازيل فقط. انظر عائد تشابه Serpro.
livenessinteger1 (نجح)، 2 (فشل) - انظر لايفنس.
riskLevel.result — القيم المحتملة
القيمةالمعنى
approvedهذا هو وجه صاحب الهوية، ولم يتم العثور على أي دليل يتعلق بالاحتيال.
reprovedيُوصى بالرفض، إذ تم اكتشاف مؤشرات احتيال متعددة.
risk-criticalيُوصى بالرفض، غير أن القرار النهائي يعود إلى تقديركم. تشير المخاطرة الحرجة إلى وجود ما لا يقل عن دليلين قويين على الاحتيال.
risk-highيُوصى بالرفض أيضاً، لكن القرار يبقى بيدكم. تشير المخاطرة العالية إلى وجود دليل قوي واحد على الأقل على الاحتيال.
inconclusiveلم يتم العثور على أدلة قوية على الاحتيال، وبالتالي لا يمكن استنتاج ما إذا كانت هناك مخاطرة ذات صلة أم لا.
معلومة

عندما يكون unicoId.result = inconclusive وتنسيق درجة المخاطر نشط، قد تُرجع العملية status: 1 (قيد المعالجة). استعلم عبر الحصول على العملية أو استخدم webhooks لاسترداد النتيجة النهائية.

400 Bad Request

الحمولة غير صحيحة، أو الصورة غير صالحة، أو الحقول المطلوبة مفقودة. انظر رموز الخطأ أدناه.

403 Forbidden

رمز Bearer أو APIKEY مفقود أو منتهي الصلاحية أو غير صالح. انظر المصادقة.

409 Conflict

processId المقدم موجود بالفعل لهذا المستأجر. انظر رموز الخطأ أدناه.

429 Too Many Requests

تم الوصول إلى حد المعدل. عندما يتلقى نظامك خطأ HTTP 429، يجب عليك تنفيذ آليات لمنع الأعطال المتتالية وتجنب تفاقم القيود.

أفضل الممارسات:

  • فترة التهدئة (backoff): أوقف أو قلل الطلبات اللاحقة من نظامك فوراً. لا تعيد محاولة الطلبات الفاشلة باستمرار في حلقة ضيقة.
  • التخزين المؤقت وتنظيم المعدل: قم بتخزين الطلبات الصادرة مؤقتاً أو وضعها في قائمة انتظار للتحكم في تدفق حركة المرور قبل إعادة إرسالها.
  • التراجع الأسي مع التشتيت: عند إعادة المحاولة، قم بزيادة وقت الانتظار بشكل أسي بين المحاولات (مثلاً 1 ث، 2 ث، 4 ث، 8 ث) وأضف تأخيراً عشوائياً صغيراً ("تشتيت") لمنع تأثير القطيع حيث تعيد جميع الطلبات المؤجلة المحاولة في نفس الميلي ثانية بالضبط.
تحذير

الاستمرار في الوصول إلى نقطة نهاية محدودة المعدل دون تراجع يمكن أن يطيل فترة التقييد ويؤثر بشدة على الإنتاجية التشغيلية لنظامك. تنظيم الطلبات بشكل صحيح من جانبك يضمن تكاملاً أكثر سلاسة ومرونة.

للحدود الافتراضية وزيادة الطلبات والتفاصيل الإضافية، انظر حدود المعدل.

رموز الخطأ

الرمزالرسالةالوصف
20900O base64 informado não é válido.معامل base64 غير صالح. الأسباب المحتملة: ليس صورة أو محاولة حقن.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.دقة الصورة المرفوعة منخفضة جداً.
20513The referenced process was not found.يشير referenceProcessId إلى عملية غير موجودة أو لم تعد متاحة.
20512The referenced process is not available for reuse.العملية المرجعية موجودة لكنها غير متاحة لإعادة الاستخدام.
20509The subject.name field is invalid.يحتوي subject.name على أحرف غير صالحة.
20508The subject.gender field is invalid.يجب أن يكون subject.gender هو M أو F.
20507O parâmetro subject.code é inválido.CPF غير قياسي أو غير موجود.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.حجم الصورة يتجاوز 800 KB؛ اضغط إلى JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.تنسيق base64 غير صالح أو غير مدعوم.
20065The referenceProcessId field is invalid.referenceProcessId ليس UUID صالحاً.
20062The useCase field is invalid.قيمة غير معروفة في حقل useCase.
20024The referenceProcessId field is missing.لم يتم تقديم معامل referenceProcessId ولم يتم إرسال references كبديل.
20021The subject.phone field is invalid.تنسيق subject.phone غير صالح (IDD + رمز المنطقة + الرقم، 13 حرف).
20019The subject.birthDate field is invalid.subject.birthDate خارج تنسيق ISO 8601 (YYYY-MM-DD).
20009O parâmetro imagebase64 não foi informado.معامل صورة السيلفي مفقود.
20008The subject.email field is invalid.تنسيق بريد إلكتروني غير صالح في subject.email.
20006O parâmetro subject.name não foi informado.معامل subject.name مفقود.
20005O parâmetro subject.code não foi informado.معامل subject.code مفقود.
20004O parâmetro subject não foi informado.معامل subject مفقود.
20003The request body is missing or invalid.حمولة فارغة أو غير صالحة.
20002O parâmetro APIKey não foi informado.معامل APIKEY مفقود من ترويسة الطلب.
20001O parâmetro authtoken não foi informado.معامل رمز التكامل مفقود من ترويسة الطلب.
10508The JWT with the captured face has already been used.يمكن استخدام JWT مرة واحدة فقط.
10507The JWT with the captured face is expired.انتهت صلاحية JWT؛ يجب إرساله خلال 10 دقائق.
10506The imageBase64 field is not a valid JWT from SDK.imageBase64 ليس JWT صالحاً تم إنشاؤه بواسطة SDK.

ما التالي

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