https://api.sandbox.supersign.com.br) com uma chave de testesigningSecret.ENVELOPE_SENT.SIGNATORY_SIGNED e, ao final, ENVELOPE_COMPLETED.ENVELOPE_VOIDED, anule um envelope de teste.GET /v4/api/webhooks/{webhookId}/deliveries para ver o que foi enviado e o que seu endpoint respondeu."environment": "sandbox" e a entrega leva oX-SuperSign-Environment: sandbox. Em Produção o campo e o headerPOST ao endpoint, pelo mesmo caminho dos eventos reais (mesma checagem de URL, mesmo segredo de assinatura, mesmo cabeçalho X-SuperSign-Signature), e devolve na resposta o que o seu servidor respondeu:200, mesmo quando o seu servidor falha. O que aconteceu está nos campos:{
"deliveryId": "5f0c2c7e-0000-4000-8000-000000000001",
"status": "DELIVERED",
"httpStatus": 200,
"durationMs": 184,
"errorType": null,
"responseSnippet": "ok"
}| Campo | Descrição |
|---|---|
deliveryId | Id da entrega de teste. Ela aparece em GET /v4/api/webhooks/{webhookId}/deliveries com event WEBHOOK_TEST. |
status | DELIVERED (seu servidor respondeu 2xx), FAILED (erro de rede, DNS, TLS, tempo esgotado, redirect, 3xx, 4xx, 5xx ou URL recusada) ou SKIPPED (conta suspensa ou sem API no plano; nada foi enviado). |
httpStatus | Status HTTP que o seu servidor devolveu, ou null quando não houve resposta. |
durationMs | Duração da tentativa, em milissegundos. |
errorType | Classificação da falha (timeout, dns, tls, conexao, http_status, redirect, url_insegura...). null quando DELIVERED. A lista pode crescer: trate valor desconhecido como falha. |
responseSnippet | Até 500 caracteres do corpo da resposta, com dados pessoais mascarados. Nunca traz cabeçalhos. |
{
"id": "9d3f6a52-0000-4000-8000-000000000002",
"event": "WEBHOOK_TEST",
"createdAt": "2026-10-07T14:00:02.000Z",
"data": {
"accountId": "c1b2a3d4-0000-4000-8000-000000000003",
"test": true
}
}"environment": "sandbox" e o cabeçalho X-SuperSign-Environment: sandbox, como nos demais eventos. O id muda a cada teste.PATCH. O teste não reativa o endpoint.429 RATE_LIMIT_EXCEEDED com Retry-After.200 com status FAILED e errorType url_insegura.webhooks:write. O teste dispara um POST ao seu servidor. Chave de outra conta, ou webhook que não é da sua conta, recebe 404 RESOURCE_NOT_FOUND.Idempotency-Key e nunca devolve resultado antigo: cada chamada envia de novo.retry de uma entrega de teste responde 409 WEBHOOK_DELIVERY_NOT_RESENDABLE.WEBHOOK_TEST não entra no campo events do cadastro; é recebido por todo endpoint que pedir o teste.X-SuperSign-Signature ser enviado, como em qualquer evento. Endpoint antigo sem segredo recebe o teste sem assinatura; gire o segredo para habilitá-la (veja Girar o segredo de assinatura).POST e cadastre a URL de produção dele como endpoint (veja Cadastrar um endpoint), assinando só os eventos de que o fluxo precisa - por exemplo, ENVELOPE_COMPLETED e ENVELOPE_VOIDED.id. Responda 2xx somente após essa aceitação durável; em falha de gravação, responda um status retentável. Se a ferramenta não garantir esse comportamento, use um receptor intermediário que o implemente, sem presumir que responder imediatamente no nó garante persistência (veja Confirmação durável e Resposta e retentativas).event para o trabalho assíncrono. Ignore duplicatas já registradas e marque o processamento como concluído somente após sucesso, permitindo retentativa após falha.data.envelope.id do evento, chame GET /v4/api/envelopes/{envelopeId} num nó HTTP Request com a chave no cabeçalho Authorization: Bearer .... Siga só se o estado for o esperado. Isso também protege o fluxo de uma chamada forjada para a URL do webhook.X-SuperSign-Signature como descrito em Verificação da assinatura (HMAC).