Referência da API
Todos os endpoints em um só lugar. Base: https://dashboard.vistoazul.com.br/api/v1 · Auth: Authorization: Bearer SUA_API_KEY.
Instâncias
Lista as instâncias da conta com status (connected/connecting/disconnected), número e perfil.
Cria uma instância. Corpo: { "name": "vendas", "settings"?: {…} }. Retorna a instância e o qrcode. 403 se o limite do plano foi atingido.
Gera um novo QR para reconectar.
Código de pareamento. Corpo: { "phone": "5511999999999" }.
Status detalhado da conexão.
Toggles: groupsIgnore, alwaysOnline, readMessages, rejectCall, msgCall, etc.
Define o endpoint de webhook. Veja Webhooks.
Remove a instância (204).
Mensagens
Corpo: { "instance", "number", "text" }.
Atendimento — ações na conversa
Ações sobre mensagens de uma conversa. O id da mensagem vem no webhook quando ela chega. Todas levam { "instance", … } no corpo.
Baixar mídia recebida (áudio, imagem, vídeo, documento). Corpo: { "instance", "id", "transcribe"?, "generateMp3"?, "downloadQuoted"? } → { "base64", "mimetype", "transcription" }. Com "transcribe": true devolve o áudio transcrito em texto.
Marca como lida (tique azul). Corpo: { "instance", "id" } ou { "instance", "ids": [] }.
Envia presença na conversa. Corpo: { "instance", "number", "presence", "delay"? } — presence: composing (digitando), recording (gravando áudio) ou paused.
Reage com emoji. Corpo: { "instance", "number", "id", "emoji" } — emoji vazio remove a reação.
Edita uma mensagem enviada. Corpo: { "instance", "id", "text" }.
Apaga uma mensagem para todos. Corpo: { "instance", "id" }.
Recursos avançados (proxy) — /v1/wa/*
Envio e grupos com todas as opções. Cabeçalho x-instance escolhe o número (omita se houver só um). Veja Enviar mensagens.
| Método | Rota | Para quê |
|---|---|---|
POST | /v1/wa/send/text | Texto. { number, text, mentions? } |
POST | /v1/wa/send/media | Mídia. { number, type, file, text? } |
POST | /v1/wa/send/menu | Enquete. { number, type:"poll", text, choices, selectableCount } |
POST | /v1/wa/send/request-payment | Cobrança PIX. { number, amount, pixKey, pixType, title, text, itemName } |
POST | /v1/wa/sender/simple | Envio/agendamento em lote. { numbers, type, text, delayMin, delayMax, scheduled_for?, folder? } |
POST | /v1/wa/chat/check | Quem tem WhatsApp. { numbers } |
POST | /v1/wa/group/create | Criar grupo. { name, participants } |
GET | /v1/wa/group/list | Listar grupos. |
Campanhas
Corpo: { instances[], template, recipients[], minDelayMs?, maxDelayMs? } → { campaignId }.
Status: { state, sent, failed, total }.
Funil de grupos
Corpo: { name, instance, jids[], slug?, capacity?, welcomeMsg?, fullMessage? }.
Link público de entrada (sem API key). Veja Grupos & Funil.
Contatos
Lista os contatos. Filtre por tag com ?tag=vip.
Cria ou atualiza um contato. Corpo: { "number", "name"?, "tags"?[] }.
Importa vários de uma vez. Corpo: { "text"?, "rows"?[], "tags"?[] } — text aceita uma linha por contato (numero,nome).
Códigos de status
| Código | Significado |
|---|---|
200/201 | Sucesso. |
400 | Parâmetro faltando/inválido. |
401 | API key ausente ou inválida. |
402 | Assinatura inativa. |
403 | Sem permissão / limite do plano. |
404 | Não encontrado. |