Enviar imagem, vídeo, áudio ou documento
Envia imagem, vídeo, áudio ou documento por URL HTTPS ou base64.
curl -X POST "https://seu-dominio/instances/:id/media" \
-H "x-api-key: $VERTICE_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","kind":"image","url":"https://bucket.supabase.co/...","caption":"Legenda","ptt":false}'
const response = await fetch('https://seu-dominio/instances/:id/media', {
method: 'POST',
headers: {
'x-api-key': process.env.VERTICE_API_KEY ?? '',
'content-type': 'application/json',
},
body: JSON.stringify({
"to": "5511999999999",
"kind": "image",
"url": "https://bucket.supabase.co/...",
"caption": "Legenda",
"ptt": false
}),
});
const payload = await response.json();
console.log(payload);
Conceituação
Envia imagem, vídeo, áudio ou documento por URL HTTPS ou base64. No envio pela fila, informe a mídia por URL.
Envio síncrono devolve o ID da mensagem imediatamente. Com queue, delayMessage, delayTyping ou idempotencyKey, a resposta é 202 e o job pode ser acompanhado em /instances/:id/queue.
A operação exige que a instância esteja conectada ao WhatsApp. Caso o socket esteja desconectado, a API responde 409 not_connected.
Atributos
Header
x-api-key
string
obrigatório
API key do workspace (vtc_live_...). Também aceita Authorization: Bearer.
content-type
string
obrigatório
application/json.
Path
id
string
obrigatório
ID da instância.
Body
to
string
obrigatório
Telefone com DDI e DDD, ou JID de grupo terminando em @g.us.
kind
string
obrigatório
Tipo da mídia: image, video, audio ou document.
url
string
opcional
URL HTTPS pública da mídia. Obrigatória no envio pela fila.
caption
string
opcional
Legenda opcional para imagem, vídeo ou documento.
ptt
boolean
opcional
Quando true, envia como mensagem de voz.
Request Body
{
"to": "5511999999999",
"kind": "image",
"url": "https://bucket.supabase.co/...",
"caption": "Legenda",
"ptt": false
}
Resposta
{
"data": {
"id": "3EB0...",
"to": "5511999999999@s.whatsapp.net",
"status": "sent"
}
}
Respostas de sucesso são envelopadas em data.