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

إنشاء عملية

هذه هي نقطة الدخول لكل تكامل مع الويب وSDK. يستدعيها الخادم الخلفي لإنشاء عملية؛ ويستخدم الواجهة الأمامية الرموز المُعادة لعرض iFrame، أو إعادة توجيه المستخدم، أو تهيئة SDK أصلي.

للاطلاع على تدفق التكامل الكامل، راجع نظرة عامة على الويب وSDK.

نقطة النهاية

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

الطلب

الترويسات
الترويسةالقيمة
AuthorizationBearer <access_token> (راجع المصادقة)
Content-Typeapplication/json
معاملات الجسم
الحقلالنوعمطلوبالوصف
callbackUristringنعمالرابط الذي يُعاد توجيه المستخدم إليه بعد انتهاء الرحلة. استخدم / لتدفقات SDK الأصلية حيث يُعالَج رد الاتصال داخل التطبيق.
flowstringنعممعرّف التدفق — يحدد القدرات التي ستُشغَّل. أمثلة: idunicodocs، idunicosign، idchecktrust، idtoken، idsmart. راجع التدفقات المتاحة.
purposestringنعمالغرض التجاري. القيم المقبولة: creditprocess، biometryonboarding، carpurchase، ageverification.
person.duiTypeenumنعمنوع الوثيقة. القيم المقبولة: DUI_TYPE_BR_CPF، DUI_TYPE_MX_CURP، DUI_TYPE_US_SSN، DUI_TYPE_BR_PASSPORT، DUI_TYPE_AR_PASSPORT، DUI_TYPE_AR_DNI، DUI_TYPE_NG_NIN، DUI_TYPE_CL_RUN، DUI_TYPE_EC_NI، DUI_TYPE_US_PASSPORT، DUI_TYPE_GT_CUI، DUI_TYPE_UY_CI، DUI_TYPE_ZZ_EMAIL، DUI_TYPE_ID_NIK، DUI_TYPE_ZZ_PHONE_NUMBER، DUI_TYPE_US_DRIVER_LICENSE، DUI_TYPE_NG_BVN.
person.duiValuestringنعمرقم الوثيقة، بدون تنسيق.
person.friendlyNamestringلاالاسم المعروض للمستخدم في واجهة الرحلة. الحد الأقصى 50 حرفًا.
person.phonestringلارقم الهاتف بتنسيق DDI + DDD + الرقم، بدون فواصل. مطلوب عند إرسال إشعارات عبر SMS أو WhatsApp.
person.emailstringلاعنوان البريد الإلكتروني. مطلوب للتدفقات التي تتضمن التوقيع الإلكتروني.
person.notificationsarrayلاقنوات الإشعارات لإرسال رابط الرحلة. كل عنصر يحتوي على notificationChannel: NOTIFICATION_CHANNEL_WHATSAPP، أو NOTIFICATION_CHANNEL_SMS، أو NOTIFICATION_CHANNEL_EMAIL.
bioTokenIdstring (UUID)مشروطمُهمَل. استخدم references بدلاً منه. معرّف عملية البيومترية المرجعية. مطلوب لتدفقات التحقق 1:1 (idtoken، idtokentrust، idtokensign) وإعادة التحقق الذكي (idsmart).
referencesarrayمشروطمدخلات مرجعية لتدفقات التحقق 1:1 وإعادة التحقق الذكي، تستبدل bioTokenId. كل عنصر يحتوي على referenceType (REFERENCE_TYPE_IMAGE_BASE64 أو REFERENCE_TYPE_PROCESS_ID) وreferenceContent (صورة مُرمَّزة بـ base64 أو UUID للعملية).
useCasestringمشروطحالة استخدام إعادة التحقق الذكي. مطلوب لـ idsmart. أمثلة: USE_CASE_LOGIN، USE_CASE_IDENTITY_REVALIDATION_7_DAYS، USE_CASE_FIN_TRANSACTIONS.
clientReferencestringلامعرّفك الداخلي لهذه العملية (مفتاح خارجي للإسناد المتقاطع في البوابة).
companyBranchIdstring (UUID)لامعرّف الفرع. مطلوب فقط إذا كان حساب الخدمة يرتبط بأكثر من فرع واحد.
expiresInstringلانافذة صلاحية العملية من وقت الإنشاء. التنسيق: "3600s". الافتراضي 7 أيام إذا لم يُحدَّد.
flow_configobjectلاتجاوزات تهيئة خاصة بكل تدفق.
flow_config.biometry_capture.enabled_back_camerabooleanلااستخدام الكاميرا الخلفية للجهاز. غير متوافق مع تدفقات التقاط الوثائق أو التوقيع الإلكتروني.
contextualizationobjectلاسياق المعاملة المعروض للمستخدم أثناء الرحلة لشرح عملية الالتقاط.
contextualization.currencystringلارمز العملة المعروض للمستخدم. القيم المقبولة: BRL، MXN، USD.
contextualization.pricenumberلامبلغ المعاملة المعروض للمستخدم.
contextualization.localeobjectلانص السبب المترجم. المفاتيح: ptBr، enUs، esMx — كل منها يحتوي على سلسلة reason تُعرض أثناء الرحلة.

مثال

curl -X POST https://api.idcloud.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"callbackUri": "https://app.client.com/callback",
"flow": "idunicodocs",
"purpose": "biometryonboarding",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]"
}
}'

الاستجابات

200 OK
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_CREATED",
"flow": "idunicosign",
"purpose": "biometryonboarding",
"callbackUri": "https://app.client.com/callback",
"clientReference": "your-internal-id-123",
"companyBranchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"userRedirectUrl": "https://cadastro.unico.app/process/53060f52-f146-4c12-a234-5bb5031f6f5b",
"token": "eyJhbGciOiJSUzI1NiIs...",
"webAppToken": "eyJhbGciOiJSUzI1NiIs...",
"createdAt": "2023-10-09T09:15:25.417105Z",
"expiresAt": "2023-10-09T16:15:25.417105Z",
"capacities": [],
"authenticationInfo": {},
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]",
"notifications": []
},
"companyData": {
"branchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"countryCode": "BR"
}
}
}
الحقلالنوعالوصف
process.idstring (UUID)معرّف العملية. استخدمه لجلب النتيجة عبر الحصول على العملية.
process.stateenumPROCESS_STATE_CREATED — تم إنشاء العملية، ولم تبدأ الرحلة بعد. PROCESS_STATE_FAILED — فشل إنشاء العملية.
process.flowstringمعرّف التدفق المُرسَل عند الإنشاء.
process.purposestringالغرض التجاري المُرسَل عند الإنشاء.
process.callbackUristringرابط رد الاتصال المُرسَل عند الإنشاء.
process.clientReferencestringمعرّفك الداخلي المُرسَل عند الإنشاء. يظهر فقط إذا تم تقديمه في الطلب.
process.companyBranchIdstring (UUID)معرّف الفرع. يظهر فقط إذا تم تقديمه في الطلب.
process.userRedirectUrlstringالرابط لإعادة توجيه المستخدم إليه (تكاملات إعادة التوجيه على الويب وiFrame). لا تعدّل هذا الرابط.
process.tokenstringJWT لتهيئة Web SDK iFrame.
process.webAppTokenstringJWT لتهيئة SDKs الأصلية (Android، iOS، Flutter).
process.createdAtstring (date-time)الطابع الزمني لإنشاء العملية.
process.expiresAtstring (date-time)الطابع الزمني الذي تنتهي بعده العملية ولا يمكن إكمالها.
process.capacitiesarrayالقدرات المُهيَّأة لهذه العملية.
process.authenticationInfoobjectمعلومات المصادقة للعملية (فارغة عند الإنشاء).
process.personobjectنسخة طبق الأصل من كائن person المُرسَل عند الإنشاء.
process.companyData.branchIdstring (UUID)معرّف الفرع المرتبط بالعملية.
process.companyData.countryCodestringرمز الدولة المرتبط بالفرع (مثلاً، BR، MX).
400 Bad Request

يُعاد هذا الرمز عندما يكون جسم الطلب مشوهاً، أو حقول مطلوبة مفقودة، أو قيمة flow غير معروفة.

401 Unauthorized

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

429 Too Many Requests

تم الوصول إلى حد معدل الطلبات. أعد المحاولة بعد الفترة المُشار إليها في ترويسات الاستجابة.

رموز الأخطاء

الرمزالرسالةالوصف
3invalid flowعندما لا يوجد التدفق المُحدَّد.
3invalid person: friendly name exceeds 50 characters.عندما يتجاوز الاسم المعروض 50 حرفاً.
3invalid purposeعندما يكون الغرض المُقدَّم غير صالح.
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:عندما يكون الـ callbackUri المُقدَّم غير صالح.
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAILعندما يكون البريد الإلكتروني المُقدَّم غير صالح وقناة إشعار البريد الإلكتروني مُفعَّلة.
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPPعندما يكون رقم الهاتف المُقدَّم غير صالح وقناة إشعار SMS أو WhatsApp مُفعَّلة.
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueعندما يكون المعرّف المُقدَّم (duiValue) غير صالح.
3invalid expiresIn argumentعندما تكون قيمة expiresIn غير صالحة.
9XX ID Apikeys are not setعندما لا يكون مفتاح API مُهيَّأً بشكل صحيح.

الخطوات التالية