Skip to main content
Los webhooks te permiten recibir notificaciones HTTP en tu propio servidor cada vez que ocurre un evento relevante en woku: una nueva reseña woku, una respuesta NPS o la respuesta de un formulario. woku hace un POST con un cuerpo JSON a la URL que configures.

Configuración

Los webhooks se administran desde la aplicación administrativa, no por API pública.
1

Abre la configuración de integraciones

En el panel, entra a Empresa → Integraciones → Webhooks.
2

Crea un webhook

Presiona Nuevo webhook e ingresa un nombre, la URL de tu endpoint y los eventos a los que te suscribes. Opcionalmente puedes agregar headers personalizados (por ejemplo, un token propio) y activar o desactivar el webhook en cualquier momento.
3

Guarda el secret

Al crear el webhook, woku muestra el secret una sola vez. Cópialo y guárdalo de forma segura: lo necesitarás para verificar la firma de cada evento.
El secret se muestra una única vez al crear o rotar el webhook. woku lo guarda cifrado y no puede volver a mostrártelo. Si lo pierdes, rótalo desde el panel para generar uno nuevo.

Eventos disponibles

woku emite estos eventos:

Estructura común

Todos los payloads comparten esta envoltura:

Ejemplos de payload

Los payloads no incluyen datos de contacto del cliente.

Verificación de firma (HMAC)

Cada entrega incluye el header X-Woku-Signature con una firma HMAC-SHA256 del cuerpo JSON crudo, usando tu secret como llave:
Además de la firma, cada entrega lleva dos headers informativos:
Calcula la firma sobre el cuerpo crudo de la solicitud (los bytes exactos recibidos), antes de parsearlo como JSON. Re-serializar el objeto puede cambiar el orden de las llaves o el espaciado y producir una firma distinta.
Compara siempre con una función de tiempo constante para evitar ataques de temporización. Si la firma no coincide, descarta la solicitud.

Respuesta esperada de tu endpoint

Tu endpoint debe responder con un código HTTP 2xx (idealmente 200) lo antes posible. woku considera exitosa la entrega ante cualquier 2xx.
Procesa el evento de forma asíncrona: responde 200 de inmediato y encola el trabajo pesado. woku usa un timeout de 15 segundos por intento; si tu endpoint tarda más, la entrega se cuenta como fallida.

Reintentos y dead-letter

Si tu endpoint no responde con 2xx (o no responde dentro del timeout), woku reintenta con backoff exponencial: Tras agotar los 3 intentos, la entrega pasa a estado dead-letter y no se vuelve a intentar. En el detalle del webhook, en Empresa → Integraciones → Webhooks, puedes revisar el historial de entregas con filtro por estado (Exitoso, Fallido, Pendiente, Dead-letter). Desde ahí también puedes editar el webhook, rotar su clave o eliminarlo.
Como un evento puede entregarse más de una vez (por un reintento sobre una entrega que sí llegó pero respondió tarde), diseña tu endpoint para que sea idempotente: usa el header X-Woku-Delivery o el identificador del recurso en data para descartar duplicados.

Tickets a SAC

Los tickets de soporte generados por la IA de woku no se entregan por webhook: se envían a tu plataforma de soporte mediante destinos directos configurados en el módulo Soporte. Consulta la guía de tickets a SAC.