Configuração de webhooks
Configure webhooks para receber notificações em tempo real sobre eventos dos documentos.
Visão geral
Webhooks são chamadas HTTP disparadas por eventos na KivoSign. Quando um evento acontece (por exemplo, um documento é assinado), a KivoSign envia um HTTP POST para a URL configurada com os detalhes do evento.
Usos comuns:
- Sincronizar o status dos documentos com o seu banco de dados
- Disparar fluxos automáticos quando documentos são assinados
- Integrar com CRM ou outros sistemas
- Enviar notificações personalizadas às partes interessadas
Os webhooks são configurados por equipe. Contas pessoais não podem configurar webhooks.
Criando um endpoint de webhook
Antes de configurar o webhook na KivoSign, você precisa de um endpoint que receba requisições HTTP POST. Um exemplo mínimo:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhooks/kivosign', (req, res) => {
const { event, payload, createdAt } = req.body;
console.log(`Evento recebido: ${event}`);
console.log(`ID do documento: ${payload.id}`);
console.log(`Título do documento: ${payload.title}`);
switch (event) {
case 'DOCUMENT_COMPLETED':
// Trata o documento concluído
break;
case 'DOCUMENT_SIGNED':
// Trata a assinatura
break;
}
// Responde 200 OK para confirmar o recebimento
res.status(200).json({ received: true });
});
app.listen(3000, () => {
console.log('Servidor de webhooks na porta 3000');
});Responda sempre com um status 2xx em até 10 segundos. A KivoSign tenta reenviar automaticamente as entregas que falharem.
Configurando webhooks no painel da KivoSign
Abra as configurações da equipe
Clique no seu avatar no canto superior direito e escolha Configurações da equipe.
Abra a aba de webhooks
Vá até a aba Webhooks no menu lateral das configurações da equipe.
Crie um webhook
Clique em Criar webhook para abrir a janela de configuração.
Configure o webhook
Preencha os campos:
| Campo | Descrição |
|---|---|
| URL do webhook | O endpoint HTTP ou HTTPS que vai receber os eventos |
| Eventos | Os eventos que disparam este webhook |
| Segredo (opcional) | Uma chave secreta usada para verificar a autenticidade |
Salve o webhook
Clique em Criar webhook para salvar. O webhook já fica ativo e passa a receber eventos.
Requisitos da URL do webhook
O endpoint precisa atender a estes requisitos:
| Requisito | Detalhes |
|---|---|
| Protocolo | HTTP e HTTPS são aceitos; use HTTPS em produção |
| Resposta | Precisa retornar status 2xx em até 10 segundos |
| Método | Precisa aceitar requisições HTTP POST |
| Content-Type | Precisa aceitar payloads application/json |
| Disponibilidade | Precisa estar acessível publicamente pela internet |
A KivoSign rejeita URLs de webhook que usam ou apontam para endereços privados ou de loopback
(como localhost ou 192.168.x.x).
Para desenvolvimento local, use um serviço de túnel como ngrok ou localtunnel para expor seu servidor local.
Escolhendo os eventos
Ao criar o webhook, você pode assinar um ou mais eventos:
| Evento | Quando dispara |
|---|---|
DOCUMENT_CREATED | Um novo documento é criado |
DOCUMENT_SENT | Um documento é enviado aos destinatários |
DOCUMENT_OPENED | Um destinatário abre o documento pela primeira vez |
DOCUMENT_SIGNED | Um destinatário assina o documento |
DOCUMENT_RECIPIENT_COMPLETED | Um destinatário conclui a ação exigida |
DOCUMENT_COMPLETED | Todos os destinatários concluíram suas ações |
DOCUMENT_REJECTED | Um destinatário recusa o documento |
DOCUMENT_CANCELLED | Um documento pendente é cancelado, ou o dono exclui o documento |
RECIPIENT_EXPIRED | O prazo de assinatura de um destinatário vence antes de ele assinar ou recusar |
DOCUMENT_REMINDER_SENT | Um lembrete é enviado a um destinatário |
TEMPLATE_CREATED | Um novo modelo é criado |
TEMPLATE_UPDATED | Um modelo é alterado |
TEMPLATE_DELETED | Um modelo é excluído |
TEMPLATE_USED | Um documento é criado a partir de um modelo |
Você pode assinar todos os eventos ou só os que precisa. Por exemplo, se só quer saber quando os documentos estão totalmente assinados, assine apenas DOCUMENT_COMPLETED.
Veja Eventos de webhook para o payload de cada tipo de evento.
Testando webhooks
A KivoSign tem um teste embutido para confirmar que seu endpoint funciona.
Abra os detalhes do webhook
Vá em Configurações da equipe > Webhooks e clique no webhook que quer testar.
Clique em testar
Clique no botão Testar na página de detalhes do webhook.
Escolha o tipo de evento
Escolha na lista qual evento quer simular.
Envie o payload de teste
Clique em Enviar para mandar um webhook de teste com dados de exemplo para o seu endpoint.
O payload de teste usa dados de exemplo realistas, para você conferir se o endpoint processa os eventos corretamente. Depois de enviar, a resposta aparece nos logs de chamadas do webhook.
Vendo os logs do webhook
Cada webhook guarda um log de todas as tentativas de entrega. Para ver:
Vá em Configurações da equipe > Webhooks
Clique em um webhook para ver os detalhes
Confira os logs
Cada chamada mostra:
- Situação (sucesso/falha)
- Tipo de evento
- Data/hora
- Código de resposta
- Corpos da requisição e da resposta
- Cabeçalhos da resposta
Clique em uma chamada para ver todos os detalhes, incluindo cabeçalhos e resposta.
Reenviando webhooks com falha
Se uma entrega falhar, você pode reenviá-la manualmente:
Abra a página de detalhes da chamada do webhook
Clique em Reenviar
A KivoSign tenta entregar o mesmo payload de novo
Política de novas tentativas
A entrega falha quando o endpoint responde com status diferente de 2xx, quando o prazo de 10 segundos acaba ou quando a requisição não se completa. Redirecionamentos não são seguidos, então respostas 3xx também contam como falha. Falhas de rede e URLs bloqueadas são registradas com código de resposta 0.
A KivoSign faz algumas novas tentativas automáticas. Só a entrega específica é marcada como falha: o webhook não é desativado, então os próximos eventos continuam sendo entregues. Depois que as tentativas automáticas acabam, você pode reenviar a entrega manualmente pelo painel.
Se o seu endpoint falha com frequência, revise os logs do seu servidor e confirme que ele atende a todos os requisitos da URL.
Boas práticas de segurança
Próximos passos
- Eventos de webhook - O payload de cada tipo de evento
- Verificação de webhooks - Proteja seus webhooks verificando o segredo

