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.