Saltar al contenido principal

Crear Proceso de Documento

MarkdownChatGPTClaude

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.duiTypeintegersíIdentificador del tipo de documento. Consulte valores de duiType a continuación.
subject.codestringsíValor 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.purposestringsíPropósito del negocio. Valores: creditprocess, carpurchase, paybypaycheck, onboarding, fgts.
document.authProcessIdstringsíID del proceso biométrico vinculado a esta captura de documento.
document.filesarraysíImágenes del documento en base64 (frente y/o dorso).
document.files[].datastringsíImagen 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
AR6Pasaporte argentino
AR7DNI argentino
AR49Licencia de conducir argentina (Licencia Nacional de Conducir)
AT34Número de impuesto austríaco (STNR)
BE36Número Nacional belga (NN)
BR1CPF brasileño
BR5Pasaporte brasileño
BR14CNPJ brasileño
CA28SIN canadiense
CH33Número AHV/AVS suizo
CL9RUN chileno
CL52Pasaporte chileno
CL57Licencia de conducir chilena (Licencia de Conducir)
CO26NIT colombiano
CO53Pasaporte colombiano
CO55Licencia de conducir colombiana (Licencia de Conducción)
CO56Cédula de Ciudadanía colombiana (Cédula de Ciudadanía)
DE41Número de Identificación Fiscal alemán (IdNr)
DK29CPR danés
EC10NI ecuatoriano
ES50Número de Identidad de Extranjero español (NIE)
ES51Documento Nacional de Identidad español (DNI)
FI35Código de identidad personal finlandés (HETU)
FR46Número de Referencia Fiscal francés (SPI)
GB30Número de Seguro Nacional británico (NINO)
GT12CUI guatemalteco
ID16NIK indonesio
IE47Número de Seguro Social Personal irlandés (PPSN)
IT37Código Fiscal italiano (CF)
LU48Número de Identificación Nacional de Luxemburgo (Matricule)
MX2CURP mexicano
MX25RFC mexicano (Persona Física)
MX58Licencia de conducir mexicana (Licencia de Conducir)
NG8NIN nigeriano
NG20Número de Verificación Bancaria nigeriano (BVN)
NG43Token BVN nigeriano (hash)
NG44Token NIN nigeriano (hash)
NL42Número de Servicio al Ciudadano holandés (BSN)
NO39Número de Identidad Nacional noruego (Fødselsnummer)
PE27RUC peruano
PE40DNI peruano
PE54Pasaporte peruano
PL31PESEL polaco
PT45Número de Identificación Fiscal portugués (NIF)
SE32Número personal sueco (PNR)
SE38Número de Coordinación sueco (Samordningsnummer)
TR24Número de Identificación turco (TCKN)
US4SSN de Estados Unidos
US11Pasaporte de Estados Unidos
US18Licencia de conducir de Estados Unidos
US21Tarjeta de pasaporte de Estados Unidos
US22Pasaporte de policarbonato de Estados Unidos
US23Tarjeta de identificación de Estados Unidos
UY13CI uruguayo
ZZ15Dirección de correo electrónico
ZZ17Número de teléfono
—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.