Guia n8n — Evolution + IA

Como consumir a API da NOVIQ Cloud dentro do n8n: IA com memória (RAG) e envio de WhatsApp pela Evolution, com uma única chave.

Base URL e chave

Base URLhttps://api.noviqcloud.online
Alternativahttps://app.noviqcloud.online — mesma API, mesmo gateway
AutenticaçãoAuthorization: Bearer <api-key> ou x-api-key: <api-key>
Modelo padrãogroq/openai/gpt-oss-120b o melhor da conta
Rate limit120 req/min por chave
A chave sai em texto puro uma única vez, na criação (painel → API Keys). O servidor guarda só o hash SHA-256 — não dá para recuperar depois, só emitir outra.
curl -H "Authorization: Bearer $NOVIQ_KEY" https://api.noviqcloud.online/v1/me

Credencial no n8n

Credentials → New → Header Auth

NameNOVIQ API
Header NameAuthorization
Header ValueBearer nvq_live_...

Nos nós HTTP Request: Authentication → Generic Credential Type → Header Auth → NOVIQ API.

IA — POST /v1/ai/chat

POST/v1/ai/chat escopo ai:chat

Não é proxy de LLM cru. Cada chamada passa pelo motor NOVIQ-IA: RAG (Qdrant + full-text), persona e regras do tenant, histórico da conversa, roteador de LLM com fallback automático para o Ollama local, e log de tokens/custo.

{
  "message": "texto do usuário",       // obrigatório
  "model": "groq/openai/gpt-oss-120b", // opcional
  "system": "geral",                   // opcional
  "conversation_id": "uuid",           // opcional — mantém o histórico
  "use_memory": true                   // opcional
}

Resposta:

{
  "conversation_id": "7fe0412f-35ba-46e4-aa44-06258dd997a1",
  "reply": "Sou a NOVIQ IA, assistente virtual oficial da plataforma NOVIQ Cloud.",
  "model": "openai/gpt-oss-120b",
  "tokens": { "in": 413, "out": 87 },
  "memory_hits": 2,
  "system": "geral"
}

No n8n a resposta útil é {{ $json.reply }}. Para continuar a conversa, devolva o conversation_id na próxima chamada.

Nó HTTP Request

Method: POST
URL:    https://api.noviqcloud.online/v1/ai/chat
Body:   JSON
{
  "message": "{{ $json.mensagem }}",
  "model": "groq/openai/gpt-oss-120b"
}
Options → Timeout: 60000

Modelos disponíveis

modelContextoQuando usar
groq/openai/gpt-oss-120b131kPadrão. O melhor. Melhor raciocínio, 1–3 s
groq/openai/gpt-oss-20b131kMetade do preço, ~1,4 s, qualidade quase igual
groq/llama-3.3-70b-versatile131kAlternativa Meta
groq/llama-3.1-8b-instant131kO mais barato e rápido (1,1 s medido)
groq/qwen/qwen3.6-27b131kVaza <think> — evitar em atendimento
groq/groq/compound131kSistema agêntico com busca web embutida
qwen2.5:3bOllama local, CPU, ~53 s. Só para offline

Regra do roteador: prefixo groq/ vai para o Groq; sem prefixo, para o Ollama local. Se o provedor remoto falhar ou estourar o timeout (40 s), cai sozinho no local — nunca fica sem resposta.

Treinar e memórias

POST/v1/ai/treinarensina algo à IA (vira memória permanente)
GET/v1/ai/memories?q=lista/busca memórias do tenant
POST/v1/ai/memoriescria memória
PUT/v1/ai/memories/{id}edita
DELETE/v1/ai/memories/{id}remove
GET/v1/ai/logs?limit=50modelo, tokens e latência por requisição
GET/v1/ai/conversationsúltimas 100 conversas
curl -X POST https://api.noviqcloud.online/v1/ai/treinar \
  -H "Authorization: Bearer $NOVIQ_KEY" -H "content-type: application/json" \
  -d '{"title":"Horário de atendimento","content":"Segunda a sexta, 8h às 18h.","kind":"rule"}'

kind: "rule" entra sempre no prompt; kind: "note" só quando o RAG julgar relevante.

WhatsApp — texto e mídia

Use os endpoints da plataforma, não a Evolution crua: a plataforma autentica por tenant, registra uso e mantém a apikey da Evolution fora do n8n.

Isolamento por tenant. A chave só envia pela instância do próprio tenant (a que aparece em GET /v1/integrations/config). Instância de outro tenant devolve 403 instance not allowed for this tenant.

POST/v1/whatsapp/send-text escopo whatsapp:send

{ "instance": "SUA-INSTANCIA", "number": "5562999999999", "text": "Olá!" }

POST/v1/whatsapp/send-media

{
  "instance": "SUA-INSTANCIA",
  "number": "5562999999999",
  "mediatype": "image",          // image | video | document | audio
  "media": "https://... ou base64",
  "caption": "legenda",
  "fileName": "arquivo.png",
  "mimetype": "image/png"
}

URL pública funciona quando o host não bloqueia o download da Evolution; base64 sempre funciona. audio é enviado como nota de voz.

Instâncias Evolution

O campo instance é o nome da conexão WhatsApp do seu tenant. Criar, ler o QR e gerenciar: painel app.noviqcloud.online → Instâncias (já configura o webhook do n8n sozinho). Instância recém-criada precisa do QR lido antes de enviar — sem isso o retorno é 404 instance does not exist.

Disparar o n8n de fora

POST/v1/automation/webhooks/{path} escopo automation:trigger

Encaminha o corpo para o webhook de produção do n8n, autenticado por API key, acrescentando:

{ "noviq": { "tenantId": "...", "tenantSlug": "...", "keyPrefix": "nvq_live_..." } }

Endereços: editor em https://n8n.noviqcloud.online, webhooks de produção em https://webhooks.noviqcloud.online/webhook/{path}.

Limites e erros

Toda resposta autenticada traz X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Quota-Limit e X-Quota-Used.

StatusSignificadoO que fazer
400corpo inválidoconferir campos obrigatórios
401chave ausente, inválida ou revogadarevisar o header
403missing scopea chave não tem o escopo do endpoint
429rate limit ou quota mensalrespeitar Retry-After
502upstream_errorIA/Evolution indisponível — repetir
503serviço foraver GET /health

Workflow de exemplo

No n8n já existe o workflow “NOVIQ - Exemplo API (IA + WhatsApp)” (importado, inativo). Ele tem dois fluxos:

  1. Manual → define mensagem/número/instância → /v1/ai/chat/v1/whatsapp/send-text.
  2. Webhook noviq-demo-ia/v1/ai/chat → responde o HTTP com a resposta da IA.

Duplique, troque o header pela credencial NOVIQ API e use como base.

NOVIQ Cloud · atualizado em 01/08/2026