Aller au contenu principal

Créer un processus

C'est le point d'entrée de chaque intégration Web & SDK. Votre back-end l'appelle pour créer un processus ; votre front-end utilise les jetons retournés pour afficher l'iFrame, rediriger l'utilisateur ou initialiser un SDK natif.

Pour le flux d'intégration complet, voir Vue d'ensemble Web & SDK.

Endpoint

EnvironnementURL
ProductionPOST https://api.idcloud.unico.app/client/v1/process
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Requête

En-têtes
En-têteValeur
AuthorizationBearer <access_token> (voir Authentification)
Content-Typeapplication/json
Paramètres du corps
ChampTypeRequisDescription
callbackUristringouiURL vers laquelle l'utilisateur est redirigé après la fin du parcours. Utilisez / pour les flux SDK natifs où le rappel est géré dans l'application.
flowstringouiIdentifiant du flux -- détermine quelles capacités s'exécutent. Exemples : idunicodocs, idunicosign, idchecktrust, idtoken, idsmart. Voir Flux disponibles.
purposestringouiObjectif commercial. Valeurs acceptées : creditprocess, biometryonboarding, carpurchase, ageverification.
person.duiTypeenumnonType de document. Valeurs acceptées : DUI_TYPE_BR_CPF, DUI_TYPE_MX_CURP, DUI_TYPE_US_SSN, DUI_TYPE_BR_PASSPORT, DUI_TYPE_BR_CNPJ, DUI_TYPE_AR_PASSPORT, DUI_TYPE_AR_DNI, DUI_TYPE_AR_LNC, DUI_TYPE_NG_NIN, DUI_TYPE_CL_RUN, DUI_TYPE_CL_PASSPORT, DUI_TYPE_CL_LICENCIA_CONDUCIR, 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_US_PASSPORT_CARD, DUI_TYPE_US_POLYCARBONATE_PASSPORT, DUI_TYPE_US_ID_CARD, DUI_TYPE_NG_BVN, DUI_TYPE_NG_BVN_TOKEN, DUI_TYPE_NG_NIN_TOKEN, DUI_TYPE_MX_RFC_PERSONA_FISICA, DUI_TYPE_MX_LICENCIA_CONDUCIR, DUI_TYPE_CO_NIT, DUI_TYPE_CO_PASSPORT, DUI_TYPE_CO_LICENCIA_CONDUCCION, DUI_TYPE_CO_CC, DUI_TYPE_PE_RUC, DUI_TYPE_PE_DNI, DUI_TYPE_PE_PASSPORT, DUI_TYPE_CA_SIN, DUI_TYPE_DK_CPR, DUI_TYPE_GB_NINO, DUI_TYPE_PL_PESEL, DUI_TYPE_SE_PNR, DUI_TYPE_SE_SAMORDNINGSNUMMER, DUI_TYPE_AT_STNR, DUI_TYPE_CH_AHV, DUI_TYPE_FI_HETU, DUI_TYPE_NO_FNR, DUI_TYPE_DE_IDNR, DUI_TYPE_NL_BSN, DUI_TYPE_BE_NN, DUI_TYPE_IT_CF, DUI_TYPE_TR_TCKN, DUI_TYPE_PT_NIF, DUI_TYPE_FR_SPI, DUI_TYPE_IE_PPSN, DUI_TYPE_LU_MATRICULE, DUI_TYPE_ES_NIE, DUI_TYPE_ES_DNI.
person.duiValuestringnonNuméro de document, sans formatage.
person.friendlyNamestringnonNom d'affichage de l'utilisateur montré dans l'interface du parcours. Maximum 50 caractères.
person.phonestringnonNuméro de téléphone au format DDI + DDD + numéro, sans séparateurs. Requis lors de l'envoi de notifications par SMS ou WhatsApp.
person.emailstringnonAdresse e-mail. Requise pour les flux avec Signature Électronique.
person.notificationsarraynonCanaux de notification pour l'envoi du lien de parcours. Chaque élément a un notificationChannel : NOTIFICATION_CHANNEL_WHATSAPP, NOTIFICATION_CHANNEL_SMS ou NOTIFICATION_CHANNEL_EMAIL.
bioTokenIdstring (UUID)conditionnelDéprécié. Utilisez references à la place. ID du processus biométrique de référence. Requis pour les flux de Validation 1:1 (idtoken, idtokentrust, idtokensign) et de Revalidation intelligente (idsmart).
referencesarrayconditionnelEntrées de référence pour les flux de Validation 1:1 et de Revalidation intelligente, remplaçant bioTokenId. Chaque élément contient referenceType (REFERENCE_TYPE_IMAGE_BASE64 ou REFERENCE_TYPE_PROCESS_ID) et referenceContent (image encodée en base64 ou UUID de processus).
useCasestringconditionnelScénario de Revalidation intelligente. Requis pour idsmart. Exemples : USE_CASE_LOGIN, USE_CASE_IDENTITY_REVALIDATION_7_DAYS, USE_CASE_FIN_TRANSACTIONS.
clientReferencestringconditionnelIdentifiant unique de l'utilisateur dans votre système. Requis pour la capacité Multi-comptes. Unique dans votre base, maximum de 256 caractères, sans espaces.
companyBranchIdstring (UUID)nonID de succursale. Requis uniquement si le compte de service a plus d'une succursale associée.
expiresInstringnonFenêtre de validité du processus à partir de sa création. Format : "3600s". Par défaut 7 jours si omis.
flow_configobjectnonSurcharges de configuration par flux.
flow_config.biometry_capture.enabled_back_camerabooleannonUtiliser la caméra arrière de l'appareil. Non compatible avec les flux de capture de documents ou de Signature Électronique.
contextualizationobjectnonContexte de la transaction montré à l'utilisateur pendant le parcours pour expliquer la capture.
contextualization.company_namestringnonNom de l'entreprise affiché pendant le parcours. Maximum 20 caractères.
contextualization.currencystringnonCode de devise affiché à l'utilisateur. Valeurs acceptées : BRL, MXN, USD.
contextualization.pricenumbernonMontant de la transaction affiché à l'utilisateur.
contextualization.localeobjectnonTexte localisé affiché pendant le parcours. Clés : ptBr, enUs, esMx.
contextualization.locale.{ptBr|enUs|esMx}.reasonstringnonCourte raison de la capture, affichée pendant le parcours. Maximum 50 caractères.
contextualization.locale.{ptBr|enUs|esMx}.titlestringnonTitre de l'avis client affiché pendant le parcours. Maximum 100 caractères. Doit être fourni avec text. Les balises HTML sont supprimées.
contextualization.locale.{ptBr|enUs|esMx}.textstringnonCorps de l'avis client affiché pendant le parcours. Maximum 210 caractères. Doit être fourni avec title. Les balises HTML sont supprimées.

Exemple

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]"
}
}'

Réponses

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"
}
}
}
ChampTypeDescription
process.idstring (UUID)Identifiant du processus. Utilisez-le pour récupérer le résultat via Get Process.
process.stateenumPROCESS_STATE_CREATED -- processus créé, parcours non encore démarré. PROCESS_STATE_FAILED -- la création du processus a échoué.
process.flowstringIdentifiant du flux envoyé à la création.
process.purposestringObjectif commercial envoyé à la création.
process.callbackUristringURI de rappel envoyée à la création.
process.clientReferencestringVotre identifiant interne envoyé à la création. Présent uniquement s'il a été fourni dans la requête.
process.companyBranchIdstring (UUID)ID de succursale. Présent uniquement s'il a été fourni dans la requête.
process.userRedirectUrlstringURL pour rediriger l'utilisateur (intégrations Web Redirect et iFrame). Ne modifiez pas cette URL.
process.tokenstringJWT pour initialiser l'iFrame du Web SDK.
process.webAppTokenstringJWT pour initialiser les SDK natifs (Android, iOS, Flutter).
process.createdAtstring (date-time)Horodatage de la création du processus.
process.expiresAtstring (date-time)Horodatage après lequel le processus expire et ne peut plus être complété.
process.capacitiesarrayCapacités configurées pour ce processus.
process.authenticationInfoobjectInformations d'authentification du processus (vide au moment de la création).
process.personobjectÉcho de l'objet person envoyé à la création.
process.companyData.branchIdstring (UUID)ID de succursale associé au processus.
process.companyData.countryCodestringCode pays associé à la succursale (ex. BR, MX).

Codes d'erreur

CodeMessageDescription
3invalid flowLorsque le flux spécifié n'existe pas.
3invalid person: friendly name exceeds 50 characters.Lorsque le nom d'affichage dépasse 50 caractères.
3invalid purposeLorsque l'objectif fourni est invalide.
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:Lorsque le callbackUri fourni est invalide.
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAILLorsque l'e-mail fourni est invalide et que la notification par e-mail est configurée.
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPPLorsque le numéro de téléphone fourni est invalide et que la notification SMS ou WhatsApp est configurée.
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueLorsque l'identifiant fourni (duiValue) est invalide.
3invalid expiresIn argumentLorsque la valeur expiresIn est invalide.
3invalid company_name argument in process contextualization, max length is 20Lorsque contextualization.company_name dépasse 20 caractères.
3title and text must be provided together in process contextsLorsque seulement l'un de title ou text est fourni dans une locale.
3invalid title argument in process contexts, max length is 100Lorsque le title d'une locale dépasse 100 caractères.
3invalid text argument in process contexts, max length is 210Lorsque le text d'une locale dépasse 210 caractères.
3invalid reason argument in process contexts, max length is 50Lorsque le reason d'une locale dépasse 50 caractères.
9XX ID Apikeys are not setLorsque la clé API n'est pas correctement configurée.

Prochaines étapes

  • Après que l'utilisateur ait terminé le parcours, appelez Get Process pour récupérer le résultat, ou attendez le webhook.
  • Pour voir toutes les combinaisons de recettes et leurs valeurs de résultat possibles, voir Flux.