Quem pode utilizar esta funcionalidade?
Disponível em todos os planos Developer API.
Todos os membros
Os webhooks permitem-lhe receber atualizações em tempo real sobre o estado dos seus envelopes no Sign.Plus. Este artigo guiá-lo-á pelo processo de configuração e tratamento de webhooks para a sua integração com o Sign.Plus.
Passo 1: Criar um webhook
Para começar a receber atualizações em tempo real, primeiro precisa de criar um webhook no Sign.Plus. Veja como:
- Decida um URL de destino onde deseja receber as notificações do webhook. Este deve ser um endpoint no seu servidor configurado para tratar pedidos POST recebidos.
- Escolha o(s) evento(s) que deseja monitorizar. Sign.Plus oferece os seguintes eventos de webhook:
-
envelope_completed- Quando um envelope é concluído
-
envelope_expired- Quando um envelope expira
-
envelope_declined- Quando um envelope é recusado
-
envelope_voided- Quando um envelope é anulado
-
- Utilize a API do Sign.Plus para criar o webhook. Terá de especificar o seu URL de destino e o(s) evento(s) que deseja monitorizar.
Para informações detalhadas sobre como criar um webhook utilizando a API do Sign.Plus, consulte a documentação do endpoint de criação de um webhook.
Passo 2: Tratar notificações de webhook
Depois de configurar o seu webhook, Sign.Plus enviará pedidos POST para o URL especificado sempre que os eventos monitorizados ocorrerem. Aqui está o que precisa de saber sobre o tratamento destas notificações:
-
Método do pedido: Todas as notificações de webhook são enviadas como HTTP
POSTpedidos.
-
Estrutura do payload: O payload do webhook é um objeto JSON que contém duas secções principais:
-
hook: Contém metadados sobre o próprio webhook.
-
data: Contém informações sobre o envelope que desencadeou o evento.
-
-
Exemplos de payload: Aqui estão exemplos de payloads para diferentes eventos:
// ENVELOPE_DECLINED
{
"hook": {
"id": "6697ccb204bd194fa74c22b4",
"event": "envelope_declined",
"target": "<https://webhook.site/47acfde3-bd83-4fbc-9ff1-ea0dc030e118>"
},
"data": {
"id": "6697ccb204bd194fa74c22b4",
"uid": "4a6e29bfc5344ca6ad7cc8beda456481",
"envelope_id": "6697e681c5e364c7c23710d4",
"file_name": "test"
}
}
// ENVELOPE_COMPLETED
{
"hook": {
"id": "6697ccb204bd194fa74c22b4",
"event": "envelope_completed",
"target": "<https://webhook.site/47acfde3-bd83-4fbc-9ff1-ea0dc030e118>"
},
"data": {
"id": "6697ccb204bd194fa74c22b4",
"uid": "4a6e29bfc5344ca6ad7cc8beda456481",
"envelope_id": "6697e681c5e364c7c23710d4",
"file_name": "test"
}
}
// ENVELOPE_EXPIRED
{
"hook": {
"id": "6697ccb204bd194fa74c22b4",
"event": "envelope_expired",
"target": "<https://webhook.site/47acfde3-bd83-4fbc-9ff1-ea0dc030e118>"
},
"data": {
"id": "6697ccb204bd194fa74c22b4",
"uid": "4a6e29bfc5344ca6ad7cc8beda456481",
"envelope_id": "6697e681c5e364c7c23710d4",
"file_name": "test"
}
}
// ENVELOPE_VOIDED
{
"hook": {
"id": "6697ccb204bd194fa74c22b4",
"event": "envelope_voided",
"target": "<https://webhook.site/47acfde3-bd83-4fbc-9ff1-ea0dc030e118>"
},
"data": {
"id": "6697ccb204bd194fa74c22b4",
"uid": "4a6e29bfc5344ca6ad7cc8beda456481",
"envelope_id": "6697e681c5e364c7c23710d4",
"file_name": "test"
}
} -
Processar a notificação: Quando o seu servidor recebe uma notificação de webhook:
- Verifique o payload para garantir que se trata de uma notificação de webhook válida.
- Extraia as informações relevantes do payload.
- Execute as ações necessárias com base no tipo de evento (por exemplo, atualizar a sua base de dados, notificar utilizadores, despoletar outros processos).
-
Envie uma resposta
200 OKpara confirmar a receção do webhook.
Os webhooks do Sign.Plus só serão enviados a partir dos seguintes endereços IP autorizados:
34.65.253.117
34.65.146.131
Melhores práticas
- Segurança: Certifique-se de que o endpoint do webhook é seguro. Considere implementar autenticação para o URL do webhook.
- Idempotência: Conceba o seu manipulador de webhooks para ser idempotente. Isto significa que deve produzir o mesmo resultado mesmo que o mesmo webhook seja recebido várias vezes.
- Tratamento de erros: Implemente um tratamento de erros robusto na lógica de processamento dos seus webhooks.
Ao seguir este guia, será capaz de configurar e tratar webhooks de forma eficaz, permitindo que a sua aplicação receba atualizações em tempo real sobre os estados dos envelopes no Sign.Plus.