Webhooks
Um webhook é a forma mais simples de conexão: uma mensagem HTTP para um endereço que você define. Slack, Discord e Microsoft Teams recebem essas mensagens diretamente como publicação no canal; sistemas próprios podem fazer o que quiserem com elas.
Usos típicos: o endereço de suporte avisa novos pedidos no canal da equipe. A confirmação de pedido aciona o sistema de gestão de estoque. O alerta de servidor de um cliente aparece no Discord.
Configurar um endpoint
Seção intitulada “Configurar um endpoint”- Abra Configurações → Integrações → Webhooks e ative Ativar webhooks.
- Escolha Adicionar endpoint e informe um Nome e a URL.
- Em Modelo predefinido de payload escolha Slack, Discord, Microsoft Teams ou Generic JSON. O modelo preenche o Template de payload (JSON) com uma estrutura básica adequada, que você pode ajustar livremente.
- Testar envia uma mensagem de exemplo com dados fictícios. No Slack e afins, você a vê imediatamente no canal.
A URL você obtém no respectivo serviço:
- Slack: crie em
api.slack.com/appsum app com Incoming Webhooks; a URL gerada é o endpoint. - Discord: configurações do canal → Integrações → Webhooks.
- Teams: no canal, pelo app Workflows com o modelo para publicar quando uma solicitação de webhook é recebida.
- Sistemas próprios: qualquer endereço que aceite JSON por HTTP POST ou PUT.
Vários endpoints são possíveis, e cada um pode ser desativado separadamente: o canal de suporte e o script próprio podem coexistir.
Acionar por regra
Seção intitulada “Acionar por regra”O envio acontece exclusivamente pela automação: a ação Enviar webhook em uma regra, com o endpoint da sua escolha como destino.
O que exatamente é enviado está no template de payload do endpoint.
Nele você coloca variáveis entre chaves duplas, preenchidas ao
enviar com os dados do e-mail que acionou a regra:
{{subject}}, {{from}}, {{from_name}}, {{to}}, {{cc}},
{{date}}, {{preview}} (o início do texto), {{tags}},
{{mailbox}}, {{account_id}} e {{rule_name}}. A
Referência de variáveis abaixo do template explica cada uma. Um
aviso no Slack para o canal de suporte fica assim, por exemplo:
{ "text": "Nova solicitação de {{from_name}}: {{subject}}" }Para servidores próprios
Seção intitulada “Para servidores próprios”- Assinatura: se você preencher um Segredo HMAC (opcional), cada
requisição contém o cabeçalho
X-YouniqMail-Signature: sha256=…com uma assinatura HMAC-SHA256 do conteúdo. Com isso, seu servidor confere que a mensagem vem de você. - Novas tentativas: em erros do servidor (5xx) e problemas de rede, o YouniqMail tenta de novo até três vezes, com pausas de 1, 2 e 4 segundos. Recusas (4xx) não são repetidas. O tempo limite você define por endpoint, no máximo 30 segundos.
- Método: POST é o padrão, PUT só se o seu endpoint exigir. Redirecionamentos não são seguidos.
Bom saber
Seção intitulada “Bom saber”- A mensagem vai para o endpoint que você informa. Verifique a URL com cuidado, pois qualquer pessoa que a conheça pode publicar no canal. Trate URLs de webhook como senhas.
- Você decide o conteúdo: é transmitido o que está no template. Quem usa apenas assunto e remetente, transmite só isso.
- Recurso Pro: webhooks pertencem ao conteúdo Pro.