Saltar al contenido principal
Los Webhooks permiten a Flowella enviar eventos a sus propios sistemas en tiempo real - por ejemplo, notificar a su CRM cuando se entrega un mensaje WhatsApp, o iniciar un trabajo en segundo plano cuando falla la sincronización de un formulario HubSpot. Esta página cubre la pantalla dentro de la aplicación Configuración → Webhooks. Para ver los esquemas de carga útil de cada evento, consulta Webhooks reference.

Quién puede gestionar webhooks

Sólo los roles Owner y Admin pueden ver Ajustes → Webhooks. Otros roles no tienen acceso.

Añadir un punto final de webhooks

1

Abra Ajustes → Webhooks

Desde la navegación de la izquierda, vaya a Configuración → Webhooks.
2

Haga clic en Añadir punto final

Introduzca la URL HTTPS pública a la que Flowella debe enviar los eventos. No se acepta HTTP (sin TLS).
3

Elige a qué eventos suscribirte

Elija uno o más tipos de eventos - por ejemplo, message.delivered, template.approved, flow.sync.failed. La lista completa de eventos se encuentra en Webhooks reference. Puede suscribirse a todos los eventos con una sola casilla de verificación.
4

Copiar el secreto de firma

Flowella muestra el secreto de firma una vez al final del flujo de creación. Guárdalo en un almacén seguro - lo usarás para verificar la firma HMAC en cada solicitud entrante.
5

Enviar un evento de prueba

Utilice el botón Enviar prueba para disparar un evento sintético en su endpoint. El registro de entrega registra el resultado para que pueda confirmar que su manejador está conectado antes de ir en vivo.

Firma y verificación

Cada solicitud de webhook incluye una cabecera X-Flowella-Signature con una firma HMAC-SHA256 del cuerpo de la solicitud sin procesar, calculada con el secreto de firma de tu endpoint. Verifíquelo antes de confiar en la carga útil:
import crypto from "crypto";

function verify(rawBody, signature, secret) {
  const expected = crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}
La solicitud también incluye:
  • X-Flowella-Timestamp - la marca de tiempo Unix en el momento del envío. Rechaza las peticiones en las que la marca de tiempo esté más de 5 minutos en el pasado o en el futuro para evitar ataques de repetición.
  • X-Flowella-Event - el tipo de evento (por ejemplo, message.delivered).
  • X-Flowella-Delivery - un ID de entrega único, útil para la deduplicación.

Reintentos y back-off

Si su punto final devuelve un código de estado no 2xx (o se agota el tiempo de espera después de 10 segundos), Flowella reintenta con retroceso exponencial: | Intento | Retraso después de | anterior | --- | --- | | 1 (inicial) | - | | 2 30 segundos | 3 2 minutos | 4 10 minutos | 5 1 hora | 6 horas | 7 (final) 24 horas Tras 7 intentos fallidos, la entrega se marca como fallida y se cancela. El endpoint no se desactiva automáticamente - puede seguir recibiendo futuros eventos en el mismo endpoint. Si fallan 100 entregas consecutivas, Flowella auto-pausa el endpoint y envía una notificación WEBHOOK_PAUSED. Reanúdela desde el menú de la fila una vez que haya solucionado el problema subyacente.

Registro de entregas

Cada fila de punto final se expande en un registro de entregas que muestra los últimos 7 días de intentos:
  • Tipo de evento e ID
  • Estado** - correcto, fallido, reintento
  • Número de intentos
  • Código y duración de la respuesta
  • Cuerpo de la respuesta (primer 1 KB)
  • Enviado a
Haga clic en cualquier entrega para ver la solicitud y la respuesta completas, o para redistribuirla manualmente.

Gestión de puntos finales

Desde el menú de la fila de puntos finales puede:
  • Editar - cambiar la URL o las suscripciones a eventos. (El secreto de firma permanece igual).
  • Rotar secreto - generar un nuevo secreto de firma. El antiguo secreto deja de funcionar inmediatamente, así que coordine el cambio con su gestor.
  • Pausar - detener temporalmente las entregas sin perder la configuración.
  • Reanudar** - volver a activar un punto final en pausa.
  • Borrar - eliminar el punto final y su historial de entregas.

Preguntas comunes

Sí, no hay un límite estricto. La mayoría de las organizaciones tienen de 1 a 3 puntos finales (producción, preparación y un sumidero de registro interno). Mantén el recuento bajo para que los eventos se distribuyan de forma predecible.
La API es pull - tu código pide el estado a Flowella. Webhooks son push - Flowella le dice a su código cuando cambia el estado. Utiliza webhooks para cualquier cosa que de otro modo sondearías.
Las cargas útiles de los webhooks incluyen identificadores de conversación, números de teléfono de contacto, contenido de mensajes y nombres de plantillas. Trate el secreto y la URL del endpoint como sensibles. Restrinja su endpoint para que acepte POST del rango de IP de Flowella si su infraestructura lo permite.
Utilice una herramienta de túnel (ngrok, Cloudflare Tunnel) para exponer su punto final localhost a una URL HTTPS pública y, a continuación, apunte un punto final de prueba a él. No pongas una URL de túnel en tu endpoint de producción - caducan.

Relacionados

Referencia de webhooks

Tipos de eventos, esquemas de carga útil y cabeceras.

Claves API

La otra mitad de la integración programática.

Introducción a la API

Errores, límites de velocidad y paginación.

Eventos de notificación

Los mismos eventos enviados al feed de la aplicación y al correo electrónico.