Webhooks
Os artigos de ajuda podem não estar totalmente exatos — devido a atualizações frequentes e tradução automática, podem ficar desatualizados em relação à aplicação. Em caso de dúvida, contacte o suporte.
Webhooks permitem que os seus próprios sistemas sejam informados no momento em que algo acontece em EventMann — uma reserva confirmada, um bilhete com check-in feito, um pagamento pago — em vez de você fazer consultas sobre mudanças. Vivem no mesmo separador Integrações na barra lateral, no separador Webhooks.
Como adicionar um ponto final
- Vá para Integrações → Webhooks → Adicionar
- Dê-lhe um nome e o URL http(s) público que deve receber as chamadas — um endereço privado ou interno é rejeitado completamente, tanto aqui como cada vez que um webhook realmente dispara
- Assinale quais tipos de eventos deseja receber
- Guarde. Um segredo de assinatura de 64 caracteres é gerado para si automaticamente e mostrado mascarado; use Mostrar/Ocultar para o revelar uma vez
Eventos aos quais pode subscrever
| Evento | Dispara quando |
|---|---|
booking.created | uma reserva começa, antes do pagamento |
booking.confirmed | uma reserva é confirmada |
booking.cancelled | uma reserva é cancelada |
booking.refunded | uma reserva é reembolsada |
event.created | cria um novo evento |
event.published | um evento fica ao vivo |
event.cancelled | um evento é cancelado |
event.updated | detalhes do evento mudam |
ticket.checked_in | um bilhete é digitalizado à porta |
payment.received | um pagamento é liquidado |
payment.refunded | um pagamento é reembolsado |
payout.created | um pagamento é criado |
payout.paid | um pagamento é pago |
staff.assigned | um membro da equipa é atribuído ao seu evento |
staff.checked_in | um membro da equipa faz check-in para um turno |
vendor.assigned | um fornecedor é atribuído ao seu evento |
vendor.invoice_submitted | um fornecedor submete uma fatura |
A entrega em si
Cada chamada é um POST de JSON com forma assim:
{"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":"..."}
Juntamente com isto obtém um cabeçalho X-Webhook-Event denominando o evento, um X-Webhook-Delivery-Id e um cabeçalho X-Webhook-Signature — um HMAC-SHA256 do corpo da solicitação bruta, chaveado com o segredo mostrado na página do ponto final. Recompute-o da mesma forma no seu fim e compare antes de confiar num carga útil.
Tentativas e o que acontece quando um recetor está desligado
- Uma entrega é tentada até 5 vezes, esperando 10, depois 30, depois 60 segundos entre tentativas; apenas uma resposta 2xx conta como entregue
- Uma vez que todas as 5 tentativas de um evento falharam, a contagem de falha do ponto final sobe exatamente uma — não uma vez por tentativa
- 10 entregas falhadas dentro de uma hora em rolos pausam esse ponto final por 5 minutos; se a contagem de falha passar 10, ou essa pausa for acionada, o ponto final desliga automaticamente e para de receber qualquer coisa até corrigir
- Receberá uma notificação na app no momento em que isto acontece, nomeando o ponto final
- Um ponto final desativado mostra um aviso “Este ponto final está desativado”, com a razão, tanto na lista de ponto final como na sua própria página — editar o seu nome, URL ou eventos não o traz de volta. Corrija o que estava errado com o seu recetor, depois use o botão Re-ativar; limpa a contagem de falha e retoma a entrega, mantendo o mesmo URL e segredo de assinatura
- O histórico de entrega — tipo de evento, estado HTTP, duração e hora — é mantido por 30 dias e depois eliminado automaticamente
Bom a saber
- Teste, na página de um ponto final, envia um evento sintético
pingpara que possa verificar o seu recetor e verificação de assinatura antes de subscrever qualquer coisa real - Repetir numa entrega falhada reenvia esse evento fresco aos seus pontos finais ativamente ativos — é uma nova entrega, não uma retomada da cadeia de tentativa original
- Os envios de Webhook funcionam na sua própria fila, separada da checkout e email, por isso um recetor lento ou quebrado no seu fim não consegue abrandar as reservas ou emails de bilhete
- Desmarcar um tipo de evento silenciosamente para de o enviar — não há aviso de que deixou de receber algo
Resolução de problemas
- As entregas pararam sem erro visível no meu fim — abra o ponto final e verifique a sua contagem de falha e estado; se mostra desativado, corrija o seu recetor e clique Re-ativar
- A assinatura nunca combina — haxixe o corpo exato da solicitação bruta, não uma cópia re-serializada, com o segredo mostrado na página do ponto final
- Teste bem-sucedido mas eventos reais nunca chegam — confirme o tipo de evento específico está assinalado nesse ponto final; tipos não subscritos simplesmente nunca são enviados