Webhooks de saída
Receba no seu sistema um aviso a cada envio, visualização, assinatura, recusa, anulação e conclusão de envelopes.
5 min de leitura Avançado Atualizado em 11 de novembro de 2026
Nesta página
Os webhooks de saída avisam o seu sistema, em tempo real, quando algo acontece com um envelope: o ODSign faz uma
chamada POST com um JSON para o endereço que você cadastrar. Assim, o seu ERP ou CRM pode, por exemplo, baixar o
contrato assim que todos assinarem, sem precisar consultar a API o tempo todo.
Nota: Disponível conforme o plano contratado, somente para administradores da conta. Veja Funcionalidades disponíveis na sua conta.
Onde encontrar
No menu lateral, abra Configurações › Webhooks. A página Webhooks de saída lista os webhooks da conta, cada um com seus eventos e as últimas entregas.

Eventos disponíveis
| Evento | Quando acontece |
|---|---|
envelope.sent |
o envelope foi enviado (também quando as correções são enviadas) |
envelope.delivered |
o primeiro destinatário abriu o envelope |
envelope.completed |
todos concluíram; o PDF assinado e o certificado estão prontos |
envelope.declined |
um destinatário recusou e o envelope foi encerrado |
envelope.voided |
o remetente anulou o envelope |
recipient.sent |
o convite saiu para um destinatário (com ordem de assinatura, quando chega a vez dele) |
recipient.delivered |
um destinatário abriu o documento pela primeira vez |
recipient.signed |
um destinatário concluiu a parte dele |
recipient.declined |
um destinatário recusou a assinatura |
Reenvios manuais, lembretes e a expiração do envelope não geram eventos. Para saber se um envelope expirou, consulte o
status pela API.
Passo a passo: criar um webhook
- Em Configurações › Webhooks, clique em Novo webhook.
- Em URL, informe o endereço público,
httpouhttps, que vai receber as chamadas (até 255 caracteres). Prefirahttps. - Em Eventos, marque os eventos que interessam. O evento
envelope.completedjá vem marcado. - Clique em Salvar.
- Copie o segredo que aparece no aviso Copie o segredo do webhook agora (ele começa com
whsec_) e guarde-o no seu sistema. Ele serve para conferir a assinatura de cada entrega (veja Validar a assinatura dos webhooks).
Atenção: O segredo é exibido uma única vez. Se você o perder, exclua o webhook e crie outro, com um novo segredo.
O que o seu sistema recebe
Cada entrega é um POST com corpo JSON e estes cabeçalhos:
| Cabeçalho | Conteúdo |
|---|---|
Content-Type |
application/json |
X-Event |
o nome do evento, por exemplo recipient.signed |
X-Signature |
assinatura HMAC-SHA256 do corpo, em hexadecimal |
Exemplo de corpo do evento recipient.signed:
{
"event": "recipient.signed",
"sent_at": "2026-11-11T13:42:11+00:00",
"envelope": {
"id": "9f1c6a2e-4b7d-4c1e-9a55-3d2f8e7b1c40",
"subject": "Contrato de prestação de serviços",
"status": "delivered",
"sent_at": "2026-11-11T13:05:12+00:00",
"completed_at": null,
"final_sha256": null
},
"recipient": {
"id": 2051,
"name": "Maria Souza",
"email": "maria@exemplo.com.br",
"status": "signed",
"routing_order": 1
}
}
sent_at(no topo) é a data e hora em que o evento foi gerado.- Nos eventos
envelope.*,recipientvem comonull. - Em
envelope.completed,completed_atefinal_sha256vêm preenchidos. Use oidpara baixar os arquivos comGET /envelopes/{id}/documents/finaleGET /envelopes/{id}/documents/certificate. recipient.emailpode virnullquando o destinatário recebeu o envelope apenas pelo celular.
Entregas e novas tentativas
- Uma entrega é bem-sucedida quando o seu endereço responde com um código 2xx. Responda rápido (em poucos segundos): o ODSign espera a resposta por um tempo limite definido pela plataforma.
- Se a resposta for outro código, ou não vier, o ODSign tenta de novo: são até 3 tentativas, a primeira na hora, a segunda cerca de 10 segundos depois e a última cerca de 1 minuto depois.
- Redirecionamentos (códigos 3xx) não são seguidos e contam como falha. Cadastre o endereço final.
- Endereços internos, como
localhoste IPs privados, são recusados no cadastro e em cada entrega.
No cartão de cada webhook, a tabela mostra as 10 últimas entregas, com Quando, Evento, Situação (Entregue, Falhou ou Pendente), HTTP (o código que o seu servidor devolveu), Tentativas e Erro.
Dica: Como uma entrega pode chegar mais de uma vez (por exemplo, quando o seu servidor processou o evento mas demorou a responder), trate os eventos de forma idempotente: use o
event, oenvelope.ide orecipient.idpara ignorar repetições.
Testar, editar, desligar e excluir
- Testar: envia na hora um evento
test.pingpara a URL e mostra o resultado, como "Teste entregue (HTTP 200)." ou "Falha no teste: ..." seguido do motivo. O teste funciona mesmo com o webhook desligado. - Editar: muda a URL e os eventos. Na edição aparece a chave Ativo; desligue-a para pausar as entregas sem perder o cadastro (o cartão passa a mostrar Inativo).
- Excluir: remove o webhook. A mensagem "Webhook excluído." traz o botão Desfazer por alguns segundos.
Problemas comuns
- "A URL aponta para um endereço interno ou reservado." O endereço é
localhost, um IP privado ou resolve para um deles. Use um endereço público. Para testes locais, use um serviço de túnel que forneça um endereço público. - "Não foi possível localizar o servidor da URL." O nome do servidor não existe ou o DNS ainda não foi propagado.
- "Não inclua usuário e senha na URL." Tire as credenciais do endereço e confira a autenticidade das chamadas pela
assinatura
X-Signature. - As entregas aparecem como Falhou com "HTTP 301" ou "HTTP 302". O endereço redireciona. Cadastre a URL final,
geralmente com
https. - "Sem resposta do servidor (tempo limite de ... s ou falha de conexão)." O seu servidor demorou demais ou está fora do ar. Responda 2xx logo ao receber e faça o processamento pesado depois, em segundo plano.
- O menu Webhooks não aparece. Só administradores veem o item, e somente quando o plano inclui webhooks.
Este artigo foi útil?
Artigos relacionados
- Validar a assinatura dos webhooksConfira o cabeçalho X-Signature (HMAC-SHA256 do corpo com o segredo do webhook) com exemplos em PHP e Node.js.
- Visão geral da API RESTO que a API do ODSign faz, como autenticar, formatos de dados, limites de uso, códigos de erro e o fluxo típico de integração.
- Referência dos endpointsTodos os endpoints da API v1 do ODSign, com método, caminho, parâmetros, respostas e exemplos em curl.