Para receber mensagens com a Evolution API não se pergunta à API se há novidades: configura-se um webhook, um endereço seu que a API chama sempre que acontece algo (chegou uma mensagem, mudou o estado da ligação). O seu endereço recebe um pedido com os dados e decide o que fazer. Se ainda não sabe bem o que é, comece por o que é um webhook e como o testar.
Os nomes dos eventos, os campos do webhook e a forma de o configurar estão na documentação oficial, e dependem da versão. Aqui fica o que costuma correr mal.
Montar a recepção
| 1 |
Tenha um receptor. Pode ser um fluxo do n8n, um ficheiro do seu site ou uma aplicação sua. Precisa de um endereço que a Evolution API alcance. Para o n8n, veja os webhooks do n8n.
|
|
| 2 |
Indique o endereço à instância. A documentação diz como definir o webhook de cada instância e como escolher os eventos que interessam. Comece pelos de mensagens recebidas.
|
|
| 3 |
Mande uma mensagem de teste ao número ligado e veja se o receptor recebeu o pedido. Grave o conteúdo cru de uma mensagem verdadeira: é a melhor documentação dos campos que tem.
|
|
| 4 |
Responda depressa. O receptor deve devolver sucesso logo, e fazer o trabalho demorado depois. Um receptor lento dá repetições e perdas.
|
|
| 5 |
Trate as repetições. Qualquer sistema de webhooks pode entregar o mesmo evento duas vezes. Guarde o identificador da mensagem e ignore o que já viu.
|
|
Porque não chega nada
| Sintoma |
Causa provável |
| Nenhum pedido no receptor |
O webhook não está definido nessa instância, o evento não está escolhido, ou o endereço está mal escrito. |
| O receptor está no mesmo servidor e não é alcançado |
Dentro de um contentor, localhost é o próprio contentor. Se estão na mesma rede do Docker, use o nome do serviço. Se não, use o domínio público. |
| Funciona à mão mas não pela API |
No n8n, o endereço de teste só funciona enquanto escuta. O de produção só responde com o fluxo activo. |
| Erro de certificado |
O receptor tem um HTTPS inválido ou expirado. Veja HTTPS para um contentor. |
| Chega duas vezes |
É normal em webhooks. Faça o seu fluxo tolerar repetições. |
|
Cuidado com o ciclo. Se o seu fluxo responde automaticamente a cada mensagem e os eventos incluem as que você próprio envia, ele responde a si mesmo sem parar. Filtre pelo sentido da mensagem (veja nos dados reais qual o campo) e responda só às recebidas. E não responda a mensagens de grupos por defeito.
|
Proteger o receptor
| 1 |
Use HTTPS. Os dados das mensagens passam pelo pedido.
|
|
| 2 |
Ponha um segredo no endereço (um troço difícil de adivinhar) ou verifique, no receptor, um valor que só a sua API envia. Sem isso, qualquer pessoa que descubra o endereço pode inventar mensagens.
|
|
| 3 |
Não confie no conteúdo. O texto vem de quem escreveu. Nunca o execute nem o ponha numa consulta à base de dados sem o tratar.
|
|
|
Antes de ligar um fluxo a clientes verdadeiros, deixe-o a receber durante uns dias e leia o que chegou. Os casos esquisitos (imagens, áudios, respostas a mensagens, grupos) aparecem logo. Para o fluxo completo com o n8n, veja a Evolution API com o n8n.
|
|
Tem o receptor num servidor seu e precisa de lhe pôr HTTPS? Veja os VPS.
Ver servidores VPS
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 396,00 MT/mês (plano de 3 anos, com cupão) Ver planos |