Eventos

Visão geral

O recurso de Webhook Events é o histórico de todas as notificações geradas para os Webhook Endpoints configurados. Ele permite monitorar a entrega de eventos, verificar o status, identificar falhas e

Introdução

O recurso de Webhook Events é o histórico de todas as notificações geradas para os Webhook Endpoints configurados. Ele permite monitorar a entrega de eventos, verificar o status, identificar falhas e reenviar (replay) eventos quando necessário, garantindo que os sistemas integrados permaneçam sincronizados com a plataforma.

Conceito e Funcionalidade

Cada evento registra uma ocorrência na sua conta (ex.: transaction.approved), seu tipo, o recurso afetado e o resultado da entrega. A partir do evento, a plataforma cria um ou mais dispatches — uma tentativa de entrega por endpoint elegível. A listagem de eventos já traz os dispatches aninhados em cada item.

Timeout e Retentativas

A plataforma aguarda a resposta do seu endpoint por até 30 segundos. Sem resposta 2xx nesse período (ou em caso de erro/timeout), a tentativa é registrada como falha e o sistema agenda uma nova tentativa com backoff (até esgotar as retentativas, ~3 dias).

Fluxo de Entrega de Eventos

Eventos podem ser reenviados manualmente via POST /v1/webhooks/events/{eventId}/resend (veja Reenviar Evento). Valide sempre a assinatura X-Selectwin-Signature antes de processar o payload.

Estrutura do Objeto Evento (respostas da API)

Itens de listagem de events (com dispatches aninhados; envelope paginado com merchant/_links no root):

{
  "id": "wbh_01hqzvabc",
  "type": "transaction.approved",
  "resource": "transaction",
  "resourceId": "tra_987654321",
  "source": "automatic",
  "delivered": true,
  "attempts": 1,
  "data": { "id": "tra_987654321", "status": "approved", "amount": 1500 },
  "createdAt": "2026-06-20T17:56:32.000Z",
  "dispatches": [ { "id": "wdi_01hqzvabc", "status": "success", "...": "..." } ]
}
AtributoTipoDescrição
idstringID do evento (wbh_*)
typestringTipo do evento (ver Catálogo)
resourcestringRecurso afetado (ex.: transaction)
resourceIdstring | nullID público do recurso
sourcestringOrigem do evento (automatic, api)
deliveredbooleanSe a entrega foi concluída com sucesso
attemptsintegerTotal de tentativas de entrega
dataobjetoO objeto do recurso (mesma forma da leitura do recurso)
createdAtstring (ISO)Data de criação do evento
dispatchesarrayTentativas de entrega aninhadas (ver Dispatches)
merchant / _linksobjectPresentes na leitura individual e no envelope da lista

O reenvio (/resend) responde 202 Accepted com { "accepted": true, "id": "wbh_..." }.

Recursos Disponíveis

RecursoMétodoCaminhoDescrição
Listar EventosGET/v1/webhooks/eventsLista eventos com paginação e filtros (dispatches aninhados)
Recuperar EventoGET/v1/webhooks/events/{eventId}Recupera um evento e seus dispatches
Reenviar EventoPOST/v1/webhooks/events/{eventId}/resendReentrega o evento a todos os endpoints elegíveis

🔒 Antes de processar qualquer evento em produção, verifique a assinatura HMAC. Veja Verificando Assinaturas de Webhook para o passo a passo e exemplos de código.

Tipos de Eventos

A lista completa e autoritativa está no Catálogo de Eventos de Webhook. Alguns dos principais tipos:

CategoriaTipo de EventoDescrição
Transaçõestransaction.createdQuando uma nova transação é criada
Transaçõestransaction.approvedQuando uma transação é aprovada
Transaçõestransaction.failedQuando uma tentativa de transação falha
Transaçõestransaction.canceledQuando uma transação é cancelada
Transaçõestransaction.refundedQuando uma transação é estornada
Clientescustomer.createdQuando um novo cliente é criado
Clientescustomer.updatedQuando um cliente é atualizado
Clientescustomer.deletedQuando um cliente é excluído
Endereçoscustomer.address.createdQuando um endereço de cliente é criado
Cartõescard.createdQuando um novo cartão é registrado
Cartõescard.deletedQuando um cartão é removido
Carteiraswallet.createdQuando uma nova carteira é criada
Carteiraswallet.enabledQuando uma carteira é ativada
Recebíveisreceivable.paidQuando um recebível é pago/liberado
Webhookswebhook.createdQuando um novo webhook endpoint é configurado

Casos de Uso Comuns

  • Monitoramento de Integrações: acompanhamento da saúde das integrações via webhook
  • Recuperação de Eventos: identificação e reenvio de eventos não entregues
  • Auditoria: histórico completo das notificações geradas
  • Depuração: análise de falhas de entrega via Dispatches

Melhores Práticas

  1. Monitoramento Regular: verifique o status de entrega dos eventos.
  2. Reenvio Seletivo: use o reenvio apenas para eventos que não foram entregues com sucesso.
  3. Filtragem: ao listar, use os filtros (type, status, resource, endpoint, datas).
  4. Deduplicação: processe cada id de evento (wbh_...) apenas uma vez.
  5. Filas: processe os eventos de forma assíncrona e resiliente.

Integração com Outros Recursos

  • Webhook Endpoints: os eventos são entregues aos endpoints configurados.
  • Webhook Dispatches: cada tentativa de entrega é um dispatch auditável.
  • Transactions / Customers / Cards / Wallets / Finance / Checkout: geram eventos em mudanças de estado (ver Catálogo).

How is this guide?

On this page