Documentação / Enviar mensagens
Enviar mensagens
Texto simples tem um atalho próprio. Para mídia, enquete e PIX, use o proxy /v1/wa, que cuida do envio com as credenciais injetadas no servidor.
Texto
POST/v1/messages/text
curl -X POST https://dashboard.vistoazul.com.br/api/v1/messages/text \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"instance":"vendas","number":"5511999999999","text":"Olá! 🚀"}'
| Campo | Tipo | Descrição |
|---|---|---|
instance | string | Nome da instância (campo name de GET /v1/instances). |
number | string | Número com DDI+DDD, só dígitos. Ex.: 5511999999999. |
text | string | O texto da mensagem. |
O proxy /v1/wa
Para os demais tipos, chame /v1/wa/<recurso>. Indique a instância no cabeçalho x-instance (se você só tem um número, pode omitir).
Como funciona: você fala só com a API do Visto Azul (sua API key). As credenciais internas são injetadas no servidor e as respostas são limpas — a infraestrutura nunca é exposta.
Mídia (imagem, vídeo, documento, áudio)
POST/v1/wa/send/media
curl -X POST https://dashboard.vistoazul.com.br/api/v1/wa/send/media \
-H "Authorization: Bearer SUA_API_KEY" \
-H "x-instance: vendas" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","type":"image","file":"https://site.com/foto.jpg","text":"Olha a novidade!"}'
| Campo | Descrição |
|---|---|
type | image, video, document, audio (arquivo de áudio) ou ptt (nota de voz, o play redondo). |
file | URL pública do arquivo (ou base64). |
text | Legenda (opcional). |
Áudio: use
type:"audio" para enviar um arquivo de áudio, ou type:"ptt" para uma nota de voz. Para nota de voz, prefira .ogg/opus (formato nativo do WhatsApp).Enquete (poll)
POST/v1/wa/send/menu
curl -X POST https://dashboard.vistoazul.com.br/api/v1/wa/send/menu \
-H "Authorization: Bearer SUA_API_KEY" \
-H "x-instance: vendas" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","type":"poll","text":"Qual horário prefere?","choices":["Manhã","Tarde","Noite"],"selectableCount":1}'
Cobrança PIX
POST/v1/wa/send/request-payment
curl -X POST https://dashboard.vistoazul.com.br/api/v1/wa/send/request-payment \
-H "Authorization: Bearer SUA_API_KEY" \
-H "x-instance: vendas" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","amount":97.00,"pixKey":"sua-chave@email.com","pixType":"email","title":"Pedido #1234","text":"Segue seu PIX 💙","itemName":"Pedido #1234"}'
| Campo | Descrição |
|---|---|
amount | Valor em reais (ex.: 97.00). |
pixKey | Sua chave PIX. |
pixType | Tipo da chave: email, cpf, cnpj, phone ou random. |
title / itemName | Título do pagamento. |
text | Mensagem que acompanha a cobrança. |
Régua automática: no painel, a cobrança já agenda lembretes D+1/D+3/D+7. Veja como agendar em lote no guia de Campanhas.
Convite de calendário
POST/v1/messages/event
curl -X POST https://dashboard.vistoazul.com.br/api/v1/messages/event \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"instance":"vendas","number":"5511999999999","title":"Demo Visto Azul","start":"2026-08-20T15:00","durationMin":30,"location":"Google Meet: https://meet.google.com/xxx","description":"Bate-papo de 30 min"}'
Envia um arquivo .ics (a pessoa toca e adiciona no calendário) mais um link "Adicionar ao Google Agenda" na legenda.
| Campo | Descrição |
|---|---|
title | Título do evento. |
start | Início em ISO (ex.: 2026-08-20T15:00). Sem fuso, assume horário de Brasília (BRT). |
durationMin | Duração em minutos (padrão 30). |
location / description | Local ou link da call e descrição (opcionais). |