Skip to content

Endpoints /instance/connect e /instance/connectionState retornam 404 Not Found (v2.3.6) enquanto /message/sendText funciona com a mesma baseURL e apikey #2216

@ianvirtualis-sudo

Description

@ianvirtualis-sudo

Bem-vido!

  • 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":"5561XXXXXXXX@s.whatsapp.net","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:

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

  1. 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.
  2. Se houve mudança de path, atualizar a documentação e/ou manter compatibilidade.
  3. 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: 5512983148422@s.whatsapp.net
remoteJidAlt: 109332872098030@lid
O QUE O FLUXO NÃO RESPONDE (erro 400):
remoteJid: 214782741356582@lid
remoteJidAlt: 5512982275520@s.whatsapp.net

Tentei algumas alterações no N8N mas sem sucesso!

https://github.com/user-attachments/assets/93044259-01af-461d-983f-14eb2da580e1
Image
Image
Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions