Como já explicamos no primeiro artigo APRENDENDO SOBRE WEBHOOKS DO TOOLZZ CONNECT - PARTE 1 os webhooks permitem que você envie dados para o Toolzz Connect através de HTTP. Os webhooks criam uma URL que você pode chamar de aplicativo, serviço externo ou de outro cenário do Toolzz Connect.
Como funciona
Use webhooks para acionar a execução de cenários.
Os webhooks geralmente atuam como gatilhos instantâneos. Ao contrário dos gatilhos programados, que solicitam periodicamente a um determinado serviço o processamento de novos dados, os webhooks executam o cenário imediatamente após a URL do webhook receber uma solicitação.
Tratamento de erros
Quando ocorre um erro em um cenário com webhook:
-
O cenário para imediatamente se estiver configurado para execução imediata.
-
Se estiver programado, o cenário para após 3 tentativas com erro.
Se o cenário tiver um módulo "Webhook response", o erro será enviado para ele, que sempre é executado por último, a menos que o "auto commit" esteja ativado nas configurações.
Formatos de dados de entrada suportados
O Toolzz Connect suporta os seguintes formatos de dados de entrada:
-
Query string
-
Form data
-
JSON
Se um webhook receber dados na query string e no formulário ou JSON ao mesmo tempo, o sistema combinará todos os dados em um único pacote. Se houver dados duplicados, a query string terá prioridade e substituirá os dados dos outros formatos. Recomendamos evitar duplicar dados na query string, formulário e JSON.
Cabeçalhos de webhook
Para acessar os cabeçalhos do webhook, habilite a opção "Get request headers" nas configurações avançadas quando for criar ou adicionar um webhook.

Você pode extrair um valor específico de um cabeçalho usando as funções "map()" e "get()". No exemplo abaixo, uma fórmula extrai o valor do cabeçalho "authorization" do array Headers[]. A fórmula é usada em um filtro para comparar o valor extraído com um texto específico, permitindo que o webhook passe apenas se houver correspondência.

Respondendo a webhooks
A resposta padrão para uma chamada de webhook é um texto simples: "Accepted". Essa resposta é enviada imediatamente ao chamador durante a execução do módulo "Custom Webhook". Para testar isso, siga os passos abaixo:
1º passo: no módulo Custom Webhook copie a URL do webhook.

2º passo: salve e execute o cenário – o módulo "Custom Webhook" ficará aguardando a chamada.

3º passo: abra uma nova janela do navegador, cole a URL na barra de endereços e pressione Enter.
O módulo Custom Webhook será acionado e o navegador mostrará a seguinte página:
Essas são as respostas padrão quando o cenário não inclui o módulo Webhook Response:
Webhook aceito na fila > Código de status HTTP 200 > Body Accepted (aceito).
Fila de webhook cheia > Código de status HTTP 400 > Body Queue is full (a fila está cheia).
Para personalizar a resposta do webhook, use o módulo Webhook Response. Ele possui dois campos: Status e Body.
-
O campo Status deve incluir códigos de status HTTP, como:
-
2xx para sucesso (exemplo: 200 para OK);
-
3xx para redirecionamento (exemplo: 307 para redirecionamento temporário);
-
4xx para erros do cliente (exemplo: 400 para solicitação inválida).
-
-
O campo Body pode conter qualquer formato aceito pelo webhook, como texto simples, HTML, XML ou JSON. É recomendável definir o cabeçalho Content-Type de acordo com o tipo de conteúdo que você está enviando, como:
-
text/plain para texto simples;
-
text/html para HTML;
-
application/json para JSON;
-
application/xml para XML.
-
Estas são respostas padrão adicionais quando o cenário contém o módulo "Webhook Response":
O cenário encontra um erro > Código de status HTTP 500 > Body O cenário não foi concluído.
O tempo limite para enviar uma resposta é de 40 segundos. Se a resposta não for enviada dentro desse prazo, o Toolzz Connect retornará o status "200 Accepted".
Exemplo de resposta HTML
Configure o módulo "Webhook Response" da seguinte forma:
Status
2xx código de status HTTP de sucesso, por exemplo, 200.
Body
Código HTML, por exemplo:
<!DOCTYPE html >
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< title > Obrigado! </ title >
</ head >
< body > Obrigado, {{1.name}}, pela sua solicitação!
</ body >
</ html >
Custom headers
Key Content-type
Value text/html
Ele produzirá uma resposta HTML que será exibida assim em um navegador da web:
"Thank you name for your request!"
Exemplo de redirecionamento
Configure o módulo "Webhook Response" da seguinte forma:
Status
Código de status HTTP de redirecionamento 3xx , por exemplo 303
Custom headers
Key Location
Value A URL para a qual você gostaria de redirecionar.
Mailhook personalizado
O Mailhook é um módulo de gatilho instantâneo acionado quando você envia um e-mail para o endereço gerado pelo módulo.
❗Informação importante: o tamanho máximo de um e-mail, incluindo seus anexos, que você envia para um mailhook é de 25 MB.
Exemplo de Uso
O Mailhook monitorará seus e-mails recebidos sem a necessidade de uma execução agendada do cenário.
1º passo: adicione ao seu cenário o módulo de Webhook "Custom mailhook".
Adicione um endereço de e-mail mailhook e copie o endereço que será gerado.

2º passo: salve e execute o cenário.

3º passo: para finalizar, abra as configurações da sua conta de e-mail e configure o encaminhamento. Use o endereço de e-mail gerado pelo módulo "Custom mailhook" no endereço de encaminhamento.
- Para configurar o redirecionamento de e-mails no Gmail, siga os passos do artigo Encaminhar as mensagens do Gmail automaticamente para outra conta.
Depois da configuração, toda vez que um novo e-mail for recebido em sua conta de e-mail, o módulo "Custom mailhook" será acionado e receberá os dados da mensagem de e-mail.
💡Dica
Os endereços do remetente e dos destinatários (Para: CC e BCC) são capturados na estrutura de dados do e-mail recebido. O campo Reply-To pode ser encontrado na seção de cabeçalhos (Header).
Limite de taxa de Webohook
O Toolzz Connect pode processar até 30 solicitações de webhook recebidas por segundo.
Se você enviar mais de 30 solicitações por segundo, o sistema retornará um erro com código de status 429.
Solução de problemas
Itens ausentes no painel de mapeamento
Se faltarem itens no painel de mapeamento após configurar o módulo "Custom Webhook" , clique no módulo e, em seguida, selecione "Re-determine data structure".

Em seguida, siga as instruções da seção "Criando webhooks personalizados" .
Pronto! Agora você já sabe tudo sobre o módulo "Webhook" do Toolzz Connect.