Saltar al contenido principal

Crear proceso

Este es el punto de entrada de toda integración Web & SDK. Su back-end lo llama para crear un proceso; su front-end usa los tokens devueltos para renderizar el iFrame, redirigir al usuario o inicializar un SDK nativo.

Para el flujo de integración completo, consulte Descripción general de Web & SDK.

Endpoint

EntornoURL
ProducciónPOST https://api.idcloud.unico.app/client/v1/process
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Solicitud

Encabezados
EncabezadoValor
AuthorizationBearer <access_token> (consulte Autenticación)
Content-Typeapplication/json
Parámetros del cuerpo
CampoTipoRequeridoDescripción
callbackUristringURL a la que se redirige al usuario después de que termina el recorrido. Use / para flujos de SDK nativo donde el callback se maneja dentro de la aplicación.
flowstringIdentificador del flujo: determina qué capacidades se ejecutan. Ejemplos: idunicodocs, idunicosign, idchecktrust, idtoken, idsmart. Consulte Flujos disponibles.
purposestringPropósito de negocio. Valores aceptados: creditprocess, biometryonboarding, carpurchase, ageverification.
person.duiTypeenumnoTipo de documento. Valores aceptados: 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.duiValuestringnoNúmero de documento, sin formato.
person.friendlyNamestringnoNombre para mostrar del usuario en la interfaz del recorrido. Máximo 50 caracteres.
person.phonestringnoNúmero de teléfono en formato DDI + DDD + número, sin separadores. Requerido al enviar notificaciones por SMS o WhatsApp.
person.emailstringnoDirección de correo electrónico. Requerido para flujos con Firma Electrónica.
person.notificationsarraynoCanales de notificación para enviar el enlace del recorrido. Cada elemento tiene notificationChannel: NOTIFICATION_CHANNEL_WHATSAPP, NOTIFICATION_CHANNEL_SMS o NOTIFICATION_CHANNEL_EMAIL.
bioTokenIdstring (UUID)condicionalObsoleto. Use references en su lugar. ID del proceso biométrico de referencia. Requerido para flujos de Validación 1:1 (idtoken, idtokentrust, idtokensign) y Revalidación Inteligente (idsmart).
referencesarraycondicionalEntradas de referencia para flujos de Validación 1:1 y Revalidación Inteligente, reemplazando bioTokenId. Cada elemento contiene referenceType (REFERENCE_TYPE_IMAGE_BASE64 o REFERENCE_TYPE_PROCESS_ID) y referenceContent (imagen codificada en base64 o UUID del proceso).
useCasestringcondicionalEscenario de Revalidación Inteligente. Requerido para idsmart. Ejemplos: USE_CASE_LOGIN, USE_CASE_IDENTITY_REVALIDATION_7_DAYS, USE_CASE_FIN_TRANSACTIONS.
clientReferencestringcondicionalIdentificador único del usuario en su sistema. Obligatorio para la capacidad Multi Cuentas. Único en su base, máximo de 256 caracteres, sin espacios.
companyBranchIdstring (UUID)noID de sucursal. Requerido solo si la cuenta de servicio tiene más de una sucursal asociada.
expiresInstringnoVentana de validez del proceso desde la creación. Formato: "3600s". Por defecto 7 días si se omite.
flow_configobjectnoAnulaciones de configuración por flujo.
flow_config.biometry_capture.enabled_back_camerabooleannoUsar la cámara trasera del dispositivo. No compatible con flujos de captura de documento o Firma Electrónica.
contextualizationobjectnoContexto de transacción mostrado al usuario durante el recorrido para explicar la captura.
contextualization.company_namestringnoNombre de la empresa mostrado durante el recorrido. Máximo 20 caracteres.
contextualization.currencystringnoCódigo de moneda mostrado al usuario. Valores aceptados: BRL, MXN, USD.
contextualization.pricenumbernoMonto de la transacción mostrado al usuario.
contextualization.localeobjectnoTexto localizado mostrado durante el recorrido. Claves: ptBr, enUs, esMx.
contextualization.locale.{ptBr|enUs|esMx}.reasonstringnoMotivo breve de la captura, mostrado durante el recorrido. Máximo 50 caracteres.
contextualization.locale.{ptBr|enUs|esMx}.titlestringnoTítulo del aviso al cliente mostrado durante el recorrido. Máximo 100 caracteres. Debe proporcionarse junto con text. Las etiquetas HTML son eliminadas.
contextualization.locale.{ptBr|enUs|esMx}.textstringnoCuerpo del aviso al cliente mostrado durante el recorrido. Máximo 210 caracteres. Debe proporcionarse junto con title. Las etiquetas HTML son eliminadas.

Ejemplo

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

Respuestas

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"
}
}
}
CampoTipoDescripción
process.idstring (UUID)Identificador del proceso. Úselo para obtener el resultado mediante Obtener proceso.
process.stateenumPROCESS_STATE_CREATED: proceso creado, recorrido aún no iniciado. PROCESS_STATE_FAILED: la creación del proceso falló.
process.flowstringIdentificador del flujo enviado en la creación.
process.purposestringPropósito de negocio enviado en la creación.
process.callbackUristringURI de callback enviada en la creación.
process.clientReferencestringSu identificador interno enviado en la creación. Solo presente si se proporcionó en la solicitud.
process.companyBranchIdstring (UUID)ID de sucursal. Solo presente si se proporcionó en la solicitud.
process.userRedirectUrlstringURL para redirigir al usuario (integraciones de Web Redirect e iFrame). No modifique esta URL.
process.tokenstringJWT para inicializar el iFrame del Web SDK.
process.webAppTokenstringJWT para inicializar SDKs nativos (Android, iOS, Flutter).
process.createdAtstring (date-time)Marca de tiempo de cuando se creó el proceso.
process.expiresAtstring (date-time)Marca de tiempo después de la cual el proceso expira y ya no puede completarse.
process.capacitiesarrayCapacidades configuradas para este proceso.
process.authenticationInfoobjectInformación de autenticación del proceso (vacía en el momento de la creación).
process.personobjectEco del objeto person enviado en la creación.
process.companyData.branchIdstring (UUID)ID de sucursal asociada al proceso.
process.companyData.countryCodestringCódigo de país asociado a la sucursal (por ejemplo, BR, MX).

Códigos de error

CódigoMensajeDescripción
3invalid flowCuando el flujo especificado no existe.
3invalid person: friendly name exceeds 50 characters.Cuando el nombre amigable excede los 50 caracteres.
3invalid purposeCuando el propósito proporcionado es inválido.
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:Cuando la callbackUri proporcionada es inválida.
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAILCuando el correo electrónico proporcionado es inválido y la notificación por correo está configurada.
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPPCuando el número de teléfono proporcionado es inválido y la notificación por SMS o WhatsApp está configurada.
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueCuando el identificador proporcionado (duiValue) es inválido.
3invalid expiresIn argumentCuando el valor de expiresIn es inválido.
3invalid company_name argument in process contextualization, max length is 20Cuando contextualization.company_name supera los 20 caracteres.
3title and text must be provided together in process contextsCuando solo se proporciona uno de los campos title o text en un locale.
3invalid title argument in process contexts, max length is 100Cuando el title de un locale supera los 100 caracteres.
3invalid text argument in process contexts, max length is 210Cuando el text de un locale supera los 210 caracteres.
3invalid reason argument in process contexts, max length is 50Cuando el reason de un locale supera los 50 caracteres.
9XX ID Apikeys are not setCuando la API Key no está correctamente configurada.

Qué sigue

  • Después de que el usuario finalice el recorrido, llame a Obtener proceso para obtener el resultado, o espere el webhook.
  • Para ver todas las combinaciones de recetas y sus valores de resultado posibles, consulte Flujos.