Webhooks salientes
Configura webhooks salientes para que Dinaup envíe un POST a tu servidor cuando se crea o modifica un registro, con el estado del registro antes y después.
Un webhook saliente hace que Dinaup avise a tu servidor cuando cambia un registro. Configuras una URL, y Dinaup le envía un POST en cuanto se cumple lo que definiste. Reaccionas al momento, sin consultar la API en bucle.
Cómo funciona
[Dinaup] → se crea o modifica un registro → se cumplen las condiciones → POST → [Tu servidor]- Un usuario o un proceso crea o modifica un registro en la sección que vigilas.
- Dinaup comprueba las condiciones del webhook (evento, campos disparadores, campos obligatorios).
- Si se cumplen, envía un
POSTa tu URL con el registro antes y después del cambio.
Configuración
Los webhooks salientes se crean desde el módulo Desarrollo de Play Dinaup. Cada uno se guarda activo desde el momento en que lo creas.
Campos del formulario
| Campo | Descripción |
|---|---|
| Título | Nombre con el que identificas el webhook |
| Sección | La tabla que vigilas: Ventas/Ingresos, Entidades, Productos… |
| Disparar Modificaciones | Envía cuando se actualiza un registro existente |
| Disparar Nuevos | Envía cuando se crea un registro |
| URL | La dirección de tu servidor que recibe el POST |
| Bearer Token | Opcional. Token que Dinaup incluye en la cabecera Authorization |
| Campos Disparadores | Solo dispara si cambia alguno de estos campos |
| Campos Obligatorios | Solo dispara si estos campos están rellenos |
Marca Modificaciones, Nuevos o ambos: son los dos eventos que disparan el aviso.
Acotar el disparo
Dos filtros evitan avisos con datos irrelevantes o incompletos:
- Campos disparadores. Si eliges campos aquí, el webhook solo salta cuando cambia alguno de ellos. Un cambio en otro campo no dispara. Si no eliges ninguno, cualquier cambio dispara.
- Campos obligatorios. El webhook no salta hasta que estos campos tengan valor. Evita, por ejemplo, avisar de un borrador de factura sin cliente.
Al usar campos obligatorios, eliges el modo:
| Modo | Cuándo dispara |
|---|---|
| Todos los campos seleccionados | Solo si todos los campos obligatorios están rellenos |
| Al menos un campo | Basta con que uno tenga valor |
Seguridad
Rellena el Bearer Token para que Dinaup lo mande en cada petición:
Authorization: Bearer <tu-token>Tu servidor compara ese token con el que configuraste y descarta lo que no cuadre. El campo es opcional; sin él, la petición llega sin cabecera Authorization.
Payload
Dinaup envía un POST con el cuerpo en JSON. Dos objetos: el registro antes del cambio y después.
{
"previousData": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"pr_cliente": "Cliente Antiguo",
"pr_importe": "100.00"
},
"newData": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"pr_cliente": "Cliente Nuevo",
"pr_importe": "150.00"
}
}previousData— el registro tal como estaba antes.newData— el registro tras el cambio.
Comparas los dos objetos para saber qué campos cambiaron. En un alta, ambos traen el registro recién creado. Cada campo llega por su nombre pr_* (la columna PostgreSQL de la sección) y su valor como texto.
Para traducir los nombres pr_* a campos legibles, consulta el esquema de la sección en Play Dinaup → módulo Desarrollo → Esquema, o en doc-flex.dinaup.com.
Buenas prácticas
| Práctica | Motivo |
|---|---|
Responde con 2xx en cuanto recibas | Tu servidor confirma que la entrega llegó |
| Verifica el Bearer Token | Descarta peticiones que no vengan de Dinaup |
| Procesa en asíncrono | Encola el trabajo pesado y responde rápido |
| Registra lo que recibes | Te da rastro para depurar |
| Usa campos disparadores | Evitas avisos por cambios que no te interesan |
Casos de uso
| Caso | Configuración |
|---|---|
| Avisar a Slack de una venta nueva | Sección Ventas/Ingresos · Nuevos · URL de n8n/Make hacia Slack |
| Sincronizar clientes con un CRM | Sección Entidades · Nuevos + Modificaciones · Campos disparadores: Nombre, NIF, Email |
| Actualizar stock en la tienda online | Sección Productos · Modificaciones · Campo disparador: Stock |
| Email de bienvenida a clientes nuevos | Sección Entidades · Nuevos · Campo obligatorio: Email |
| Generar albarán al confirmar un pedido | Sección Ventas/Ingresos · Modificaciones · Campo disparador: Estado |
Probar antes de conectar
El Playground incluye un simulador: eliges un webhook y un registro, y Dinaup manda el POST a la URL que le des con el payload real. Ves el cuerpo antes de programar tu receptor.
API REST — Referencia de endpoints
Los endpoints de la API REST de Dinaup (webhook.dinaup.com): autenticación, informes, documentos, WriteOperations, herramientas fiscales, límites de tasa y códigos de respuesta.
Zapier, Make y n8n
Automatiza Dinaup con Zapier, Make o n8n mediante webhooks, con un Cloudflare Worker opcional para adaptar las peticiones al formato de cada plataforma.