Saltar al contenido principal

Crear proceso

Este endpoint maneja dos casos de uso 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).

El caso de uso 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 caso de uso 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.
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
BR5Pasaporte brasileño
MX2CURP mexicano
AR6Pasaporte argentino
AR7DNI argentino
US4SSN de Estados Unidos
US11Pasaporte de Estados Unidos
US18Licencia de conducir de Estados Unidos
ID16NIK indonesio
NG8NIN nigeriano
CL9RUN chileno
EC10NI ecuatoriano
GT12CUI guatemalteco
UY13CI uruguayo
ZZ15Dirección de correo electrónico
ZZ17Número de teléfono
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)
AT34Número de impuesto austríaco (STNR)
FI35Código de identidad personal finlandés (HETU)
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
{
"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
idstring (UUID)Identificador del proceso. Use con Obtener proceso para re-consultas.
statusinteger1 (procesando), 3 (finalizado con éxito), 5 (error).
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, NOT_FOUND — consulte Identificador Facial.
idFace.personIdstringIdentificador opaco estable para el rostro. Presente solo cuando idFace.result = FOUND.
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.

400 Bad Request

El payload está malformado, la imagen es inválida o faltan campos requeridos. Consulte Códigos de error a continuación.

403 Forbidden

Token Bearer o APIKEY ausente, expirado o inválido. Consulte Autenticación.

409 Conflict

El processId proporcionado ya existe para este tenant. Consulte Códigos de error a continuación.

429 Too Many Requests

Límite de tasa alcanzado. Cuando su sistema recibe un error HTTP 429, debe implementar mecanismos para prevenir fallos en cascada y evitar empeorar la restricción.

Mejores prácticas:

  • Período de espera (backoff): Detenga o limite inmediatamente las solicitudes subsecuentes de su sistema. No reintente continuamente solicitudes fallidas en un bucle cerrado.
  • Cola y limitación: Almacene en buffer o encole las solicitudes salientes de su lado para controlar el flujo de tráfico antes de reenviarlas.
  • Backoff exponencial con jitter: Al reintentar, aumente el tiempo de espera exponencialmente entre intentos (por ejemplo, 1 s, 2 s, 4 s, 8 s) y agregue un pequeño retraso aleatorio ("jitter") para prevenir un efecto manada donde todas las solicitudes en cola reintentan en el mismo milisegundo.
advertencia

Golpear continuamente un endpoint con límite de tasa sin aplicar backoff puede prolongar el período de restricción e impactar severamente el rendimiento operativo de su sistema. Limitar adecuadamente las solicitudes de su lado asegura una integración más fluida y resiliente.

Para límites predeterminados, solicitudes de aumento y detalles adicionales, consulte Límites de tasa.

Códigos de error

CódigoMensajeDescripción
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.
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.
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 operaciones de Documento y Verificación de Edad, consulte las páginas respectivas en esta sección.