Exemplo de requisição
curl -X POST "https://seu-dominio/instances/:id/messages/buttons/image" \
-H "x-api-key: $VERTICE_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","text":"Como podemos ajudar?","buttons":[{"id":"sales","text":"Comercial","type":"reply"}],"base64":"BASE64_DA_MIDIA"}'
const response = await fetch('https://seu-dominio/instances/:id/messages/buttons/image', {
method: 'POST',
headers: {
'x-api-key': process.env.VERTICE_API_KEY ?? '',
'content-type': 'application/json',
},
body: JSON.stringify({
"to": "5511999999999",
"text": "Como podemos ajudar?",
"buttons": [
{
"id": "sales",
"text": "Comercial",
"type": "reply"
}
],
"base64": "BASE64_DA_MIDIA"
}),
});
const payload = await response.json();
console.log(payload);
Entenda
Conceituação
Envia botões interativos (experimental).
A operação exige que a instância esteja conectada ao WhatsApp. Caso o socket esteja desconectado, a API responde 409 not_connected.
Corpo JSON. Os campos abaixo são exemplos; campos marcados como obrigatórios precisam ser enviados.
Contrato
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
opcional
Telefone com DDI e DDD, ou JID de grupo terminando em @g.us.
text
string
opcional
Corpo da mensagem. Respeite o limite de 65.536 caracteres.
buttons
array<object>
opcional
Campo buttons do corpo JSON.
base64
string
opcional
Conteúdo da mídia em base64. Não é aceito pela fila.
Payload
Request Body
{
"to": "5511999999999",
"text": "Como podemos ajudar?",
"buttons": [
{
"id": "sales",
"text": "Comercial",
"type": "reply"
}
],
"base64": "BASE64_DA_MIDIA"
}
Contrato
200
Resposta
{
"data": {
"ok": true
}
}
Respostas de sucesso são envelopadas em data.
Erros comuns
400
Corpo, query ou parâmetro inválido. A resposta traz error.code e error.message.
401
Credencial ausente, inválida ou sessão expirada.
403
Escopo insuficiente, IP não autorizado ou workspace suspenso.
404
Recurso não encontrado ou pertence a outro workspace.
409
Instância não conectada ou conflito de estado.