file_url al inicio. En su lugar, Trébol te dará una URL para que subas el documento directamente. Este método es útil si los documentos se generan dinámicamente o se encuentran en un almacenamiento privado.
La experiencia de carga
Inicia la verificación, envía los documentos y confirma la carga. Trébol procesa cada documento según el tipo de ítem y entrega los resultados a tu aplicación.

Este flujo aplica a
generic (clasificación), doc_validation (validación),
tipos directos de extracción (por ejemplo, ac_mx, csf_mx,
person_id, bank_statement o property_deed) y doc_splitter (separación
de documentos). También aplica a los tipos personalizados cit_... habilitados
para tu cuenta. Los items de consulta, como siger o rues,
mantienen sus parámetros de consulta y no reciben una URL de carga.Si la verificación usa
options.require_files_for_generic_items: true, los
items generic sin file_url se excluyen al crearla y no reciben una URL de
carga. Esta restricción existente no aplica a doc_validation ni a los otros
tipos de documento. Para usar carga directa con generic, envía options.require_files_for_generic_items: false al crear la verificación.- Crear la verificación o agregar items: Envías la solicitud inicial a Trébol para registrar la verificación y recibir una URL de carga.
- Subir el documento: Usas la URL proporcionada para subir tu archivo de forma segura.
- Confirmar la carga: Notificas a Trébol que el archivo está listo para ser procesado.
Ver el flujo técnico de integración
Ver el flujo técnico de integración
El diagrama muestra los intercambios entre tu aplicación, la API de Trébol y
el almacenamiento de archivos. El procesamiento empieza después de confirmar
la carga, no al terminar de subir el archivo.

Ver el diagrama a tamaño completoVer el diagrama a tamaño completo


Paso 1: Crear la verificación sin file_url
Crea la verificación como lo harías normalmente, pero omite el atributo file_url en las opciones del item. Trébol detecta que el archivo no está disponible y devuelve una upload_url única por item para que subas el archivo directamente.
Endpoint: POST /verifications
Usa la URL base de la API y la API key de tu ambiente. Los ejemplos siguientes
usan producción (https://api.gotrebol.com); reemplaza YOUR_API_KEY por tu clave.
Consulta Errores de la API si recibes una respuesta de error.
file_url y conserva las demás opciones requeridas por el tipo. En particular,
doc_validation sigue requiriendo options.client_item_type. Un item sin archivo
permanece en estado pending hasta que completes la carga y la confirmes.
id de la verificación y una lista de items. Cada item de documento tiene su propio id y item_options.upload_url:
id del item — lo necesitas en el Paso 3. En los requests usas type
y options; en las respuestas estos campos se llaman item_type e item_options.
Las URLs de los ejemplos son ilustrativas: usa siempre la URL completa que recibas.
Para agregar documentos a una verificación existente, usa PUT /verifications/{id}/add-items
con el mismo arreglo items, sin country ni tag. Reemplaza VERIFICATION_ID
por el ID de la verificación:
id y
item_options.upload_url. Sigue los pasos 2 y 3 para cada archivo. Los items cc_co_ops
que incluyen options.nit conservan su flujo de consulta existente. Este tipo
también admite documentos; la opción nit selecciona la consulta y evita que
el item espere una carga manual.
Por ejemplo, la respuesta de add-items es un arreglo:
Paso 2: Subir el documento
Con laupload_url recibida, sube el documento correspondiente mediante una solicitud PUT.
Endpoint: PUT a la upload_url del item.
Esta URL ya está firmada: no envíes x-api-key al servidor de archivos.
Headers:
Content-Type: El tipo MIME del archivo (ej.application/pdf,image/jpeg).
200 OK.
Si tu sistema almacena el documento en Base64
Decodifica la cadena en tu cliente y envía los bytes resultantes aupload_url.
El cuerpo del PUT es el archivo binario; una cadena Base64 enviada como texto no
se convierte automáticamente en un documento. Por ejemplo, en Node.js:
documentBase64 debe contener solamente el contenido codificado, sin el prefijo
data:application/pdf;base64,. Confirma la carga únicamente después de un PUT
exitoso. Usa el mismo formato y límites de archivo que en el flujo habitual.
Paso 3: Confirmar y procesar el archivo
Una vez que el archivo se ha subido, debes notificar a Trébol que el documento está listo para ser procesado. Esto se hace enviando una solicitudPUT al endpoint del item específico, usando su id.
Endpoint: PUT /verification-items/{item_id}
Usa el valor de
items[].id recibido al crear la verificación, o el id
del item del arreglo devuelto por add-items.200 contiene el item y el indicador de procesamiento:
item y triggeredSideEffects: true; el procesamiento es asíncrono y el
item puede seguir en pending al responder. Consulta su estado o espera los
webhooks de Trébol para conocer el resultado.
Si el archivo todavía no existe, la confirmación devuelve 404 con el mensaje
S3 object not found y no inicia el procesamiento. La confirmación comprueba la
existencia del objeto; la validación del contenido ocurre durante el procesamiento.
Tras ese 404, sube el archivo y vuelve a confirmar. Si la URL expiró, consulta
el item para obtener una URL nueva antes de repetir el PUT del archivo.
Repite los pasos 2 y 3 para cada item que requiera una carga directa.