WhatsMax

Referência da API

Base: https://SEU-DOMINIO/v1. Autenticação por Authorization: Bearer <chave> (veja Autenticação e chaves). Corpo e resposta em JSON.

Mensagens

POST   /v1/messages                 enfileira um envio (escopo send)
GET    /v1/messages/{id}            status e histórico de eventos (escopo read_logs)
POST   /v1/messages/{id}/cancel     cancela se ainda não saiu (escopo send)
PATCH  /v1/messages/{id}            corrige o texto já enviado, até 15 min, só texto e fora do número oficial (escopo send)
DELETE /v1/messages/{id}            apaga para todos o que já saiu, até 48 h (escopo send)
GET    /v1/media/{instance}/{id}    baixa a mídia de uma mensagem recebida ou de um eco do celular (escopo read_logs)
GET    /v1/contacts/{instance}/{phone}/photo   foto de perfil do contato, se houver (escopo read_logs)

Conversas

POST   /v1/conversations/{instance}/{phone}/handoff   tira a conversa do agente: uma pessoa assumiu (escopo send)
POST   /v1/conversations/{instance}/{phone}/release   devolve a conversa ao agente (escopo send)

Opt-out

GET    /v1/opt-outs                 lista, paginada: ?page=&per_page= (até 500) e has_more (escopo read_logs)
POST   /v1/opt-outs                 registra o bloqueio de um número (escopo send)
DELETE /v1/opt-outs/{phone}         remove (escopo send)

Números

GET    /v1/instances                lista os do projeto (escopo manage_instances)
POST   /v1/instances                cria um número (escopo manage_instances)
POST   /v1/instances/connect-link   link para o cliente conectar o número oficial dele (escopo manage_instances)
GET    /v1/instances/{name}/templates   templates aprovados do número oficial; ?status=all traz todos (escopo send)
POST   /v1/instances/{name}/templates   cria um template na conta da Meta; aprovação chega por template.status (escopo manage_instances)
DELETE /v1/instances/{name}/templates/{templateName}   apaga o template na Meta (escopo manage_instances)
GET    /v1/instances/{name}         estado da conexão (escopo manage_instances)
PUT    /v1/instances/{name}         atualiza rótulos e configurações (escopo manage_instances)
DELETE /v1/instances/{name}         desconecta e arquiva; o histórico fica (escopo manage_instances)
POST   /v1/instances/{name}/repair  parear de novo sem perder nada (escopo manage_instances)
GET    /v1/instances/{name}/qrcode  QR de pareamento; com ?number=55… devolve o código de 8 dígitos (escopo manage_instances)
GET    /v1/sectors                  setores do projeto (escopo manage_instances)

Agente de IA

GET    /v1/data-source              lê a fonte de dados que o agente consulta (escopo manage_instances)
PUT    /v1/data-source              configura o endereço MCP do seu sistema (escopo manage_instances)
DELETE /v1/data-source              remove (escopo manage_instances)

Saúde

GET    /v1/health                   saúde geral do serviço (sem autenticação)
GET    /v1/health/details           contagens de números e fila do projeto (escopo read_logs)

Erros

Os erros vêm como {"error": "..."}. Quando existe um message, ele é para humanos e pode mudar: decida pelo error. Corpo inválido devolve 422.