Conectar a Evolution API
Com uma instância da Evolution API conectada ao WhatsApp, o agente responde por ela. Você informa três dados no console e o Mensageiro configura o webhook da instância.
Antes de começar, crie o agente em Agentes, no console. A instância conectada aqui passa a ser atendida por ele.
1. Confira a instância
A instância precisa estar conectada ao WhatsApp, pelo QR code no Manager ou por GET /instance/connect/{instance}. O estado deve ser open:
GET https://evolution.suaempresa.com.br/instance/connectionState/lojaapikey: API_KEY_DA_INSTANCIA2. Junte os três dados
| Campo no Mensageiro | O que é |
|---|---|
instance_url | O endereço do seu servidor da Evolution API, sem barra no fim e sem caminho: https://evolution.suaempresa.com.br. |
instance_name | O nome da instância, como aparece no Manager: loja. |
api_key | A chave que vai no cabeçalho apikey. A Evolution aceita o token da instância ou a chave global (AUTHENTICATION_API_KEY). Prefira o token da instância: ele abre só essa instância. |
3. Conecte o canal no Mensageiro
No console, abra o agente e conecte um canal do tipo Evolution API com instance_url, instance_name e api_key. Pela API, é a mesma chamada:
curl https://api.mensageiro.ai/v1/agents/ID_DO_AGENTE/channels \ -H "Authorization: Bearer sk-msg-SUA_CHAVE" \ -H "Content-Type: application/json" \ -d '{ "kind": "evolution", "instance_url": "https://evolution.suaempresa.com.br", "instance_name": "loja", "api_key": "API_KEY_DA_INSTANCIA" }'Na hora de criar o canal, o Mensageiro chama POST {instance_url}/webhook/set/{instance} e aponta o webhook da instância para o canal. A API key fica selada e nunca volta numa resposta.
{ "data": { "id": "ch_…", "kind": "evolution", "status": "active", "label": "loja", "webhook_url": "https://api.mensageiro.ai/api/channels/evo/ch_…?s=…", "verify_token": null, "webhook_set": true, "last_error": null }}Com webhook_set igual a true, terminou: vá para o passo 5.
4. Se webhook_set vier false
O Mensageiro não conseguiu configurar a instância (a URL não respondeu ou a chave não tem acesso). Configure você mesmo com o webhook_url do canal, inteiro, com o parâmetro ?s=. No Manager, abra os webhooks da instância, cole a URL, ative o evento MESSAGES_UPSERT e deixe o webhook por eventos e o base64 desligados. Pela API:
POST https://evolution.suaempresa.com.br/webhook/set/lojaapikey: API_KEY_DA_INSTANCIAContent-Type: application/json { "webhook": { "enabled": true, "url": "WEBHOOK_URL_DO_CANAL", "byEvents": false, "base64": false, "events": ["MESSAGES_UPSERT"] }}Na Evolution API v2, os campos ficam dentro de "webhook", como o schema do servidor exige. byEvents desligado importa: ligado, a Evolution soma o nome do evento ao fim da URL e o endereço do canal deixa de valer. Confira o resultado:
GET https://evolution.suaempresa.com.br/webhook/find/lojaapikey: API_KEY_DA_INSTANCIA5. Teste
Mande uma mensagem de outro celular para o número da instância. O evento MESSAGES_UPSERT chega ao Mensageiro, o agente responde pela própria instância (POST /message/sendText/{instance}) e a conversa aparece no console.
Quando o cliente escreve atendente, o agente pausa por 12 horas para aquele contato. Como o celular continua conectado à instância, a sua equipe responde pelo próprio WhatsApp.
Se algo não funcionar
| Sinal | O que conferir |
|---|---|
webhook_set igual a false | A instance_url precisa responder pela internet e a api_key precisa abrir a instância. Ou siga o passo 4. |
| Nenhuma mensagem chega | Estado da instância open, evento MESSAGES_UPSERT ativo e byEvents desligado em /webhook/find. |
O canal fica com status error | Leia last_error no canal e confira o estado da instância e a api_key. |
| Áudio ou imagem sem resposta | O agente responde texto e pede ao cliente para escrever. Grupos e status ficam de fora. |
Para responder com o bot OpenAI da própria Evolution, sem agente hospedado, veja o guia do bot OpenAI da Evolution. Para o número oficial da Meta, veja Conectar WhatsApp oficial.