Webhooks no painel¶
Para: Adm · Dev — Conferido em 2026-10-18.
A tela Webhooks é onde você configura o endereço que recebe os eventos da operação, gira o segredo de assinatura, acompanha as entregas e trata os eventos que esgotaram as tentativas. Ela tem quatro abas: Configuração, Entregas, DLQ e Saúde. O formato dos eventos e a verificação da assinatura estão na seção Webhooks.
O que é¶
A configuração de webhook é feita só pelo painel: não existe API pública para cadastrar ou alterar a URL, os eventos ou o segredo. Cada operação tem um endereço de webhook.
Quem vê e quem gere:
| Papel | Vê as abas | Muda URL, eventos, segredo e DLQ |
|---|---|---|
| Administrador do tenant | sim | sim |
| Financeiro | sim | não |
| Auditor | sim | não |
| Revisor | não (a tela responde "Não encontrado") | não |
Quem só vê não enxerga o formulário de proposta, o botão de rotação nem a seleção da DLQ.
As quatro abas:
| Aba | Para que serve |
|---|---|
| Configuração | URL, eventos assinados, situação do segredo, pedidos de alteração. |
| Entregas | Uma linha por evento enviado, com filtros e detalhe das tentativas. |
| DLQ | Eventos que esgotaram as tentativas. Prévia, reentrega e "marcar como resolvido". |
| Saúde | Taxa de resposta 2xx por hora nas últimas 24 horas. |
Quando usar¶
- No go-live de cada operação: informar a URL, escolher os eventos e gerar o primeiro segredo.
- Quando o receptor muda de endereço ou de ambiente.
- Para investigar por que um evento não chegou: Entregas e Saúde.
- Depois de uma indisponibilidade do receptor: DLQ.
Como fazer¶
Aba Configuração¶
A aba mostra:
- Destino: a URL cadastrada (ou "Não configurada"), o ambiente (
SandboxouProdução) e a marca HTTPS obrigatório nas operações Reais. - Eventos assinados: a lista dos tipos escolhidos, ou "Todos os eventos" quando nenhum foi marcado.
- Segredo de assinatura: a situação (
Nenhum segredo,AtivoouEm rotação (duas assinaturas v1=)) e a tabela de segredos vigentes com identificador, data de criação, data de expiração e estado. O valor do segredo nunca é exibido. - Pedidos de alteração (só para o Administrador): os pedidos recentes, com votos e a espera restante.
O catálogo de eventos que você pode assinar tem 17 tipos:
| Grupo | Tipos |
|---|---|
| Depósito | deposit.pending, deposit.under_review, deposit.paid, deposit.expired, deposit.cancelled, deposit.failed, deposit.returned, deposit.refunded, deposit.chargeback |
| Saque | withdrawal.under_review, withdrawal.approved, withdrawal.processing, withdrawal.paid, withdrawal.rejected, withdrawal.failed, withdrawal.cancelled, withdrawal.returned |
Veja o conteúdo de cada um em Catálogo de eventos.
Mudar a URL ou os eventos¶
- Na aba Configuração, em Propor alteração, informe a URL de destino (até 2048 caracteres) e marque os tipos de evento. Sem nenhum marcado, a operação recebe todos.
- Escreva o motivo (de 10 a 1000 caracteres) e clique em Propor alteração. É preciso confirmação recente.
- Antes de abrir o pedido, o Dracma simula a alteração: valida o formato da URL e a política de destino (a mesma que vale nas entregas). Uma URL recusada nessa simulação não gera pedido. Veja Seu endpoint.
- Outro Administrador aprova ou recusa o pedido, com motivo. Quem propôs não vota.
- Aprovado, o pedido fica Aprovado, no time-lock e a alteração só vigora 24 horas depois. Qualquer Administrador pode cancelar nesse intervalo.
Regras da URL:
- A URL deve ser
https://. Em operação Real isso é obrigatório e a tela mostra a marca HTTPS obrigatório. - Sem usuário e senha na URL e sem trecho
#. - Os eventos precisam estar no catálogo, sem repetição.
O primeiro endereço pode entrar de duas formas:
- informado no formulário de criação da operação: o Dracma o cadastra em segundo plano, sem pedido e sem espera (veja Tenants e operações);
- proposto nesta aba, quando a operação nasceu sem URL: segue o fluxo acima, com aprovação e 24 horas.
Planeje o go-live com esse prazo.
Opcional, mas altamente recomendado
A URL do webhook não é obrigatória. Sem ela a operação funciona, mas não recebe avisos de pagamento: você precisa consultar a API para saber o estado dos depósitos e saques. O painel avisa enquanto faltar a URL (mais forte em Real) e oferece Lembrar depois por 7 dias, por pessoa. Veja Tenants e operações.
Domínio fora de produção
Fora de produção, os endereços de entrega são limitados a domínios liberados. Peça a liberação do domínio do seu receptor no onboarding. Endereços temporários de túnel não funcionam.
Girar o segredo¶
- O botão Rotacionar segredo só aparece quando a operação já tem URL cadastrada. O primeiro segredo só nasce por esse botão: cadastrar a URL não cria segredo.
- Uma pessoa basta, com confirmação recente. Não há aprovação nem espera.
- O segredo novo aparece uma vez, num campo para copiar, com o identificador e "sobreposição de 7 dias". Recarregar a tela o apaga.
- Durante 7 dias a entrega leva duas assinaturas
v1=: a do segredo antigo e a do novo. Troque o segredo no receptor nesse período. - Não existe "revogar o segredo antigo" no painel. Uma segunda rotação encerra a sobreposição. Veja Segredo e rotação.
Aba Entregas¶
A aba lista as entregas da operação, da mais recente para a mais antiga (50 por vez). Filtros:
- Status:
Pendente,Entregue,DLQouIgnorado. Quando uma entrega é ignorada, o motivo aparece abaixo do status. - Tipo de evento: qualquer um dos 17 do catálogo.
Colunas: o evento (clique para abrir o detalhe), o tipo, o status, o número de tentativas, o último código HTTP, a latência da última tentativa e a próxima tentativa.
O detalhe de uma entrega mostra o evento, o status e a tabela de tentativas em ordem: número, horário (Brasília), código HTTP, latência em milissegundos e o erro, quando houve. O último erro tem no máximo 200 caracteres.
Aba DLQ¶
A DLQ guarda os eventos que esgotaram as tentativas de entrega (72 horas sem resposta 2xx). Nenhum evento é perdido: ele continua disponível para reentrega e em GET /v1/events. A aba mostra até 100 eventos, incluindo os já resolvidos, com o evento, o tipo, o número de tentativas, o último HTTP e a situação (Na DLQ ou Resolvido em … com o motivo).
Reentregar:
- Marque os eventos (até 50 por vez).
- Clique em Prévia. A tela mostra o destino (URL e ambiente) e os eventos; nada é enviado ainda. Eventos que não estão na DLQ aparecem em "Não encontrados na DLQ".
- Clique em Reentregar. Cada evento é reenviado com o mesmo
Dracma-Event-Id, com uma nova janela de 72 horas, e o resultado vem por evento:Reagendado,Não encontradoouFalhou.
Marcar como resolvido:
- Marque os eventos e escreva o motivo (de 10 a 1000 caracteres): por exemplo, "tratado manualmente pelo ticket 123".
- Clique em Marcar como resolvido. O evento sai da fila de pendentes e fica registrado com o motivo.
Reentregar e resolver não pedem aprovação nem confirmação recente; ficam na Auditoria com o autor.
Aba Saúde¶
A aba mostra uma tabela com as últimas 24 horas, hora a hora (horário de Brasília): tentativas, quantas deram 2xx e a taxa. No alto:
- "Sem falha contínua na URL." quando está tudo bem;
- um alerta em vermelho quando a URL falha há 15 minutos ou mais, com a hora da última tentativa e do último sucesso.
Testar a URL (só Teste)¶
Na aba Entregas de uma operação de Teste, o Administrador vê Testar a URL (sandbox): informe o identificador de um evento que já existe e o Dracma o reenvia para a sua URL, com o mesmo Dracma-Event-Id.
Não existe um evento sintético de teste. Para testar, gere um depósito e simule o pagamento (veja Cobrança de teste) e use o evento resultante.
Não disponível
Em operação Real não há teste de URL: a tela mostra "O teste de URL só existe em operações sandbox" e a resposta é 409 com sandbox_only.
Exemplos¶
Cronograma de uma mudança de URL, com dois Administradores (Ana e Bruno), horários de Brasília:
| Quando | Quem | O que acontece |
|---|---|---|
| Qua 09:00 | Ana | Propõe https://webhooks.acme.example/dracma com todos os eventos, motivo "Novo receptor". A simulação aprova. |
| Qua 09:15 | Bruno | Aprova, com o motivo "Conferi o domínio". O pedido mostra "23 h 59 min para valer". |
| Qui 09:15 | Dracma | A alteração vigora. |
| Qui 09:30 | Ana | Clica em Rotacionar segredo, copia o valor e o instala no receptor. |
Depois de uma queda do receptor que gerou eventos na DLQ:
- Na aba Saúde, confirme que a URL voltou a responder.
- Na aba DLQ, marque os eventos, clique em Prévia e depois em Reentregar.
- Confira o resultado
Reagendadode cada evento e acompanhe em Entregas.
Erros e casos de borda¶
| Mensagem | Causa | O que fazer |
|---|---|---|
| "Proposta registrada. Ela só vigora após aprovação de outra pessoa e 24 h de espera." | Confirmação do pedido. | Peça a outro Administrador que aprove. |
| "URL inválida: use https, sem usuário e senha na URL." | URL fora do formato. | Corrija. |
| "Evento ou tipo de evento inválido." / "Selecione ao menos um evento." | Evento fora do catálogo, ou nenhum marcado na DLQ. | Corrija. |
| "Selecione no máximo 50 eventos por vez." | Lote da DLQ maior que 50. | Divida em lotes. |
| "A api recusou os dados enviados. Confira os campos." | A simulação recusou a URL ou o motivo. | Veja a política de URL em Seu endpoint. |
| "Escreva um motivo de 10 a 1000 caracteres." | Motivo curto ou longo. | Ajuste. |
| "Quem propôs não pode aprovar o próprio pedido." | self_review_forbidden. |
Peça a outro Administrador. |
| "Você já votou neste pedido." | already_voted. |
Nenhuma. |
| "O item mudou de estado e a ação não se aplica mais." | O pedido já terminou. | Recarregue a página. |
| "Confirme com o fator forte (\"Confirmar identidade agora\") e tente de novo." | step_up_required. |
Use o link e repita. |
| "O serviço de webhooks está indisponível agora. Tente de novo em instantes." | O serviço de entrega não respondeu. | Repita em instantes; o que já foi pedido não se perde. |
| "O teste de URL só existe em operações sandbox." | sandbox_only. |
Teste na operação de Teste. |
Casos de borda:
- Segredo vazado. O painel não revoga o segredo antigo na hora. Gire o segredo duas vezes seguidas para encerrar a sobreposição e confira os eventos com a busca em
GET /v1/events, que não depende do webhook. Veja Segredos e vazamento. - Lista de IPs de saída do Dracma. Não disponível: o Dracma não publica essa lista, no painel nem em outro lugar, e não garante IP fixo de origem. Não filtre a rota do webhook por IP; veja Seu endpoint.
- Operação nova sem segredo. É esperado: o primeiro segredo só existe depois de Rotacionar segredo.