Evolution API e n8n: um fluxo que funciona

O fluxo mais pedido é este: chega uma mensagem de WhatsApp, o n8n decide o que fazer e responde. Na prática são três peças: um webhook que recebe a mensagem da Evolution API, um passo de decisão e um pedido de volta à Evolution API a mandar a resposta. Este artigo monta o fluxo do lado da Evolution API. Para o lado do n8n, com mais exemplos, veja n8n e WhatsApp: um fluxo de mensagens.

O que precisa de ter antes

1 A Evolution API a correr, com uma instância ligada e a enviar. Veja enviar a primeira mensagem.
2 O n8n a correr, de preferência no mesmo VPS e com HTTPS. Veja instalar o n8n com Docker Compose.
3 Os dois a alcançarem-se. Se estão na mesma rede do Docker, falam pelo nome do serviço. Se estão em servidores diferentes, falam por HTTPS e domínio.

O fluxo, peça a peça

1 O nó Webhook recebe. Crie um fluxo com um nó Webhook e copie o endereço de produção, não o de teste. Cole-o no webhook da instância da Evolution API, como em receber mensagens por webhook.
2 Um filtro deixa passar só o que interessa. Mensagens recebidas (não as que você envia), de conversas individuais e de texto. Veja nos dados reais de uma mensagem quais os campos que lhe dizem isto.
3 A decisão. Pode ser uma regra simples (a mensagem contém uma palavra), uma consulta a uma folha ou base de dados, ou um pedido a um modelo de IA. Comece pelo mais simples.
4 O nó HTTP Request responde. Faz um pedido à Evolution API a mandar texto ao número que escreveu. A rota e os campos estão na documentação da Evolution API. A chave fica numa credencial do n8n, nunca escrita no nó.
5 Active o fluxo. Só no estado activo é que o endereço de produção responde. Depois mande uma mensagem de outro telemóvel e veja a execução na lista de execuções do n8n.
O ciclo infinito. Se o fluxo responde a todas as mensagens e a resposta chega de volta como evento, responde a si próprio sem parar e queima o número. O filtro do segundo passo não é opcional.

O que corre mal

Sintoma Causa provável
O n8n não recebe nada Está a usar o endereço de teste, ou o fluxo não está activo. Veja os webhooks do n8n.
O nó HTTP Request dá erro de ligação Se a Evolution API está noutro contentor, localhost não serve: use o nome do serviço ou o domínio.
Erro de autorização A chave na credencial está errada ou no cabeçalho errado.
Responde duas vezes O webhook entregou o evento duas vezes. Guarde o identificador da mensagem e ignore os repetidos.
Mensagens perdidas O fluxo demora demasiado antes de responder ao webhook. Responda logo e faça o resto depois.

Responder como uma pessoa

Se o número é ligado por Baileys, o comportamento conta. Respostas instantâneas, todas iguais e a toda a hora são o padrão que as defesas do WhatsApp procuram. Ponha uma pequena espera entre receber e responder (o n8n tem um nó para isso), varie o texto e limite o volume. Se o negócio depende do número, pense na Cloud API: veja Baileys ou Cloud API.

Guarde o fluxo no n8n e faça uma cópia exportada. Para não perder as credenciais, guarde também a chave de encriptação do n8n. Veja cópias do n8n.

Quer montar isto num servidor seu? O n8n e a Evolution API cabem num mesmo VPS.

Ver servidores VPS

VEJA TAMBÉM

n8n e WhatsApp: um fluxo de mensagens

Receber mensagens: webhooks da Evolution API

Instalar o n8n com Docker Compose

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupom)

Ver planos
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?