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.
En esta página
Un webhook avisa a su propio sistema en el momento en que ocurre algo en EventMann, para que no tenga que preguntar continuamente. EventMann envía una solicitud HTTPS a una dirección que usted elige cada vez que se produce un evento suscrito: se confirma una reserva, se reembolsa un pedido o un evento se publica. Los webhooks están en la pestaña Webhooks de Integraciones en la barra lateral.
- Abra Integraciones y haga clic en la pestaña Webhooks.
- Haga clic en Añadir Webhook para crear un endpoint.
- La columna Estado muestra Activo o Desactivado, con el código HTTP del último intento.
- Un endpoint desactivado ofrece Volver a activar.
Añadir un endpoint
- Asigne un Nombre, para su propio uso.
- Introduzca la URL del Endpoint, una dirección web pública que acepte un POST.
- Marque los eventos que desee en Suscribirse a Eventos. Se requiere al menos uno.
- Haga clic en Añadir Webhook. Se crea para usted una clave secreta de firma de 64 caracteres.
Eventos que puede elegir
El formulario muestra quince eventos, y se envía cada uno de ellos:
| Evento | Se envía cuando |
|---|---|
booking.created | Se crea un pedido: en el checkout para los pedidos gratuitos y las solicitudes de aprobación, y en el paso de pago para los de pago. |
booking.confirmed | Se confirma un pedido: pagado, gratuito o introducido a mano. |
payment.received | Se liquida un pago. Se envía junto con booking.confirmed, también en los pedidos gratuitos. |
booking.cancelled | Se cancela un pedido: por el comprador, por usted o su equipo, o por el soporte de EventMann. cancelled_by indica quién (attendee, organizer o admin). |
booking.refunded | Se reembolsa un pedido por completo. |
payment.refunded | Se liquida un reembolso, incluidos los parciales. Uno por reembolso, con su importe. |
event.created | Se crea un evento, sea cual sea la forma en que se creó (asistente, copia o serie recurrente). |
event.updated | Cambian los datos de un evento: título, descripción, imagen, fechas, lugar o dirección, enlace en línea, ventana de venta o visibilidad. changed enumera los campos. Un cambio de estado no es una actualización; tiene sus propios eventos. |
event.published | Un evento se publica. |
event.cancelled | Usted cancela un evento. |
ticket.checked_in | Una entrada se admite en la puerta: escaneada, introducida a mano, registrada en bloque, sincronizada desde un escáner sin conexión o vendida y admitida en taquilla. Registrar la salida de una entrada o marcar una ausencia no lo envía, como tampoco la acción masiva Registrar entrada de la lista de Pedidos, que marca pedidos completos como llegados sin escaneo en la puerta. |
staff.assigned | Alguien pasa a ser personal de un evento: usted aprueba su solicitud o acepta una invitación para ese evento. |
staff.checked_in | Un miembro del personal registra su entrada en un turno. |
vendor.assigned | Usted asigna un proveedor a un evento. |
vendor.invoice_submitted | Un proveedor envía una factura de una asignación. |
No hay eventos de pago. Stripe abona sus ventas de entradas directamente en su propia cuenta, y EventMann no crea ni ve esos pagos.
Cómo es una entrega
Cada entrega es un POST con un cuerpo JSON de esta forma: event (el nombre), data (los detalles), timestamp y delivery_id. Los datos de booking.confirmed incluyen el id del pedido, la referencia, el estado, el total, el nombre y el correo electrónico del asistente, el id del evento y la hora de confirmación. booking.created añade el título del evento y, en su lugar, incluye la hora de creación. payment.received incluye el id de la reserva, el importe, la pasarela, el id de la transacción y la hora.
La solicitud lleva tres cabeceras: X-Webhook-Event, X-Webhook-Delivery-Id y X-Webhook-Signature. La firma es un HMAC-SHA256 del cuerpo bruto de la solicitud en hexadecimal, con la clave secreta de firma de su endpoint. Recalcúlela en su lado a partir del cuerpo bruto y compárela antes de confiar en un contenido.
Comprobar un endpoint
- Haga clic en Enviar Prueba para enviar un
pingde muestra a su dirección y ver el resultado al instante. - Eventos suscritos muestra lo que recibe el endpoint. Use Editar para cambiar el nombre, la dirección o los eventos.
- La Clave Secreta de Firma está oculta; haga clic en Mostrar para verla.
- Entregas Recientes muestra los últimos intentos con el evento, el estado, el código HTTP, la duración y la hora. Ver todo muestra más.
Reintentos, fallos y desactivación automática
- Solo una respuesta 2xx cuenta como entregada. Una redirección o cualquier otra respuesta es un fallo; las redirecciones no se siguen.
- Una entrega fallida se intenta hasta cinco veces, esperando 10, 30 y después 60 segundos entre intentos.
- Cuando fallan todos los intentos de un evento, el contador de fallos del endpoint sube en uno. Diez fallos en una hora pausan las entregas a ese endpoint durante cinco minutos; las entregas esperan a que termine la pausa.
- Si se activa la pausa, o el contador de fallos supera diez, el endpoint se desactiva y usted recibe una notificación con su nombre.
- Una dirección que apunta a una red privada o interna se rechaza al intentar una entrega. La prueba muestra «Bloqueado», y una entrega real desactiva el endpoint.
- El historial de entregas se conserva durante 30 días.
- Un endpoint desactivado muestra Este endpoint está desactivado con el motivo.
- Corrija lo que fallaba en su receptor y haga clic en Volver a activar. El contador de fallos se borra; la dirección y la clave secreta siguen igual. Editar el nombre o la dirección no lo reactiva.
- Reintentar en una entrega fallida envía ese evento de nuevo, como una entrega nueva, a sus endpoints activos actuales que lo suscriben. Esto incluye sus otros endpoints, así que pueden recibirlo dos veces.
Conviene saber
- El envío de webhooks funciona en su propia cola, de modo que un receptor lento no ralentiza las reservas ni los correos de entradas.
- Desmarcar un evento lo deja de enviar en silencio. No recibe ningún aviso de que ha dejado de recibirlo.
- Si conecta una herramienta como Zapier con un token de API de EventMann, las suscripciones que cree aparecen aquí también, con el nombre del evento.
- Los webhooks envían el nombre y el correo electrónico del asistente de cada pedido a su servidor. Asegúrese de que la dirección es suya y de que está autorizado a tratar esos datos.
Solución de problemas
- Las entregas se detuvieron y no veo ningún error — abra el endpoint. Si está desactivado, corrija el receptor y haga clic en Volver a activar.
- La firma nunca coincide — calcule el hash del cuerpo bruto exacto, no de una copia recodificada, con la clave secreta de la página del endpoint, y compare el texto hexadecimal.
- La prueba funciona, pero los eventos reales no llegan — compruebe que el evento está marcado en este endpoint y que lo ocurrido coincide con la columna «Se envía cuando» de la tabla.
- Recibo el mismo evento dos veces — pulsó Reintentar, o tiene dos endpoints suscritos a él. Use el id de la entrega para ignorar las repeticiones.