Webhooks são somente notificações. A Ephra envia um evento quando o status de uma transação muda do lado dela — o ciclo de status é controlado pela Ephra e não existe endpoint na API para o cliente alterar o status de uma transação.
Por que usar webhooks?
Sem webhooks, sua aplicação precisaria perguntar para a API a cada segundo:“Esse pagamento já foi confirmado?”Isso é lento e desperdiça requisições. Com webhooks, a Ephra avisa você imediatamente:
“O pagamento foi confirmado. Aqui estão os dados.”Assim você pode, na hora e sem intervenção manual:
- liberar o pedido ou o acesso a um produto;
- atualizar o status no seu sistema;
- disparar e-mails ou mensagens;
- registrar a movimentação financeira.
Como funciona na prática
Crie um endpoint no seu sistema
Uma URL HTTPS pública que vai receber os eventos. Ex.:
https://seusite.com/webhooks/ephra.Cadastre a URL na Ephra
Via dashboard ou pela rota
POST /v1/webhook. Você escolhe quais eventos quer receber e recebe um signatureSecret.Receba os POSTs
A cada mudança de status, a Ephra faz um
POST com o payload da transação no seu endpoint.O evento que mais importa: transaction_paid
Na maioria das integrações, o evento que dispara a liberação do pedido é o transaction_paid (status: "paid"). Os demais eventos cobrem estorno, recusa, recuperação de venda, assinaturas, transferências e infrações — veja todos na seção Eventos.
Transações
transaction_created, transaction_paid, transaction_refunded, transaction_updated, card_declined.Recuperação
sale_lost, cart_abandoned.Assinaturas
product_canceled.Transferências
transfer_created, transfer_completed, transfer_canceled, transfer_updated.Formato do payload
Todos os webhooks de transação compartilham a mesma estrutura. Os campos variam conforme o evento, mas o esqueleto é sempre este:O campo
id é o identificador da entrega (não da transação). O ID da transação está em transaction.id. Use o event para rotear o tratamento no seu lado.Boas práticas
Recomendações
- Use HTTPS em todos os endpoints.
- Valide a assinatura HMAC de cada evento — veja Segurança.
- Seja idempotente: registre o
iddo evento e processe cada um uma única vez. - Responda
2xxsomente depois de concluir (ou enfileirar) o processamento. - Não valide o payload inteiro com schemas rígidos — campos novos podem ser adicionados no futuro e não devem quebrar seu endpoint.
Próximo passo: segurança
Como validar a assinatura HMAC, garantir idempotência e lidar com retentativas.
