Saltar al contenido principal

Crear Proceso de Documento

Este endpoint gestiona dos flujos de documentos que comparten la misma ruta pero difieren en los parámetros del cuerpo:

  • Nueva captura — envía imagen(es) del documento en base64 para su procesamiento (se requiere document.files).
  • Reutilización — omite la captura referenciando un documento capturado previamente (se requiere document.documentId).

El flujo activo se determina según si se proporciona document.documentId en el cuerpo de la solicitud.

Antes de crear un proceso de documento, usa Obtener Documentos Reutilizables para verificar si el usuario ya tiene un documento disponible para reutilización.

Para el flujo de integración completo, consulta 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

Headers
HeaderValor
AuthorizationBearer <access_token> (ver Autenticación)
APIKEYClave de API aprovisionada con Captura y Reutilización de Documentos habilitada.
Content-Typeapplication/json
Body parameters
CampoTipoObligatorioDescripción
subject.duiTypeintegerIdentificador del tipo de documento. Consulte valores de duiType a continuación.
subject.codestringValor del identificador del usuario según 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 en formato E.164.
document.purposestringPropósito del negocio. Valores: creditprocess, carpurchase, paybypaycheck, onboarding, fgts.
document.authProcessIdstringID del proceso biométrico vinculado a esta captura de documento.
document.filesarrayImágenes del documento en base64 (frente y/o dorso).
document.files[].datastringImagen del documento en base64 (PNG, JPEG o WebP, máx. 800 KB).
subsidiaryIdstringnoID de sucursal — requerido solo si existen múltiples sucursales.
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

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"
},
"document": {
"purpose": "onboarding",
"authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"files": [
{ "data": "/9j/4AAQSkZJR..." }
]
}
}'

Respuestas

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"document": {
"id": "doc-abc-123",
"type": "unico.moja.dictionary.br.cnh.v2.Cnh",
"cpfMatch": true,
"faceMatch": true,
"content": {
"numero": "12345678",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "2000-05-20T00:00:00Z",
"categoria": "B",
"dataExpiracao": "2030-05-20T00:00:00Z"
},
"fileUrls": [
"https://storage.unico.app/documents/doc-abc-123/front.jpg"
]
}
}
CampoTipoDescripción
idstring (UUID)Identificador del proceso.
statusinteger3 (finalizado con éxito), 5 (finalizado con falla).
document.idstringIdentificador del documento capturado. Usa este valor en futuros pedidos document.documentId para reutilización.
document.typestringTipo de documento identificado, como un nombre de diccionario completamente cualificado. Consulta los valores de document.type a continuación.
document.cpfMatchbooleantrue si el identificador extraído del documento coincide con subject.code.
document.faceMatchbooleantrue si el rostro del documento coincide con el selfie biométrico de document.authProcessId.
document.contentobjectCampos extraídos por OCR. La estructura varía según el tipo de documento — haz clic aquí para ver los detalles de los campos.
document.fileUrlsarrayURLs temporales (validez de 10 minutos) para descargar las imágenes del documento.

Solo los campos extraídos exitosamente están presentes en document.content; todo lo que el OCR no pudo leer se omite en lugar de devolverse vacío.

Valores de document.type
Esquema unificado

Todos los tipos de documento que usan el esquema unificado — unified_schema en la referencia de campos — se reportan en document.type como unico.moja.dictionary.<country>.generic.v1.<DocumentType>, donde <country> es el código ISO 3166-1 alpha-2 en minúsculas y <DocumentType> el tipo identificado. Por ejemplo:

  • unico.moja.dictionary.ar.generic.v1.IdCard: Documento de identidad argentino
  • unico.moja.dictionary.us.generic.v1.PolycarbonatePassport: Pasaporte de policarbonato de EE. UU.
Esquemas específicos

Los tipos de documento que usan su propio esquema de campos — listados en specific_document_schemas en la referencia de campos — se muestran en la tabla siguiente:

PaísValorDocumento
BRunico.moja.dictionary.br.rg.v2.RgRG
BRunico.moja.dictionary.br.cnh.v2.CnhCNH (licencia de conducir)
BRunico.moja.dictionary.br.cin.v1.CinCIN
BRunico.moja.dictionary.br.passaporte.v1.PassaportePasaporte
MXunico.moja.dictionary.mx.ine.v1.IneCredencial para votar del INE
MXunico.moja.dictionary.mx.lpc.v1.LpcLicencia para conducir
MXunico.moja.dictionary.mx.pasaporte.v1.PasaportePasaporte
unico.moja.dictionary.other.unknown.v1.UnknownNo se pudo identificar el tipo — document.content está vacío

No se realiza ninguna extracción de OCR y no se reporta ningún campo cuando document.type es unico.moja.dictionary.other.unknown.v1.Unknown.

Códigos de Error

CódigoMensajeDescripción
99989The document is invalid.El objeto document tiene una estructura inválida.
99988The document is empty.El objeto document no está presente en el cuerpo de la solicitud.
20900O base64 informado não é válido.El parámetro base64 es inválido. Causas posibles: 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.
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.Valor de identificador no estándar o inexistente.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.El tamaño de la imagen supera los 800 KB; comprimir 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 soportado.
20068The document.documentId or document.files parameter must be present.No se proporcionaron ni document.documentId ni document.files.
20067The document.purpose parameter is invalid.Valor no reconocido en document.purpose.
20066The document.authProcessId parameter is invalid.Valor inválido en document.authProcessId.
20062The useCase field is invalid.Valor no reconocido en el campo useCase.
20021The subject.phone field is invalid.El formato de subject.phone es inválido (DDI + 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 del documento.
20008The subject.email field is invalid.Formato de correo electrónico inválido en subject.email.
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.El parámetro APIKEY no está presente en el encabezado de la solicitud.
20001O parâmetro authtoken não foi informado.El parámetro de token de integración no está presente 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 los 10 minutos.
10506The imageBase64 field is not a valid JWT from SDK.El campo imageBase64 no es un JWT válido generado por el SDK.

Qué sigue

  • Para verificar si un documento ya está disponible antes de esta llamada, consulta Obtener Documentos Reutilizables.
  • Para la creación del proceso biométrico (requerido para document.authProcessId), consulta Crear Proceso.