Exemplo de requisição
curl -X POST "https://seu-dominio/instances/:id/messages/options-list" \
-H "x-api-key: $VERTICE_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","text":"Escolha uma opção","buttonText":"Selecionar","sections":[{"title":"Departamentos","rows":[{"id":"sales","title":"Comercial"}]}]}'
const response = await fetch('https://seu-dominio/instances/:id/messages/options-list', {
method: 'POST',
headers: {
'x-api-key': process.env.VERTICE_API_KEY ?? '',
'content-type': 'application/json',
},
body: JSON.stringify({
"to": "5511999999999",
"text": "Escolha uma opção",
"buttonText": "Selecionar",
"sections": [
{
"title": "Departamentos",
"rows": [
{
"id": "sales",
"title": "Comercial"
}
]
}
]
}),
});
const payload = await response.json();
console.log(payload);
Entenda
Conceituação
Lista de seleção (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.
buttonText
string
opcional
Campo buttonText do corpo JSON.
sections
array<object>
opcional
Campo sections do corpo JSON.
Payload
Request Body
{
"to": "5511999999999",
"text": "Escolha uma opção",
"buttonText": "Selecionar",
"sections": [
{
"title": "Departamentos",
"rows": [
{
"id": "sales",
"title": "Comercial"
}
]
}
]
}
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.