Endpoints /instance/connect e /instance/connectionState retornam 404 Not Found (v2.3.6) enquanto /message/sendText funciona com a mesma baseURL e apikey
Bem-vido!
- [x] Sim, pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
O que você fez?
Contexto
- Plataforma: EvolutionAPI Manager v2.3.6 (rodapé do dashboard).
- Host: https://evo.iagentevirtual.tech
- Instância: domenica_sdr_institutodom (status Connected no Manager).
- Cliente: integração via n8n, fazendo chamadas HTTP com apikey nos headers.-
- Objetivo: checar/garantir a conexão da instância antes de enviar mensagens.
Passos para reproduzir
Com a instância domenica_sdr_institutodom conectada no Manager, chamar:
A) Verificar estado da conexão
curl -i
-H "apikey: <SUA_APIKEY>"
"https://evo.iagentevirtual.tech/instance/connectionState/domenica_sdr_institutodom"
B) (Opcional) Forçar conexão
curl -i -X POST
-H "apikey: <SUA_APIKEY>"
"https://evo.iagentevirtual.tech/instance/connect/domenica_sdr_institutodom"
Também testado com o prefixo /api: https://evo.iagentevirtual.tech/api/instance/connectionState/... e https://evo.iagentevirtual.tech/api/instance/connect/....
Em seguida, testar o envio de mensagem (mesma baseURL e apikey):
curl -i -X POST
-H "Content-Type: application/json"
-H "apikey: <SUA_APIKEY>"
-d '{"jid":"[email protected]","text":"Teste"}'
"https://evo.iagentevirtual.tech/message/sendText/domenica_sdr_institutodom"
Resultado atual
As chamadas aos endpoints /instance/connectionState/{instance} e /instance/connect/{instance} retornam 404 Not Found.
O mesmo ocorre quando usamos o prefixo /api (404).
Em ambiente n8n, se a URL é relativa (ex.: começa com /instance/...), o próprio n8n acusa “URL must start with http or https”; ao usar a URL absoluta https://..., o erro passa a ser 404 (ou seja, não é erro do n8n, é da API).
Já a chamada POST /message/sendText/{instance} funciona com a mesma apikey e baseURL (mensagem enviada com sucesso).
Resultado esperado
GET /instance/connectionState/{instance} deve responder 200 com algo como: { "instance": { "instanceName": "domenica_sdr_institutodom", "state": "connected" } }
POST /instance/connect/{instance} deve responder 200 realizando (ou confirmando) a conexão, ou retornar um erro coerente (ex.: “already connected”) – não 404.
Evidências/saídas
404 Not Found para:
-
https://evo.iagentevirtual.tech/instance/connectionState/domenica_sdr_institutodom
-
https://evo.iagentevirtual.tech/instance/connect/domenica_sdr_institutodom
-
idem com /api/instance/...
-
200 OK (mensagem enviada) para:
-
https://evo.iagentevirtual.tech/message/sendText/domenica_sdr_institutodom
Observações
A instância aparece Connected no Manager, então connectionState deveria existir/retornar estado; e connect deveria existir/retornar algo consistente.
A documentação não deixa claro se esses endpoints exigem /api em todas as instalações. Mesmo testando com e sem /api, ambos retornam 404, enquanto message/sendText funciona (sem /api).
Pode ser um problema de roteamento/ingress expondo apenas rotas de /message/* e não as de /instance/*, ou uma mudança de path não refletida nos docs.
Ambiente
- EvolutionAPI Manager: 2.3.6
- Host: evo.iagentevirtual.tech
- Instância: domenica_sdr_institutodom (Connected)
- Cliente de chamadas: n8n + cURL
- Data/Hora do teste: 11/11/2025 - 22:27
Eu estou usando a EvolutionAPI no endereço https://evo.iagentevirtual.tech com a instância chamada domenica_sdr_institutodom. No painel (Manager) essa instância aparece como Connected.
Quero apenas conferir se a instância está conectada e, se precisar, mandar conectar. Para isso, tentei acessar estes endereços:
https://evo.iagentevirtual.tech/instance/connectionState/domenica_sdr_institutodom
https://evo.iagentevirtual.tech/instance/connect/domenica_sdr_institutodom
Também testei as mesmas rotas colocando /api no caminho (por exemplo, https://evo.iagentevirtual.tech/api/instance/connectionState/...). Em todos os casos o resultado foi 404 Not Found (página não encontrada).
Ao mesmo tempo, o envio de mensagem funciona normalmente usando:
https://evo.iagentevirtual.tech/message/sendText/domenica_sdr_institutodom
Ou seja, com a mesma base do site e mesma apikey (enviada no cabeçalho), eu consigo enviar mensagens, mas não consigo usar as rotas de ver/forçar conexão da instância porque sempre voltam 404.
O que eu esperava:
A rota de ver estado da conexão retornar algo dizendo “connected” ou similar.
A rota de conectar retornar sucesso (ou avisar que já está conectado), e não 404.
Resumindo: parece que as rotas /instance/connectionState e /instance/connect não estão acessíveis nessa instalação/versão (Manager mostra v2.3.6), mesmo a instância estando conectada e o envio de mensagem funcionando.
Sugestão
- Verificar se as rotas /instance/connectionState e /instance/connect estão de fato publicadas nessa versão/implantação e se requerem um prefixo (/api) específico.
- Se houve mudança de path, atualizar a documentação e/ou manter compatibilidade.
- Se for restrição por tenant/configuração, retornar código/erro coerente (ex.: 403/501) em vez de 404.
O que você esperava?
/instance/connectionState/{instance} responder com 200 OK e um JSON simples (ex.: { "instance": "domenica_sdr_institutodom", "state": "connected" }), usando a mesma apikey do envio de mensagens.
/instance/connect/{instance} responder com 200 OK (ou 202) e um JSON de sucesso (ex.: { "connected": true }), ou uma mensagem clara de “já está conectado”.
As rotas funcionarem no mesmo host do envio (com ou sem /api, conforme documentação), sem 404.
Em caso de erro real (apikey errada, instância inexistente), retornar 401/403/404 com mensagem clara — não 404 quando a rota existe.
Comportamento consistente entre ambientes e com a documentação oficial.
O que vc observou ao invés do que esperava?
As rotas de instância dão 404 Not Found quase sempre:
GET /instance/connectionState/{instance} → 404
POST /instance/connect/{instance} → 404 Testei com e sem o prefixo /api (/api/instance/... e /instance/...) e em ambos os casos volta “The resource you are requesting could not be found”.
Ao mesmo tempo, a instância domenica_sdr_institutodom aparece Connected no Evolution Manager e a apikey é válida — portanto não era para ser 404.
O host é o mesmo do envio (ex.: https://evo.iagentevirtual.tech), porém o comportamento é inconsistente:
Para sendText, a URL com /api funciona (ex.: /api/message/sendText/{instance});
Para connect/connectionState, a mesma estrutura com /api ou sem /api retorna 404.
Antes de ajustar, apareceu 401 (Unauthorized) quando o header apikey não estava sendo passado corretamente; depois de corrigido o header, permaneceu o 404 nas rotas de instância.
Mensagens de erro são pouco claras: 404 em rotas que parecem existir (documentadas/esperadas) dificulta saber se é problema de rota, de versão, ou de permissão.
Em resumo: envio aparenta OK no mesmo domínio, mas as rotas de gestão de conexão da instância (connect/connectionState) não respondem e ficam em 404 mesmo com host, apikey e instance corretos
Capturas de Tela/Vídeos
Evolution responde mas, no final sobe ERRO 400 no N8N, o que me leva a crer que posso ajustar, criando um JSON que organize o número, mas já tentei uma centena e o erro persiste... Então investigando o node Webhook1 verifico que: O QUE O FLUXO RESPONDE: remoteJid: [email protected] remoteJidAlt: 109332872098030@lid O QUE O FLUXO NÃO RESPONDE (erro 400): remoteJid: 214782741356582@lid remoteJidAlt: [email protected]
Tentei algumas alterações no N8N mas sem sucesso!
https://github.com/user-attachments/assets/93044259-01af-461d-983f-14eb2da580e1
Qual versão da API você está usando?
Version: 2.3.6
Qual é o seu ambiente?
Windows
Outras expecificações do ambiente
No response
Se aplicável, cole a saída do log
No response
Notas Adicionais
No response