Token de integração, API REST completa, GraphQL em tempo real e limite de conexões WebSocket.
API REST e GraphQL
A WhatsWave expõe duas superfícies para integração técnica: a API REST (recomendada para a maioria das ações) e o GraphQL (focado em leitura e dados em tempo real). Ambas usam o mesmo token de integração gerado no painel.
Quando usar cada uma
| Superfície | Para que serve | Exemplos |
|---|---|---|
| API REST | Operações completas da plataforma — criar, atualizar, disparar e consultar via HTTP | Enviar mensagens, gerenciar campanhas, CRM, agentes, contatos, workflows, webhooks |
| GraphQL | Consultas e subscriptions em tempo real sobre dados do banco (Hasura) | Ouvir novas mensagens, status de instâncias, progresso de campanhas, cards do CRM |
Use REST para ações e integrações (ERP, CRM próprio, n8n, backend). Use GraphQL quando precisar de atualização ao vivo dos mesmos dados que o dashboard já acompanha — não como substituto geral da REST.
A documentação interativa (Swagger) da API REST fica em service.whatswave.com.br/docs. Página de produto: /recursos/api-rest-graphql.
Como obter o token de integração
- Entre no app em Configurações → Chaves de API
- Na seção Integração, gere ou copie o token de integração
- Envie nas requisições como Bearer:
Authorization: Bearer SEU_TOKEN_DE_INTEGRACAO
O token vale para REST e GraphQL. Guarde-o com segurança — quem tiver o token age em nome da sua empresa, dentro das permissões do plano.
Planos sem acesso à API (por exemplo Free/Light, conforme o catálogo) não liberam o token. Faça upgrade se a opção estiver bloqueada.
API REST — cobertura completa
A REST é a API completa do produto: a maior parte do que você faz no painel pode ser automatizada por endpoints NestJS.
Base de produção: https://api.whatswave.com.br (ou https://service.whatswave.com.br).
Exemplos do que a REST cobre
- Instâncias / canais — status, conexão, metadados de números WhatsApp e Instagram
- Mensagens e conversas — envio, histórico, filas
- Contatos — criação, atualização, tags, importação
- Campanhas — criar, agendar, acompanhar disparos
- CRM — boards, cards, movimentação no funil
- Agentes de IA — configuração e execução assistida via API
- Workflows — disparos e integrações com o motor de automações
- Webhooks — receber eventos externos e conectar ferramentas
- Billing / conta — operações expostas na documentação Swagger (conforme seu papel e plano)
Consulte sempre o Swagger para paths, payloads (snake_case) e códigos de erro atuais.
Exemplo rápido (REST)
curl -s https://api.whatswave.com.br/health \
-H "Authorization: Bearer SEU_TOKEN"
Para endpoints autenticados da sua empresa, use o mesmo header Bearer e os paths listados em /docs.
GraphQL — dados e tempo real
Endpoint: https://api.whatswave.com.br/v1/graphql
WebSocket (subscriptions): wss://api.whatswave.com.br/v1/graphql
O GraphQL da WhatsWave (Hasura) serve principalmente para:
- Queries — ler dados da empresa com o mesmo modelo do dashboard
- Subscriptions — receber atualizações em tempo real quando o banco muda
Ele não substitui a REST para enviar mensagem, criar campanha ou executar regras de negócio complexas. Para isso, continue na API REST.
O que você pode acompanhar em tempo real (GraphQL)
Subscriptions e leituras típicas (sempre filtradas pela sua empresa / permissões):
| Área | Dados em tempo real |
|---|---|
| Conversas | Chats e mensagens (novas mensagens, status, atribuição) |
| Instâncias | Status de conexão dos números / canais |
| Contatos | Alterações na base de contatos |
| Campanhas | Lista e progresso de envio / contatos da campanha |
| Agentes | Sessões do agente, mensagens da sessão, contexto |
| CRM | Boards e cards (movimentação no funil) |
| Automações | Workflow e execução em andamento (nó atual) |
| Tokens de IA | Consumo / saldo de tokens da empresa |
| Atividades | Atividades recentes do usuário na conta |
Use o protocolo graphql-ws (como o dashboard) com o mesmo Bearer token na conexão.
Limite de conexões WebSocket
Há um limite de conexões WebSocket simultâneas que sua conta pode manter no GraphQL em tempo real.
Boas práticas:
- Prefira uma conexão por aplicação e várias subscriptions nela
- Não abra dezenas de clientes WS em paralelo (scripts, workers e abas extras somam no limite)
- Feche conexões ociosas
- Se precisar de mais capacidade para um volume alto de listeners, fale com o suporte ou avalie um plano superior
Exceder o limite pode fazer novas conexões falharem ou cair até liberar slots.
REST vs GraphQL — resumo prático
| Preciso… | Use |
|---|---|
| Enviar mensagem / disparar campanha / alterar CRM via integração | REST |
| Documentação interativa e testes no navegador | Swagger (REST) |
| Ouvir novas mensagens ou status ao vivo no meu sistema | GraphQL subscription |
| Ler listas com filtros iguais ao painel | GraphQL query ou endpoints REST de listagem |
Próximos passos
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte