Saltar al contenido principal

Crear proceso

Este endpoint maneja tres productos que comparten la misma ruta pero difieren en parámetros del cuerpo, capacidades y campos de respuesta:

  • Registro - valida quién es el usuario comparando su rostro con la base de identidad de Unico (subject.duiType + subject.code requerido).
  • Transaccional - verifica que es la misma persona de un proceso anterior comparando rostro con rostro (referenceProcessId O array references con selfie / ID de proceso requerido).
  • Cardholder Verification - confirma que una tarjeta pertenece a su titular declarado, sin ninguna captura de selfie (subject.code + card requerido). Opcionalmente reutiliza un proceso previamente validado mediante referenceProcessId para activar la validación de reutilización; sin él, la respuesta usa por defecto el resultado unsure. Consulte la capacidad Cardholder Verification.

El producto activo se determina por la APIKEY enviada en el encabezado de la solicitud.

Para el flujo de integración completo, consulte Descripción general de la API.

Endpoint

EntornoURL
ProducciónPOST https://api.id.unico.app/processes/v1
SandboxPOST https://api.id.uat.unico.app/processes/v1

Solicitud

Encabezados
EncabezadoValor
AuthorizationBearer <access_token> (consulte Autenticación)
APIKEYClave API provisionada: define el producto activo y las capacidades habilitadas.
Content-Typeapplication/json
Parámetros del cuerpo
CampoTipoRequeridoDescripción
subject.duiTypeintegerIdentificador del tipo de documento. Consulte valores de duiType a continuación.
subject.codestringValor del identificador según lo definido por subject.duiType. Sin puntos ni guiones.
subject.namestringnoNombre completo.
subject.genderstringnoM o F.
subject.birthDatestring (ISO 8601)noFecha de nacimiento (YYYY-MM-DD).
subject.emailstringnoDirección de correo electrónico.
subject.phonestringnoNúmero de teléfono E.164.
subject.clientReferencestringcondicionalIdentificador único del usuario en su sistema. Obligatorio para la capacidad Multi Cuentas. Único en su base, máximo de 256 caracteres, sin espacios.
useCasestringnoContexto de la operación, por ejemplo, Onboarding.
subsidiaryIdstringnoID de sucursal — requerido solo si existen múltiples sucursales.
imageBase64stringSelfie capturado por su front-end, en base64.
Valores de duiType
PaísCódigoDescripción
BR1CPF brasileño
MX2CURP mexicano
US4SSN de Estados Unidos
BR5Pasaporte brasileño
AR6Pasaporte argentino
AR7DNI argentino
NG8NIN nigeriano
CL9RUN chileno
EC10NI ecuatoriano
US11Pasaporte de Estados Unidos
GT12CUI guatemalteco
UY13CI uruguayo
BR14CNPJ brasileño
ZZ15Dirección de correo electrónico
ID16NIK indonesio
ZZ17Número de teléfono
US18Licencia de conducir de Estados Unidos
NG20Número de Verificación Bancaria nigeriano (BVN)
US21Tarjeta de pasaporte de Estados Unidos
US22Pasaporte de policarbonato de Estados Unidos
US23Tarjeta de identificación de Estados Unidos
TR24Número de Identificación turco (TCKN)
MX25RFC mexicano (Persona Física)
CO26NIT colombiano
PE27RUC peruano
CA28SIN canadiense
DK29CPR danés
GB30Número de Seguro Nacional británico (NINO)
PL31PESEL polaco
SE32Número personal sueco (PNR)
CH33Número AHV/AVS suizo
AT34Número de impuesto austríaco (STNR)
FI35Código de identidad personal finlandés (HETU)
BE36Número Nacional belga (NN)
IT37Código Fiscal italiano (CF)
SE38Número de Coordinación sueco (Samordningsnummer)
NO39Número de Identidad Nacional noruego (Fødselsnummer)
PE40DNI peruano
DE41Número de Identificación Fiscal alemán (IdNr)
NL42Número de Servicio al Ciudadano holandés (BSN)
NG43Token BVN nigeriano (hash)
NG44Token NIN nigeriano (hash)
PT45Número de Identificación Fiscal portugués (NIF)
FR46Número de Referencia Fiscal francés (SPI)
IE47Número de Seguro Social Personal irlandés (PPSN)
LU48Número de Identificación Nacional de Luxemburgo (Matricule)
AR49Licencia de conducir argentina (Licencia Nacional de Conducir)
ES50Número de Identidad de Extranjero español (NIE)
ES51Documento Nacional de Identidad español (DNI)
CL52Pasaporte chileno
CO53Pasaporte colombiano
PE54Pasaporte peruano
CO55Licencia de conducir colombiana (Licencia de Conducción)
CO56Cédula de Ciudadanía colombiana (Cédula de Ciudadanía)
CL57Licencia de conducir chilena (Licencia de Conducir)
MX58Licencia de conducir mexicana (Licencia de Conducir)
0No especificado
3Identificador interno de Unico
Requisitos de imagen
  • Resolución mínima: 640 x 480 (estándar HD)
  • Tamaño máximo de archivo: 800 KB (se recomienda compresión JPEG92)
  • Formatos aceptados: PNG, JPEG, WebP
  • Los tokens JWT del SDK expiran después de 10 minutos y solo pueden usarse una vez

Ejemplo

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

Respuestas

200 OK

El contrato es único — el campo idCloud.result contiene el veredicto consolidado de las capacidades utilizadas.

Unico consolida los resultados de las capacidades ejecutadas en un único idCloud.result, listo para decidir el siguiente paso de su flujo — sin necesidad de orquestar resultados individuales.

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
CampoTipoDescripción
idstring (UUID)Identificador del proceso. Use con Obtener proceso para re-consultas.
statusinteger1 (procesando), 3 (finalizado con éxito), 5 (error).
Valores de resultado posibles
idCloud.resultMeaningRecommended action
approvedReal person and validated identity.Proceed with the flow.
deniedIdentity not validated, liveness check failed, or extreme risk identified.End the flow or redirect to an alternative flow.
critical-riskCritical risk level identified.End the flow or route to manual review.
high-riskHigh risk level identified.Route to manual review or an alternative flow.
retryInsufficient capture or score to evaluate.Ask the user for a new capture.
inconclusiveNot enough evidence for a verdict.Route to manual review or an alternative flow.

Los valores devueltos dependen de la receta configurada en su APIKey. Consulte Flujos para conocer los valores de resultado que puede devolver cada receta.

BrazilLos clientes en Brasil pueden recibir la respuesta por capacidad

La estructura general de la respuesta se mantiene igual — el resultado único es el valor predeterminado.

Las integraciones en Brasil pueden recibir los resultados abiertos por capacidad. Cada capacidad habilitada en la APIKey agrega su propio bloque a la respuesta — los campos de las capacidades deshabilitadas se omiten.

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": {
"result": "yes"
},
"riskLevel": {
"result": "inconclusive"
},
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"government": {
"serpro": 87
},
"liveness": 1
}
Los campos de respuesta dependen de tu APIKey

El ejemplo anterior muestra todos los campos de capacidad posibles. Tu respuesta real solo incluirá los campos correspondientes a las capacidades habilitadas en la configuración de tu APIKey — los campos de capacidades deshabilitadas se omiten por completo. Contacta a tu gestor de proyecto de Unico para habilitar o ajustar las capacidades.

CampoTipoDescripción
unicoId.resultstringyes, no, inconclusive - consulte Verificación de Identidad.
riskLevel.resultstringapproved, reproved, risk-critical, risk-high, inconclusive — consulte los valores posibles a continuación o Clasificación de Riesgo de Fraude.
idFace.resultstringFOUND — consulte Identificador Facial.
idFace.personIdstringIdentificador opaco estable para el rostro, devuelto junto con idFace.result = FOUND. Cuando no se puede identificar ningún rostro en la imagen, la solicitud falla con el error 20532 en lugar de devolver un bloque idFace.
identityFraudsters.resultstringObsoleto. Use riskLevel en su lugar. Los clientes con integraciones en curso pueden seguir usándolo mientras coordinan la migración con el equipo responsable del proyecto.
government.serprointegerPuntuación de similitud Serpro (0-100, -1, -2). Disponible solo en Brasil. Consulte Retorno de Similitud Serpro.
livenessinteger1 (aprobado), 2 (fallido) - consulte Detección de Vida.
riskLevel.result — valores posibles
ValorSignificado
approvedEs el rostro del titular del ID y no se encontró ninguna evidencia relacionada con fraude.
reprovedSe recomienda el rechazo, ya que se detectaron múltiples indicadores de fraude.
risk-criticalSe recomienda el rechazo, pero la decisión final queda a su criterio. El riesgo crítico indica que se encontraron al menos 2 evidencias sólidas de fraude.
risk-highTambién se recomienda el rechazo, pero la decisión es suya. El riesgo alto indica que se encontró al menos una evidencia sólida de fraude.
inconclusiveNo se encontraron evidencias sólidas de fraude. Por lo tanto, no es posible concluir si existe un riesgo relevante o no.
información

Cuando unicoId.result = inconclusive y la orquestación de Score de Riesgo está activa, el proceso puede devolver status: 1 (procesando). Consulte Obtener proceso o use webhooks para recuperar el resultado final.

Códigos de error

CódigoMensajeDescripción
40221This flow does not support reusing a prior process (referenceProcessId or bioTokenId) without an image; send an image (imageBase64, or references[0] with type IMAGE_BASE64) instead.El flujo de reutilización (referenceProcessId/bioTokenId, sin imagen) fue rechazado porque la reutilización de procesos no está habilitada para esta API key.
20900O base64 informado não é válido.El parámetro base64 es inválido. Posibles causas: no es una imagen o es un intento de inyección.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.La resolución de la imagen cargada es demasiado baja.
20532No face detected in image.No se pudo detectar ningún rostro en la imagen enviada.
20513The referenced process was not found.El referenceProcessId apunta a un proceso que no existe o ya no es accesible.
20512The referenced process is not available for reuse.El proceso referenciado existe pero no está disponible para reutilización.
20509The subject.name field is invalid.subject.name contiene caracteres inválidos.
20508The subject.gender field is invalid.subject.gender debe ser M o F.
20507O parâmetro subject.code é inválido.CPF no estándar o inexistente.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.El tamaño de la imagen excede 800 KB; comprima a JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.El formato base64 es inválido o no compatible.
20065The referenceProcessId field is invalid.El referenceProcessId no es un UUID válido.
20062The useCase field is invalid.Valor no reconocido en el campo useCase.
20024The referenceProcessId field is missing.No se proporcionó el parámetro referenceProcessId y no se envió references como alternativa. No aplica a Cardholder Verification — su referenceProcessId nunca se valida como obligatorio; una condición de reutilización no satisfecha responde unsure en su lugar.
20533The card field is missing.Cardholder Verification: no se proporcionó el objeto card.
20534The card.bin field is missing.Cardholder Verification: no se proporcionó card.bin.
20535The card.last4 field is missing.Cardholder Verification: no se proporcionó card.last4.
20536The card data is invalid.Cardholder Verification: los datos de la tarjeta fueron rechazados como inválidos.
20021The subject.phone field is invalid.Formato de subject.phone inválido (IDD + código de área + número, 13 caracteres).
20019The subject.birthDate field is invalid.subject.birthDate está fuera del formato ISO 8601 (YYYY-MM-DD).
20009O parâmetro imagebase64 não foi informado.Falta el parámetro de imagen selfie.
20008The subject.email field is invalid.Formato de correo electrónico inválido en subject.email.
20006O parâmetro subject.name não foi informado.Falta el parámetro subject.name.
20005O parâmetro subject.code não foi informado.Falta el parámetro subject.code.
20004O parâmetro subject não foi informado.Falta el parámetro subject.
20003The request body is missing or invalid.Payload nulo o inválido.
20002O parâmetro APIKey não foi informado.Falta el parámetro APIKEY en el encabezado de la solicitud.
20001O parâmetro authtoken não foi informado.Falta el parámetro del token de integración en el encabezado de la solicitud.
10508The JWT with the captured face has already been used.El JWT solo puede usarse una vez.
10507The JWT with the captured face is expired.JWT expirado; debe enviarse dentro de 10 minutos.
10506The imageBase64 field is not a valid JWT from SDK.El imageBase64 no es un JWT válido generado por el SDK.

Qué sigue

  • Para consultar el resultado de un proceso de Registro, consulte Obtener proceso.
  • Para ver todas las combinaciones de recetas y sus valores de resultado posibles, consulte Flujos.
  • Para operaciones de Documento y Verificación de Edad, consulte las páginas respectivas en esta sección.