Webhooks
Recibe llamadas HTTP en tiempo real a tus propios sistemas cuando ocurren eventos en Weqly.
Los webhooks permiten que Weqly avise a tus propios sistemas en tiempo real cuando ocurre algo, como la asignación de un turno, la aprobación de una ausencia o la incorporación de un compañero. Cada vez que ocurre un evento al que te has suscrito, Weqly envía un POST HTTP a una URL que tú indicas.
Gestionas los webhooks en la página Integraciones. (Configurarlos suele ser una tarea de administrador o desarrollador.)
Crear un webhook
- Ve a Integraciones y añade un webhook.
- Ponle un nombre (para reconocerlo después).
- Introduce la URL a la que Weqly debe enviar los eventos. Debe ser un endpoint HTTPS público. Las direcciones internas o privadas se rechazan por seguridad.
- Elige a qué eventos suscribirte (al menos uno).
- Guarda.
Puedes marcar un webhook como activo o inactivo. Los webhooks inactivos dejan de recibir eventos sin ser eliminados.
Eventos disponibles
Weqly emite eventos en estas áreas:
| Área | Eventos |
|---|---|
| Ausencias | leave.requested, leave.approved, leave.rejected, leave.cancelled |
| Turnos | shift.assigned, shift.changed, shift.removed |
| Intercambios | trade.requested, trade.approved, trade.rejected, trade.cancelled |
| Cesiones | drop.requested, drop.approved, drop.rejected, drop.cancelled |
| Invitaciones | invite.sent, invite.accepted, invite.expired |
| Usuarios | user.joined, user.updated, user.removed |
| Kudos | kudos.sent |
Cómo es una entrega
Cada entrega es un POST con un cuerpo JSON que describe el evento, más dos cabeceras:
| Cabecera | Propósito |
|---|---|
X-Weqly-Event | El nombre del evento, p. ej. shift.assigned. |
X-Weqly-Signature | Una firma que usas para verificar que la solicitud realmente proviene de Weqly. |
Verificar la firma
Cada webhook tiene un secreto (visible en el webhook, dentro de Integraciones). Weqly firma con él el cuerpo de cada solicitud para que puedas confirmar su autenticidad y rechazar llamadas falsificadas.
La firma es:
X-Weqly-Signature: sha256=<HMAC-SHA256 del cuerpo bruto de la solicitud, con tu secreto como clave>
Para verificar en tu lado:
- Toma el cuerpo bruto de la solicitud exactamente como se recibió.
- Calcula el
HMAC-SHA256de ese cuerpo usando el secreto de tu webhook como clave. - Antepón
sha256=al resultado hexadecimal. - Compáralo con la cabecera
X-Weqly-Signature(usa una comparación de tiempo constante).
Si no coinciden, descarta la solicitud.
Notas de fiabilidad y seguridad
- Las entregas se envían como trabajos en segundo plano y se reintentan si fallan.
- Las URL se comprueban por seguridad tanto al guardarlas como de nuevo en el momento del envío, para evitar que las solicitudes se redirijan a sistemas internos.
- Mantén tu secreto confidencial. Cualquiera que lo tenga puede falsificar solicitudes firmadas.
¿Necesitas ayuda?
Escribe a nuestro equipo de soporte en help@weqly.com. Estaremos encantados de ayudarte.