Pular para o conteúdo

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.

  1. Abra Configurações → Integrações → Webhooks e ative Ativar webhooks.
  2. Escolha Adicionar endpoint e informe um Nome e a URL.
  3. 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.
  4. 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/apps um 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.

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}}" }
  • 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.
  • 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.