Verificación del documento de identidad
Antes de crear un proceso de firma o de consultar antecedentes, Auco verifica contra el registro oficial que el documento de identidad exista y que su titular no figure como fallecido. En los procesos de firma también compara el nombre del firmante con el del registro.
Si la verificación falla, Auco no crea el proceso y responde 400 con un código que dice qué falló. Así no se envían a firmar documentos ni se pagan consultas a nombre de una identidad que no existe.
Cuando un país o tipo de documento no tiene cobertura, la verificación no se hace y el proceso sigue. Lo mismo pasa si el registro oficial no responde: una falla del proveedor nunca frena la creación del proceso.
🧩 Dónde aplica
| Servicio | Qué se verifica | Qué necesita |
|---|---|---|
POST /document/upload | Vigencia y nombre de cada firmante. | signProfile[x].identification y signProfile[x].identificationType. Ver Datos del firmante. |
POST /document/save | Vigencia y nombre de cada firmante. | Que el signatureProfile de la plantilla defina la identificación y el tipo de documento del firmante. |
POST /validate/background | Vigencia del documento. No hay nombre. | type en CC, CE o PPT. Con NIT, Auco verifica que la empresa exista en el RUES. |
En los procesos de firma solo se verifican los firmantes que traen identification. En la consulta de antecedentes, los tipos PP e INT no se verifican.
Datos del firmante
Estos campos van en cada elemento de signProfile de POST /document/upload:
| Nombre | Tipo | Descripción |
|---|---|---|
signProfile[x].identification | String opcional | Número de identificación del firmante. |
signProfile[x].identificationType | String condicional | Tipo de documento, por ejemplo CC o CE. Sin él, el firmante no se verifica y su status llega como NOT_SUPPORTED. |
signProfile[x].country | String opcional | País del documento en código ISO de dos letras. Por defecto CO. |
📥 Ejemplos de respuesta
Cuando algún firmante trae identification, la respuesta de POST /document/upload y de POST /document/save incluye identityValidation, con un elemento por firmante verificado:
{
"document": "ABCDEF1234",
"identityValidation": [
{
"identification": "123456789",
"name": "Firmante 1",
"validated": true,
"status": "ALIVE",
"nameStatus": "MATCH"
}
]
}
📋 Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
identityValidation | Array<Object> | Opcional. Llega solo si algún firmante envió identification. |
identityValidation[].identification | String | Número de identificación verificado. |
identityValidation[].name | String | Nombre del firmante contra el que se comparó el registro. |
identityValidation[].validated | Boolean | true solo cuando status es ALIVE. |
identityValidation[].status | String | Estado del documento. Ver Estados del documento. |
identityValidation[].nameStatus | String | Resultado de comparar el nombre: MATCH, NO_MATCH, NOT_FOUND, UNSUPPORTED o ERROR. Llega en null cuando no se comparó. |
identityValidation solo llega en la respuesta de creación. Si lo necesitas después, guárdalo en tu integración.
🔄 Estados del documento (identityValidation[].status)
| Estado | Descripción |
|---|---|
ALIVE | El documento existe y su titular está vigente. |
DECEASED | El titular del documento figura como fallecido. Rechaza el proceso. |
NOT_FOUND | El documento no existe en el registro oficial. Rechaza el proceso. |
UNKNOWN | El registro respondió sin un estado concluyente. |
UNSUPPORTED | El país o tipo de documento no tiene cobertura de verificación. |
ERROR | El proveedor de la consulta falló. |
UNAVAILABLE | Auco no pudo hacer la consulta. |
NOT_SUPPORTED | El firmante no trae identificationType, así que no se verificó. |
Solo DECEASED, NOT_FOUND y un nombre en NO_MATCH rechazan el proceso; con cualquier otro estado el proceso se crea.
Pueden aparecer valores nuevos. Trata un valor desconocido como un resultado no validado, sin hacer fallar tu integración.
🚫 Códigos de rechazo
Todos responden 400. El código llega en message.
| Código | Descripción |
|---|---|
SIGNER_IDENTITY_DECEASED | Procesos de firma. Un firmante figura como fallecido. |
SIGNER_IDENTITY_NOT_FOUND | Procesos de firma. El documento de un firmante no existe en el registro oficial. |
SIGNER_NAME_MISMATCH | Procesos de firma. El nombre de un firmante no coincide con el del registro. |
IDENTITY_DECEASED | Consulta de antecedentes. El titular del documento figura como fallecido. |
IDENTITY_NOT_FOUND | Consulta de antecedentes. El documento no existe en el registro oficial. |
COMPANY_NOT_FOUND | Consulta de antecedentes con type: NIT. La empresa no existe en el RUES. |
En los procesos de firma, el cuerpo del error identifica al firmante que lo causó. SIGNER_NAME_MISMATCH también trae name:
{
"message": "SIGNER_IDENTITY_NOT_FOUND",
"identification": "123456789"
}