Webhooks
Los artículos de ayuda pueden no ser del todo exactos: por las actualizaciones frecuentes y la traducción automática pueden quedar desfasados respecto a la aplicación. Si tiene dudas, contacte con soporte.
Los webhooks permiten que sus propios sistemas se enteren en el momento en que ocurre algo en EventMann — una reserva confirmada, una entrada registrada, un pago liquidado — en lugar de que usted tenga que consultar constantemente si hay cambios. Se encuentran bajo la misma fila Integraciones de la barra lateral, en la pestaña Webhooks.
Cómo añadir un endpoint
- Vaya a Integraciones → Webhooks → Añadir
- Póngale un nombre y la URL pública http(s) que debe recibir las llamadas — una dirección privada o interna se rechaza sin más, tanto aquí como cada vez que un webhook se dispara de verdad
- Marque los tipos de evento que quiere recibir
- Guarde. Se genera automáticamente un secreto de firma de 64 caracteres y se muestra oculto; use Mostrar/Ocultar para revelarlo una vez
Eventos a los que puede suscribirse
| Evento | Se activa cuando |
|---|---|
booking.created | una reserva se inicia, antes del pago |
booking.confirmed | una reserva se confirma |
booking.cancelled | una reserva se cancela |
booking.refunded | una reserva se reembolsa |
event.created | crea un evento nuevo |
event.published | un evento se publica |
event.cancelled | un evento se cancela |
event.updated | cambian los detalles del evento |
ticket.checked_in | se escanea una entrada en la puerta |
payment.received | un pago se liquida |
payment.refunded | un pago se reembolsa |
payout.created | se crea un pago al organizador |
payout.paid | se realiza un pago al organizador |
staff.assigned | se asigna un miembro del personal a su evento |
staff.checked_in | un miembro del personal registra su entrada para un turno |
vendor.assigned | se asigna un proveedor a su evento |
vendor.invoice_submitted | un proveedor envía una factura |
El envío en sí
Cada llamada es un POST de JSON con esta forma:
{"event":"booking.confirmed","data":{"id":1,"reference":"BK-ABC123","status":"confirmed","total":49.99,"currency":"USD","attendee_name":"Jane Doe","attendee_email":"jane@example.com","event_id":10,"confirmed_at":"2026-03-01T12:05:00Z"},"timestamp":"2026-03-01T12:05:00Z","delivery_id":"..."}
Junto a ella recibe una cabecera X-Webhook-Event con el nombre del evento, un X-Webhook-Delivery-Id, y una cabecera X-Webhook-Signature — un HMAC-SHA256 del cuerpo de la petición en bruto, firmado con el secreto que se muestra en la página del endpoint. Recalcúlela de la misma forma en su extremo y compárela antes de confiar en un payload.
Reintentos y qué ocurre cuando un receptor está caído
- Una entrega se intenta hasta 5 veces, esperando 10, luego 30, luego 60 segundos entre intentos; solo una respuesta 2xx cuenta como entregada
- Una vez que los 5 intentos de un mismo evento han fallado, el contador de fallos del endpoint sube exactamente en uno — no una vez por intento
- 10 entregas fallidas dentro de una hora móvil pausan ese endpoint durante 5 minutos; si el contador de fallos llega a superar 10, o se activa esa pausa, el endpoint se apaga automáticamente y deja de recibir nada hasta que lo solucione
- Recibirá una notificación dentro de la aplicación en el momento en que esto ocurra, con el nombre del endpoint
- Un endpoint desactivado muestra un aviso "Este endpoint está desactivado", con el motivo, tanto en la lista de endpoints como en su propia página — editar su nombre, URL o eventos no lo reactiva. Solucione lo que fallaba en su receptor y luego use el botón Volver a activar; esto borra el contador de fallos y reanuda la entrega, conservando la misma URL y el mismo secreto de firma
- El historial de entregas — tipo de evento, estado HTTP, duración y hora — se conserva durante 30 días y después se purga automáticamente
Conviene saber
- Enviar Prueba, en la página de un endpoint, envía un evento
pingsintético para que pueda comprobar su receptor y la verificación de firmas antes de suscribirse a algo real - Reintentar en una entrega fallida reenvía ese evento de cero a sus endpoints actualmente activos — es una entrega nueva, no una reanudación de la cadena de intentos original
- Los envíos de webhooks se ejecutan en su propia cola, separada del pago y del correo, así que un receptor lento o averiado en su extremo no puede ralentizar las reservas ni los correos de entradas
- Desmarcar un tipo de evento deja de enviarlo en silencio — no hay ningún aviso de que ha dejado de recibir algo
Solución de problemas
- Las entregas se detuvieron sin ningún error visible en mi extremo — abra el endpoint y compruebe su contador de fallos y su estado; si aparece como desactivado, solucione su receptor y haga clic en Volver a activar
- La firma nunca coincide — calcule el hash del cuerpo exacto de la petición en bruto, no de una copia reserializada, con el secreto que se muestra en la página del endpoint
- La prueba funciona pero los eventos reales nunca llegan — confirme que ese tipo de evento en concreto está marcado en ese endpoint; los tipos no suscritos simplemente nunca se envían