NOVIQ Cloud API

API REST para envio e recebimento de WhatsApp, IA conversacional com memória e automação de fluxos. Tudo sob a mesma chave, com quota por plano.

Base URL: https://api.noviqcloud.online
Formato: JSON (envie Content-Type: application/json)
Status da plataforma: status.noviqcloud.online

Autenticação

Toda requisição autenticada leva sua chave de API — formato nvq_live_... — em um destes headers:

x-api-key: nvq_live_SUACHAVE
# ou
Authorization: Bearer nvq_live_SUACHAVE

A chave identifica seu tenant e carrega escopos (ex.: whatsapp:send, ai:chat). Chamadas sem o escopo necessário retornam 403. Nunca exponha a chave em código front-end. Para trocar a chave, solicite a revogação e emissão de uma nova.

Limites e quotas

LimiteValorAo exceder
Rate limit (por chave)120 requisições/minuto429 rate limit exceeded + header Retry-After
Quota mensal (por conta)conforme o plano429 monthly quota exceeded

Toda resposta autenticada devolve os headers:

X-RateLimit-Limit: 120        X-Quota-Limit: 10000
X-RateLimit-Remaining: 119    X-Quota-Used: 231
X-RateLimit-Reset: 42

Monitore X-Quota-Used ou consulte GET /v1/usage. A quota renova no dia 1º de cada mês (horário de Brasília).

Planos

PlanoRequisições/mêsPreço
Starter10.000Grátis
Business100.000R$ 99/mês
EnterpriseSob medida (sem limite fixo)Sob consulta

Erros

CódigoSignificado
400Corpo inválido ou campo obrigatório ausente — a mensagem indica o campo
401Chave ausente, inválida, expirada ou revogada
403Chave válida sem o escopo necessário
404Recurso não encontrado
429Rate limit ou quota mensal excedidos
5xxErro interno ou serviço upstream indisponível — repita com backoff
{ "error": "rate limit exceeded", "limitPerMinute": 120, "retryAfterSeconds": 42 }
{ "error": "monthly quota exceeded", "plan": "starter", "quotaLimit": 10000, "quotaUsed": 10000 }

GET/v1/me

Retorna o tenant e os escopos da chave usada. Útil para validar integração.

curl -H "x-api-key: $NOVIQ_KEY" https://api.noviqcloud.online/v1/me

GET/v1/usage

Consumo do mês corrente: plano, quota, breakdown por endpoint e série diária. Não conta na quota.

curl -H "x-api-key: $NOVIQ_KEY" https://api.noviqcloud.online/v1/usage
{
  "tenant": { "slug": "minhaempresa" },
  "period": { "start": "2026-07-01T00:00:00.000Z", "end": "2026-08-01T00:00:00.000Z" },
  "plan": "starter",
  "quota": { "limit": 10000, "used": 231, "remaining": 9769 },
  "rateLimit": { "perMinute": 120 },
  "byEndpoint": [ { "method": "POST", "path": "/v1/whatsapp/send-text", "requests": 180 } ],
  "daily": [ { "day": "2026-07-01", "requests": 42 } ]
}

GET/v1/catalogpúblico

Lista módulos, escopos e endpoints disponíveis. Não exige chave.

GET/v1/integrations/config

Endpoints e caminhos de webhook configurados para a sua conta (URL do webhook de automação, alvo de webhook do WhatsApp etc.).

POST/v1/whatsapp/send-textescopo whatsapp:send

CampoTipoDescrição
instancestring, obrigatórioNome da sua instância WhatsApp (fornecido no onboarding)
numberstring, obrigatórioDestinatário com DDI, ex. 5511999998888
textstring, obrigatórioMensagem (até 4096 caracteres)
curl -X POST https://api.noviqcloud.online/v1/whatsapp/send-text \
  -H "x-api-key: $NOVIQ_KEY" -H "Content-Type: application/json" \
  -d '{ "instance": "minhaempresa", "number": "5511999998888", "text": "Pedido #123 confirmado!" }'

POST/v1/whatsapp/send-mediaescopo whatsapp:send

CampoTipoDescrição
instancestring, obrigatórioNome da instância
numberstring, obrigatórioDestinatário com DDI
mediastring, obrigatórioURL pública ou base64 do arquivo
mediatypestringimage (padrão), video, document ou audio
captionstringLegenda (exceto áudio)
fileName, mimetypestringOpcionais, recomendados para document
curl -X POST https://api.noviqcloud.online/v1/whatsapp/send-media \
  -H "x-api-key: $NOVIQ_KEY" -H "Content-Type: application/json" \
  -d '{ "instance": "minhaempresa", "number": "5511999998888",
        "media": "https://exemplo.com/boleto.pdf", "mediatype": "document",
        "fileName": "boleto.pdf", "caption": "Segue seu boleto" }'

POST/v1/ai/chatescopo ai:chat

Conversa com a IA Noviq, com memória por conta e histórico por conversa.

CampoTipoDescrição
messagestring, obrigatórioMensagem do usuário (até 8000 caracteres)
conversation_idstringContinua uma conversa existente; omita para iniciar outra
systemstringPersona/sistema de IA (padrão: geral)
use_memorybooleanUsa memórias da conta (padrão true)
curl -X POST https://api.noviqcloud.online/v1/ai/chat \
  -H "x-api-key: $NOVIQ_KEY" -H "Content-Type: application/json" \
  -d '{ "message": "Qual o status do pedido 123?", "system": "atendimento" }'

Demais endpoints de IA

EndpointEscopoDescrição
GET/v1/ai/statusai:chatSaúde do serviço de IA e modelos disponíveis
GET/v1/ai/conversationsai:chatLista conversas da conta
GET/v1/ai/conversations/{id}ai:chatMensagens de uma conversa
GET/v1/ai/memoriesai:memory:readLista memórias da conta
POST/v1/ai/memoriesai:memory:writeGrava uma memória
POST/v1/ai/treinarai:trainTreina a IA com conteúdo da sua operação
GET/v1/ai/logsai:logs:readLog de requisições de IA

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

Dispara um fluxo de automação da sua conta. O corpo JSON é entregue ao fluxo como payload. O {path} da sua conta aparece em /v1/integrations/config.

curl -X POST https://api.noviqcloud.online/v1/automation/webhooks/meu-fluxo \
  -H "x-api-key: $NOVIQ_KEY" -H "Content-Type: application/json" \
  -d '{ "evento": "pedido_criado", "pedidoId": 123 }'

Usuários e chaves

EndpointEscopoDescrição
GET/v1/usersusers:readLista usuários da conta
POST/v1/usersusers:writeCria usuário — { "email", "fullName" }
GET/v1/users/{userId}/api-keysusers:readLista chaves emitidas para um usuário
POST/v1/users/{userId}/api-keysusers:keysEmite chave com escopos reduzidos para um usuário

A chave completa só aparece na resposta de criação — armazene com segurança.


NOVIQ Cloud · status · suporte: contato via seu gerente de conta · v0.2.0