Webhook de AIDA
Un Webhook es un Destino que permite a AIDA llamar automáticamente a un endpoint HTTPS cada vez que un documento es procesado por este flujo. AIDA realizará una llamada HTTP POST con un payload JSON a la URL configurada.
Configuración
El comportamiento del webhook se controla mediante los siguientes parámetros en la configuración del destino:
Parámetro | Requerido | Descripción | Valor por defecto |
---|---|---|---|
URL del Webhook | Sí | La URL del endpoint HTTPS al que AIDA llamará. | - |
Encabezado de autorización | No | El valor para el encabezado HTTP Authorization . Por ejemplo: Bearer tu-token-secreto . | - |
Acción del Webhook | No | Un valor de texto que se añadirá al payload JSON en el campo action . Puede usarse para identificar el tipo de evento en el lado receptor. | - |
Modo de envío del documento | No | Define cómo se envía el archivo PDF del documento. | Incrustar una URL de descarga en el payload |
Expiración | No | Expiración del enlace para la descarga del documento. | 7 días |
Añadir contenido del documento | No | Si se activa, añade un campo content al payload que contiene el texto completo del documento, extraído por el OCR. | Desactivado |
Ignorar verificación de certificado SSL/TLS | No | Usar con precaución. Si se activa, AIDA no validará el certificado SSL del endpoint. Útil para pruebas con certificados autofirmados. | Desactivado |
Encabezados HTTP
AIDA enviará los siguientes encabezados con la petición POST:
Content-Type: application/json
Accept: application/json
Authorization
: El valor proporcionado en el parámetro de configuración Encabezado de autorización, si existe.
Payload JSON
El payload consiste en una serie de pares clave-valor. Algunos son campos estándar proporcionados por AIDA, mientras que otros corresponden a las propiedades extraídas del documento.
Campos estándar
Estos campos son añadidos automáticamente por AIDA según la configuración.
Campo | Tipo | Descripción |
---|---|---|
action | string | El valor de la configuración Acción del Webhook. Solo presente si se ha configurado. |
documentURL | string | Un enlace permanente para ver el documento dentro de la aplicación web de AIDA. |
downloadURL | string | Un enlace temporal y seguro para descargar el archivo PDF del documento. Solo presente si el Modo de envío del documento es descarga (por defecto). |
attachment | string | El contenido en Base64 del archivo PDF del documento. Solo presente si el Modo de envío del documento es incrustar el archivo. |
content | string | El contenido de texto completo del documento. Solo presente si Añadir contenido del documento está activado. |
Propiedades del documento
Estos campos corresponden a los datos extraídos del documento.
- Clave: La clave JSON para cada propiedad se determina por su configuración de "Mapeo de salida". Si no está definido, se utiliza la Etiqueta de la propiedad.
- Tipos de datos: Las propiedades se convierten automáticamente al tipo JSON correcto (ej.
Número
,Booleano
,Cadena de texto
) según su configuración en AIDA. Las fechas se representan como un timestamp UNIX en milisegundos. - Tablas: Las propiedades que forman parte de una tabla se agruparán en un array JSON. La clave de este array se determina por el "Mapeo de salida" del grupo de la tabla o, si no está definido, por su Nombre.
Ejemplo
Dado un tipo de documento con las siguientes propiedades:
Propiedades de cabecera
Número de factura
(Etiqueta:Número de factura
, Mapeo de salida: no configurado, Tipo:String
)Fecha de factura
(Etiqueta:Fecha de factura
, Mapeo de salida:invoiceDate
, Tipo:Date
)Importe total
(Etiqueta:Importe total
, Mapeo de salida:total
, Tipo:Currency
)
Grupo de propiedades de tabla (Nombre: Líneas de factura
, Mapeo de salida: lines
):
Descripción
(Mapeo de salida:description
, Tipo:String
)Cantidad
(Mapeo de salida:qty
, Tipo:Number
)Precio unitario
(Mapeo de salida:unitPrice
, Tipo:Currency
)
Y la siguiente configuración de destino de AIDA:
- URL del Webhook:
https://api.mycompany.com/invoice-receiver
- Acción del Webhook:
NEW_INVOICE
- Modo de envío del documento: descarga
El payload JSON resultante enviado al endpoint sería así:
{
"Número de factura": "INV-2025-042",
"invoiceDate": 1760444679000,
"total": 122.00,
"lines": [
{
"description": "Producto A",
"qty": 2,
"unitPrice": 50.00
},
{
"description": "Servicio B",
"qty": 1,
"unitPrice": 22.00
}
],
"action": "NEW_INVOICE",
"documentURL": "[https://aida.mycompany.com/app/web/archive/12345](https://aida.mycompany.com/app/web/archive/12345)",
"downloadURL": "[https://api.aida.mycompany.com/asset/document/generated-auth-token](https://api.aida.mycompany.com/asset/document/generated-auth-token)"
}