Tabla resumen
| Ítem | Descripción |
|---|---|
person_id | Identificación oficial de persona física/natural. |
proof_address | Comprobante de domicilio. |
bank_statement | Estado de cuenta bancario. |
trust_contract_fideicomiso_extractor | Contrato de fideicomiso. (Beta) |
union_documents_extractor | Documentos de unión (pareja de hecho). (Beta) |
financial_statements_any | Estados financieros de empresas. (Beta) |
person_id — Identificación oficial (persona)
Tipos de identificación soportados según el país:
- ine_mx: Identificación oficial mexicana (INE).
- passport: Pasaporte (documento oficial de viaje).
- residence_mx: Tarjeta/documento de residencia en México (para no mexicanos).
- cc: Cédula de ciudadanía colombiana.
Estructura de respuesta
due_date, place_of_issue, sex, numero_id_nacional y curp pueden ser null porque son campos opcionales y su presencia depende del tipo de person_id y de si el documento los incluye explícitamente (por ejemplo, curp solo aplica para documentos mexicanos; place_of_issue aplica para la cédula de ciudadanía colombiana).
Validación del INE
Para un item de tipoperson_id, si su tipo es ine_mx, se realiza una validación del INE. Los datos de esta validación se encuentran dentro de item_value bajo la clave ine_validation_data. El estado de este proceso se puede identificar mediante dos claves: ine_validation_result y ine_validation_message.
Estructura de ine_validation_data:
El objeto ine_validation_data.data contiene la siguiente información extraída del INE:
cic(string): Clave de Identificación Ciudadana (CIC).numero_ocr(string): Número OCR del documento.ano_de_emision(string): Año de emisión del documento.distrito_local(string): Distrito local electoral.ano_de_registro(string): Año de registro del documento.expiration_date(string): Fecha de expiración del documento.clave_de_elector(string): Clave de elector.distrito_federal(string): Distrito federal electoral.numero_de_emision(string): Número de emisión del documento.fecha_de_actualizacion_de_la_informacion(string): Fecha de actualización de la información.
La validación del INE solo se realiza cuando el
id_type del item person_id es ine_mx. Para otros tipos de identificación (como passport, residence_mx o cc), estos campos vendrán en null.Validación de CURP (RENAPO)
Cuando elitem_value del person_id incluye la llave curp con un valor no nulo (típicamente al procesar un ine_mx, un passport mexicano o un residence_mx), Trébol consulta automáticamente RENAPO. La consulta corre de forma asíncrona: el item_value inicial puede devolverse con los cuatro campos (curp_validation_data, curp_validation_result, curp_validation_message y curp_file) en null y Trébol los puebla cuando dispara el webhook verification_people.curp_search_completed. Para acceder a los datos, vuelve a consultar GET /verifications/{verification-id} tras recibir el webhook.
La respuesta usa el mismo conjunto de datos que el ítem dedicado curp_item, con tres diferencias en el item_value del person_id: (1) no incluye curp_validated_at, (2) no incluye curp_validation_status, y (3) curp_file queda al mismo nivel que curp_validation_data dentro de item_value (en curp_item está anidado dentro de curp_validation_data).
Estructura de curp_validation_data:
| Nombre | Campo JSON | Tipo | Descripción |
|---|---|---|---|
| CURP normalizado | curp | string | CURP devuelto por RENAPO (puede diferir del curp original si RENAPO devuelve uno normalizado). |
| Estado del CURP | curp_status | string | Estado en el registro. Valores: alta_normal, baja_por_defuncion, otro, no_encontrado. |
| Nombres | names | string | Nombres de pila reportados por RENAPO. |
| Género | gender | string | Género reportado por RENAPO (HOMBRE o MUJER). |
| Número de acta | act_number | string | Número del acta de nacimiento. |
| Fecha de nacimiento | birth_date | string | Formato YYYY-MM-DD. |
| Entidad de nacimiento | birth_entity | string | Entidad federativa de nacimiento. |
| Nacionalidad | nationality | string | Nacionalidad reportada. |
| Primer apellido | first_surname | string | Primer apellido. |
| Segundo apellido | second_surname | string | Segundo apellido. |
| Entidad de registro | register_entity | string | Entidad federativa donde se registró el acta. |
| Municipio de registro | register_municipality | string | Municipio donde se registró el acta. |
| Documento probatorio | evidentiary_document | string | Documento probatorio (típicamente "Acta de nacimiento"). |
curp_validation_result — resultado de la consulta:
curp_found: Trébol encontró el CURP en RENAPO. La consulta fue exitosa.curp_not_found: Trébol no encontró el CURP en RENAPO. La consulta corrió sin error, pero el CURP no existe.
curp_validation_message — campo reservado para un mensaje legible asociado al resultado. Actualmente llega siempre en null para el item_value del person_id (a diferencia de curp_item, donde sí se puebla). Existe por consistencia con la convención de ine_validation_message y puede llevar texto descriptivo en el futuro. Para conocer el resultado de la consulta, lee curp_validation_result.
curp_file — URL firmada al PDF descargado de RENAPO con la constancia del CURP. Vive como campo de primer nivel dentro de item_value (no anidado dentro de curp_validation_data). La URL incluye un parámetro Expires=… y caduca; cuando expire, vuelve a consultar GET /verifications/{verification-id} para obtener una URL renovada.
Trébol solo dispara la consulta de RENAPO cuando el
person_id incluye un número CURP. Si el id_type no aporta un CURP (por ejemplo, una cédula colombiana o un pasaporte no mexicano), los cuatro campos llegan en null y nunca llega el webhook curp_search_completed.Si la consulta no corre (por ejemplo, porque no hay CURP en el documento) o si
curp_validation_result es curp_not_found, el objeto curp_validation_data y la URL curp_file pueden llegar en null. Verifica siempre que el objeto y la URL existan antes de leerlos.Ejemplo de salida para cédula de ciudadanía colombiana
Ejemplo de salida para pasaporte
proof_address — Comprobante de domicilio
bank_statement — Estado de cuenta bancario
trust_contract_fideicomiso_extractor — Contrato de fideicomiso
union_documents_extractor — Documentos de unión
financial_statements_any — Estados financieros
Item en fase Beta. La estructura de respuesta detallada se documentará próximamente.