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

إنشاء عملية

MarkdownChatGPTClaude

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

للتعرف على تدفق التكامل الكامل، راجع التدفقات.

النقطة النهائية​

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

الطلب​

Headers
Headerالقيمة
AuthorizationBearer <access_token> (راجع المصادقة)
Content-Typeapplication/json
معاملات الطلب (Body)
متطلبات الحقول تعتمد على التدفق

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

الحقلالنوعالوصف
callbackUristringعنوان URL الذي يُعاد توجيه المستخدم إليه بعد انتهاء الرحلة. استخدم / لتدفقات SDK الأصلي حيث يتم التعامل مع الاستدعاء داخل التطبيق.
flowstringمعرّف التدفق — يحدد الإمكانيات التي تعمل. أمثلة: idunicodocs، idunicosign، idchecktrust، idtoken، idsmart. راجع التدفقات المتاحة.
purposestringالغرض التجاري. القيم المقبولة: creditprocess، biometryonboarding، carpurchase، ageverification.
person.duiTypeenumنوع الوثيقة. راجع قيم duiType أدناه.
person.duiValuestringرقم الوثيقة، بدون تنسيق.
person.friendlyNamestringاسم العرض للمستخدم الظاهر في واجهة الرحلة. الحد الأقصى 50 حرفًا.
person.phonestringرقم الهاتف بصيغة رمز الدولة + رمز المنطقة + الرقم، بدون فواصل. مطلوب عند إرسال الإشعارات عبر SMS أو WhatsApp.
person.emailstringعنوان البريد الإلكتروني. مطلوب للتدفقات التي تتضمن التوقيع الإلكتروني.
person.​notificationsarrayقنوات الإشعارات لإرسال رابط الرحلة. يحتوي كل عنصر على notificationChannel: NOTIFICATION_CHANNEL_WHATSAPP، NOTIFICATION_CHANNEL_SMS، أو NOTIFICATION_CHANNEL_EMAIL.
referencesarrayمدخلات مرجعية لتدفقات التحقق 1:1 وإعادة التحقق الذكية. يحتوي كل عنصر على referenceType (‏REFERENCE_TYPE_IMAGE_BASE64 أو REFERENCE_TYPE_PROCESS_ID) وreferenceContent (صورة مُرمَّزة بـ base64 أو UUID للعملية). أرسل عنصرًا واحدًا كحد أقصى — تُرفض مصفوفة أطول برمز 400، ويجب ألا يكون referenceContent فارغًا.
useCasestringسيناريو إعادة التحقق الذكية. مطلوب لـ 🇧🇷 idsmart، idsmart_r2، idsmart_tp1. أمثلة: USE_CASE_LOGIN، USE_CASE_FIN_TRANSACTIONS.
clientReferencestringمعرّف فريد للمستخدم في نظامك. مطلوب لإمكانية حسابات متعددة. فريد في قاعدتك، بحد أقصى 256 حرفًا، بدون مسافات.
companyBranchIdstring (UUID)معرّف الفرع. مطلوب فقط إذا كان حساب الخدمة مرتبطًا بأكثر من فرع واحد.
expiresInstringنافذة صلاحية العملية من الإنشاء. الصيغة: "3600s". القيمة الافتراضية 7 أيام إذا لم تُحدَّد.
flowConfigobjectتجاوزات التهيئة الخاصة بكل تدفق.
flowConfig.​biometryCapture.​enabledBackCamerabooleanاستخدام الكاميرا الخلفية للجهاز. غير متوافق مع تدفقات التقاط الوثائق أو التوقيع الإلكتروني.
contextualizationobjectسياق المعاملة المعروض للمستخدم خلال الرحلة لتوضيح الالتقاط. متاح للعملاء في أي منطقة — لا يقتصر على بلد معين.
contextualization.​company_namestringاسم الشركة المعروض خلال الرحلة. الحد الأقصى 20 حرفًا.
contextualization.​currencystringرمز العملة المعروض للمستخدم. القيم المقبولة: BRL، MXN، USD.
contextualization.​pricenumberمبلغ المعاملة المعروض للمستخدم.
contextualization.​localeobjectالنص المُترجَم المعروض خلال الرحلة. المفاتيح: ptBr، enUs، esMx — وهذه هي اللغات الوحيدة المدعومة للنص، بغض النظر عن منطقة العميل.
contextualization.locale.{ptBr|enUs|esMx}.reasonstringسبب مختصر للالتقاط، يُعرض خلال الرحلة. الحد الأقصى 50 حرفًا.
contextualization.locale.{ptBr|enUs|esMx}.titlestringعنوان إشعار العميل المعروض خلال الرحلة. الحد الأقصى 100 حرف. يجب تقديمه مع text. تُحذف علامات HTML.
contextualization.locale.{ptBr|enUs|esMx}.textstringنص إشعار العميل المعروض خلال الرحلة. الحد الأقصى 210 حرفًا. يجب تقديمه مع title. تُحذف علامات HTML.
imageBase64stringالصورة الشخصية، مُرسَلة مباشرة. تقبل JWT الالتقاط الخاص بـ SDK.
document.purposeenumالغرض من الوثيقة. مفردات ثابتة: DOCUMENT_PURPOSE_ONBOARDING، DOCUMENT_PURPOSE_CREDIT_PROCESS، DOCUMENT_PURPOSE_CAR_PURCHASE، DOCUMENT_PURPOSE_PAY_BY_PAYCHECK، DOCUMENT_PURPOSE_FGTS. تُستخدم فقط مع تدفقات Face Document Match.
document.​files[].​databytesالتقاط وثيقة جديدة، مُرمَّز بـ base64. متاح عالميًا، وليس مقتصرًا على البرازيل. متعارض مع document.documentId.
document.documentIdstring (UUID)يعيد استخدام وثيقة تم التقاطها مسبقًا لنفس الشخص، بدلًا من التقاط جديد. متعارض مع document.files[].
expectedResultobjectيحاكي نتيجة إمكانية في بيئات الاختبار/sandbox ويضع علامة simulated: true على الاستجابة. راجع محاكاة النتائج (Test Mock).
قيم duiType
الدولةالقيمةالوصف
ARDUI_TYPE_AR_PASSPORTجواز سفر أرجنتيني
ARDUI_TYPE_AR_DNIDNI الأرجنتيني
ARDUI_TYPE_AR_LNCرخصة القيادة الأرجنتينية (Licencia Nacional de Conducir)
ATDUI_TYPE_AT_STNRالرقم الضريبي النمساوي (STNR)
BEDUI_TYPE_BE_NNالرقم الوطني البلجيكي (NN)
BRDUI_TYPE_BR_CPFCPF البرازيلي
BRDUI_TYPE_BR_PASSPORTجواز سفر برازيلي
BRDUI_TYPE_BR_CNPJCNPJ البرازيلي
CADUI_TYPE_CA_SINSIN الكندي
CHDUI_TYPE_CH_AHVرقم AHV/AVS السويسري
CLDUI_TYPE_CL_RUNRUN التشيلي
CLDUI_TYPE_CL_PASSPORTجواز سفر تشيلي
CLDUI_TYPE_CL_LICENCIA_CONDUCIRرخصة القيادة التشيلية (Licencia de Conducir)
CODUI_TYPE_CO_NITNIT الكولومبي
CODUI_TYPE_CO_PASSPORTجواز سفر كولومبي
CODUI_TYPE_CO_LICENCIA_CONDUCCIONرخصة القيادة الكولومبية (Licencia de Conducción)
CODUI_TYPE_CO_CCبطاقة المواطنة الكولومبية (Cédula de Ciudadanía)
DEDUI_TYPE_DE_IDNRرقم التعريف الضريبي الألماني (IdNr)
DKDUI_TYPE_DK_CPRCPR الدنماركي
ECDUI_TYPE_EC_NINI الإكوادوري
ESDUI_TYPE_ES_NIEرقم هوية الأجانب الإسباني (NIE)
ESDUI_TYPE_ES_DNIوثيقة الهوية الوطنية الإسبانية (DNI)
FIDUI_TYPE_FI_HETUرمز الهوية الشخصية الفنلندي (HETU)
FRDUI_TYPE_FR_SPIالرقم الضريبي المرجعي الفرنسي (SPI)
GBDUI_TYPE_GB_NINOرقم التأمين الوطني البريطاني (NINO)
GTDUI_TYPE_GT_CUICUI الغواتيمالي
IDDUI_TYPE_ID_NIKNIK الإندونيسي
IEDUI_TYPE_IE_PPSNرقم الخدمة العامة الشخصي الأيرلندي (PPSN)
ITDUI_TYPE_IT_CFCodice Fiscale الإيطالي (CF)
LKDUI_TYPE_LK_NICNIC سريلانكي
LUDUI_TYPE_LU_MATRICULEرقم الهوية الوطني اللوكسمبورغي (Matricule)
MXDUI_TYPE_MX_CURPCURP المكسيكي
MXDUI_TYPE_MX_RFC_PERSONA_FISICARFC المكسيكي (شخص طبيعي)
MXDUI_TYPE_MX_LICENCIA_CONDUCIRرخصة القيادة المكسيكية (Licencia de Conducir)
NGDUI_TYPE_NG_NINNIN النيجيري
NGDUI_TYPE_NG_BVNرقم التحقق المصرفي النيجيري (BVN)
NGDUI_TYPE_NG_BVN_TOKENرمز BVN النيجيري (مُجزّأ)
NGDUI_TYPE_NG_NIN_TOKENرمز NIN النيجيري (مُجزّأ)
NLDUI_TYPE_NL_BSNرقم خدمة المواطن الهولندي (BSN)
NODUI_TYPE_NO_FNRرقم الهوية الوطني النرويجي (Fødselsnummer)
PEDUI_TYPE_PE_RUCRUC البيروفي
PEDUI_TYPE_PE_DNIDNI البيروفي
PEDUI_TYPE_PE_PASSPORTجواز سفر بيروفي
PLDUI_TYPE_PL_PESELPESEL البولندي
PTDUI_TYPE_PT_NIFرقم التعريف الضريبي البرتغالي (NIF)
SEDUI_TYPE_SE_PNRالرقم الشخصي السويدي (PNR)
SEDUI_TYPE_SE_SAMORDNINGSNUMMERالرقم التنسيقي السويدي (Samordningsnummer)
TRDUI_TYPE_TR_TCKNرقم الهوية التركي (TCKN)
USDUI_TYPE_US_SSNSSN الأمريكي
USDUI_TYPE_US_PASSPORTجواز سفر أمريكي
USDUI_TYPE_US_DRIVER_LICENSEرخصة قيادة أمريكية
USDUI_TYPE_US_PASSPORT_CARDبطاقة جواز سفر أمريكية
USDUI_TYPE_US_POLYCARBONATE_PASSPORTجواز سفر أمريكي مصنوع من البولي كاربونات
USDUI_TYPE_US_ID_CARDبطاقة هوية أمريكية
UYDUI_TYPE_UY_CICI الأوروغوياني
ZZDUI_TYPE_ZZ_EMAILعنوان البريد الإلكتروني
ZZDUI_TYPE_ZZ_PHONE_NUMBERرقم الهاتف
إنشاء عملية بدون وثيقة

عندما يسمح التدفق بوثيقة اختيارية، يمكنك حذف person.duiType وperson.duiValue. بعد الالتقاط، تنتظر العملية في الحالة AWAITING_FOR_DOCUMENT حتى ترسل الواجهة الخلفية (back-end) الخاصة بك الوثيقة باستخدام تعيين وثيقة العملية.

مثال​

curl -X POST https://api.idcloud.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"flow": "idunicodocs_r2",
"purpose": "biometryonboarding",
"clientReference": "pedido-88216",
"callbackUri": "https://your-app.example.com/onboarding/callback",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909"
}
}'

الاستجابات​

200 OK
{
"process": {
"id": "b7c1f0a2-63d4-4f3e-9a17-2c8e5d41b0aa",
"flow": "idunicodocs_r2",
"state": "PROCESS_STATE_CREATED",
"result": "PROCESS_RESULT_UNSPECIFIED",
"purpose": "biometryonboarding",
"clientReference": "pedido-88216",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909"
},
"capacities": [
"PROCESS_CAPACITY_IDLIVE",
"PROCESS_CAPACITY_IDUNICO",
"PROCESS_CAPACITY_IDDOCS"
],
"authenticationInfo": {
"authenticationId": ""
},
"companyData": {
"branchId": "",
"countryCode": "BRA"
},
"callbackUri": "https://your-app.example.com/onboarding/callback",
"userRedirectUrl": "https://cadastro.unico.app/flow?id=b7c1f0a2-63d4-4f3e-9a17-2c8e5d41b0aa",
"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…",
"webAppToken": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0…",
"simulated": false
}
}
الحقلالنوعالوصف
process.idstring (UUID)معرّف العملية. استخدمه لجلب النتيجة عبر الحصول على العملية.
process.stateenumPROCESS_STATE_CREATED — تم إنشاء العملية، ولم تبدأ الرحلة بعد. PROCESS_STATE_FAILED — فشل إنشاء العملية.
process.resultenumنتيجة التحقق. موجودة فقط عندما تكون state = PROCESS_STATE_FINISHED — راجع التدفقات لمعرفة قيم النتائج التي يمكن أن يُعيدها تدفق معيّن.
process.flowstringمعرّف التدفق المرسَل عند الإنشاء.
process.purposestringالغرض التجاري المرسَل عند الإنشاء.
process.callbackUristringعنوان URI لإعادة الاتصال المرسَل عند الإنشاء.
process.​clientReferencestringمعرّفك الداخلي المرسَل عند الإنشاء. موجود فقط إذا قُدِّم في الطلب.
process.​companyBranchIdstring (UUID)معرّف الفرع. موجود فقط إذا قُدِّم في الطلب.
process.​userRedirectUrlstringعنوان URL لإعادة توجيه المستخدم إليه (تكاملات Web Redirect و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).

رموز الأخطاء​

الرمزالرسالةالوصف
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 غير صالحة.
3invalid company_name argument in process contextualization, max length is 20عندما يتجاوز contextualization.​company_name 20 حرفًا.
3title and text must be provided together in process contextsعندما يُقدَّم فقط أحد title أو text في لغة معيّنة.
3invalid title argument in process contexts, max length is 100عندما يتجاوز title الخاص بلغة معيّنة 100 حرف.
3invalid text argument in process contexts, max length is 210عندما يتجاوز text الخاص بلغة معيّنة 210 حرفًا.
3invalid reason argument in process contexts, max length is 50عندما يتجاوز reason الخاص بلغة معيّنة 50 حرفًا.
3The references array must contain at most one element.عندما يُرسَل أكثر من عنصر واحد في references.
3The references[].referenceContent field is missing.عندما يكون referenceContent فارغًا.
3The references[].referenceType field must be IMAGE_BASE64 or PROCESS_ID.عندما لا يكون referenceType أحد القيم المدعومة.
3A reference is required for this flow.عندما يتطلب التدفق مرجعًا ولم يُرسَل أي مرجع. أرسل references[0] مع referenceType بقيمة PROCESS_ID أو IMAGE_BASE64.
9The referenceProcessId field is invalid.عندما لا تكون العملية المرجعية موجودة أو لا يمكن إعادة استخدامها. يذكر الحقل الذي أرسلته — bioTokenId إذا كان هذا هو الحقل الذي أرسلته.
3INVALID_IMAGEعندما تكون الصورة بصيغة base64 غير صالحة، أو تبدو كمحاولة حقن.
3INVALID_DUIعندما يكون رقم الوثيقة غير قياسي أو غير موجود.
3IMAGE_TOO_LARGEعندما تتجاوز الصورة الحد الأقصى للحجم البالغ 800 كيلوبايت.
3UNSUPPORTED_IMAGE_FORMATعندما لا تكون صيغة الصورة PNG أو JPEG أو WebP.
3MISSING_IMAGEعندما تكون الصورة مطلوبة لهذا التدفق ولم تُرسَل.
3MISSING_NAMEعندما يكون الاسم مطلوبًا لهذا التدفق ولم يُرسَل.
3MISSING_DUIعندما يكون رقم الوثيقة مطلوبًا لهذا التدفق ولم يُرسَل.
3MISSING_PERSONعندما يكون كائن person مطلوبًا لهذا التدفق ولم يُرسَل.
3INVALID_REQUESTعندما يكون نص الطلب فارغًا (null) أو لا يمكن تفسيره.
3TOKEN_ALREADY_USEDعندما يكون رمز الالتقاط قد استُخدم من قبل. فهو للاستخدام مرة واحدة.
3TOKEN_EXPIREDعندما تنتهي صلاحية رمز الالتقاط. يجب استخدامه في غضون 10 دقائق.
3INVALID_BUNDLEعندما لا يستوفي الطلب متطلبات الأمان.
3INVALID_NAMEعندما يكون الاسم أطول من الحد الأقصى المسموح به.
3INVALID_EMAILعندما يكون عنوان البريد الإلكتروني مشوّهًا أو طويلًا جدًا.
3INVALID_PHONEعندما يكون رقم الهاتف أطول من 20 حرفًا.
3INVALID_DUI_TYPEعندما لا يكون نوع الوثيقة أحد القيم المدعومة.
3INVALID_CLIENT_REFERENCEعندما يكون clientReference طويلًا جدًا، أو يحتوي على مسافة أو #.
3INVALID_CONSENT_TYPEعندما لا تكون consentType هي NONE أو DIRECT أو INDIRECT.
3INVALID_USE_CASEعندما لا يكون useCase معروفًا، أو يكون طويلًا جدًا.
3INVALID_DEVICE_TRUST_TOKENعندما يكون رمز device-trust غير صالح أو تم استخدامه من قبل.
3TOO_MANY_REFERENCESعندما يُرسَل أكثر من عنصر واحد في references.
3INVALID_REFERENCE_TYPEعندما لا يكون referenceType هو IMAGE_BASE64 أو PROCESS_ID.
3INVALID_REFERENCE_PROCESSعندما لا يكون معرّف العملية المرجعية معرّفًا صالحًا.
3REFERENCE_PROCESS_NOT_FOUNDعندما لا تكون العملية المُشار إليها موجودة.
3REFERENCE_PROCESS_NOT_READYعندما لا تحتوي العملية المُشار إليها على نتيجة قابلة لإعادة الاستخدام، أو تم استخدامها من قبل.
3REFERENCE_SELFIE_NOT_FOUNDعندما لا تحمل العملية المُشار إليها صورة شخصية لإعادة استخدامها.
3INVALID_CAPTURE_TOKENعندما لا تكون الصورة المُلتقَطة رمزًا صالحًا نتج عن SDK التقاط.
3INVALID_CAPTURE_SIGNATUREعندما لا يتحقق توقيع رمز الالتقاط.
3PRIOR_CAPTURE_NOT_FOUNDعندما لا يمكن تحديد الالتقاط السابق الذي يبني عليه هذا الطلب. أعد بدء العملية.
3PRIOR_CAPTURE_IN_PROGRESSعندما لا يكون الالتقاط السابق قد انتهى بعد. أعد المحاولة بعد قليل.
3PRIOR_CAPTURE_FAILEDعندما لا يمكن إكمال الالتقاط السابق. أعد بدء العملية.
3INVALID_DOCUMENTعندما يكون ملف الوثيقة غير قابل للقراءة، أو محميًا بكلمة مرور، أو بصيغة غير مدعومة.
3INVALID_AUTH_PROCESSعندما يكون document.authProcessId غير صالح، أو منتهي الصلاحية، أو يخص شخصًا آخر.
3INVALID_DOCUMENT_PURPOSEعندما لا يكون document.purpose أحد القيم المدعومة.
3PROCESS_REUSE_NOT_ENABLEDعندما لا يسمح التدفق بإعادة استخدام عملية سابقة بدون صورة. أرسل صورة بدلًا من ذلك.
9PROCESS_FAILEDعندما تصل العملية إلى فشل نهائي خلال الإنشاء.
9Tenant API key is not configuredعندما لا يكون مفتاح API مُهيَّأً بشكل صحيح.

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