Skip to main content
Este guia usa a API do vendedor para cuidar dos webhooks da empresa: cadastrar, testar, investigar falhas e controlar volume. Para o formato de cada evento, veja a seção Eventos.

1. Cadastre o endpoint

Pelo painel, o cadastro fica em Integrações › Webhooks. Pela API, use POST /v1/webhooks.
Formulário de novo webhook com URL e eventos

Integrações › Webhooks › Novo webhook

A Ephra testa a URL no momento do cadastro, com um POST de verdade. Um endereço que não responde 2xx recusa o cadastro:
Suba o endpoint antes de cadastrá-lo, e faça-o responder 200 a qualquer corpo.
productIds vazio significa “todos os produtos”. Preenchido, o webhook só dispara para os produtos listados: é assim que se separa um ERP que só cuida de uma linha de produtos.
O segredo de assinatura volta mascarado (signatureSecretMasked). Ele ainda não assina as entregas: leia Verificação e segurança antes de construir qualquer validação em cima dele.

2. Dispare um teste

O httpStatus é o que o seu servidor respondeu. O payload que chega é um evento completo com scope: "test" e ids de teste:
Filtre por scope: "test" no seu endpoint e descarte antes de liberar qualquer pedido. Um teste com transaction.id: "test_transaction_id" que libera acesso de verdade é um bug caro.

3. Investigue o que falhou

status: "error" com retries: 1 significa que a primeira tentativa falhou e a entrega está na fila de retentativa. GET /v1/webhook-deliveries/{deliveryId} traz o corpo enviado e a resposta recebida: é onde você descobre que o seu servidor devolveu 500 numa data inválida. Para forçar um reenvio depois de corrigir o bug do seu lado:

4. Segure o volume

Em pico de lançamento, transaction_created pode chegar às centenas por minuto. A supressão descarta parte das entregas de um evento, numa janela fixa.
Leia assim: a cada 10 disparos, 9 são descartados e 1 chega. suppressCount precisa ser menor que interval, e interval no mínimo 2. Omitir o event reprova:
Supressão perde eventos de verdade: não é amostragem inteligente, é descarte por contagem. Nunca a use em transaction_paid, transaction_refunded ou infraction: são os eventos que liberam acesso e movem dinheiro. Reserve-a para transaction_created e outros sinais de volume.

Todas as operações

Webhooks

Cadastrar, atualizar, testar e excluir endpoints.

Entregas

Histórico, detalhe de cada tentativa e reenvio.

Supressões

Regras de descarte por evento e janela.