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 URL | https://api.noviqcloud.online |
|---|---|
| Alternativa | https://app.noviqcloud.online — mesma API, mesmo gateway |
| Autenticação | Authorization: Bearer <api-key> ou x-api-key: <api-key> |
| Modelo padrão | groq/openai/gpt-oss-120b o melhor da conta |
| Rate limit | 120 req/min por chave |
curl -H "Authorization: Bearer $NOVIQ_KEY" https://api.noviqcloud.online/v1/me
Credencial no n8n
Credentials → New → Header Auth
| Name | NOVIQ API |
|---|---|
| Header Name | Authorization |
| Header Value | Bearer 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
| model | Contexto | Quando usar |
|---|---|---|
groq/openai/gpt-oss-120b | 131k | Padrão. O melhor. Melhor raciocínio, 1–3 s |
groq/openai/gpt-oss-20b | 131k | Metade do preço, ~1,4 s, qualidade quase igual |
groq/llama-3.3-70b-versatile | 131k | Alternativa Meta |
groq/llama-3.1-8b-instant | 131k | O mais barato e rápido (1,1 s medido) |
groq/qwen/qwen3.6-27b | 131k | Vaza <think> — evitar em atendimento |
groq/groq/compound | 131k | Sistema agêntico com busca web embutida |
qwen2.5:3b | — | Ollama 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/treinar | ensina algo à IA (vira memória permanente) |
| GET | /v1/ai/memories?q= | lista/busca memórias do tenant |
| POST | /v1/ai/memories | cria memória |
| PUT | /v1/ai/memories/{id} | edita |
| DELETE | /v1/ai/memories/{id} | remove |
| GET | /v1/ai/logs?limit=50 | modelo, 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.
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.
| Status | Significado | O que fazer |
|---|---|---|
| 400 | corpo inválido | conferir campos obrigatórios |
| 401 | chave ausente, inválida ou revogada | revisar o header |
| 403 | missing scope | a chave não tem o escopo do endpoint |
| 429 | rate limit ou quota mensal | respeitar Retry-After |
| 502 | upstream_error | IA/Evolution indisponível — repetir |
| 503 | serviço fora | ver GET /health |
Workflow de exemplo
No n8n já existe o workflow “NOVIQ - Exemplo API (IA + WhatsApp)” (importado, inativo). Ele tem dois fluxos:
- Manual → define mensagem/número/instância →
/v1/ai/chat→/v1/whatsapp/send-text. - 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