Enviar Botoes
Em desenvolvimento
Este endpoint ainda nao esta disponivel. Sera implementado em versoes futuras.
Metodo
POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/buttons
Conceituacao
Envia uma mensagem interativa com botoes de resposta rapida para um numero de telefone atraves de um canal conectado. O destinatario pode clicar em um dos botoes para responder, o que gera uma mensagem de texto com o conteudo do botao selecionado.
Disponibilidade
Este tipo de mensagem esta disponivel apenas para canais do tipo WHATSAPP_BAILEYS. Canais WABA devem utilizar templates para interacoes com botoes.
Limites
- Maximo de botoes: 3 por mensagem.
- Texto do botao: Maximo 20 caracteres por botao.
- O campo
idde cada botao deve ser unico dentro da mensagem.
Atributos
Header
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| Authorization | string | Sim | Bearer {API_KEY} - Chave de autenticacao da API |
| Content-Type | string | Sim | application/json |
Path Parameters
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| channelId | string | Sim | ID do canal pelo qual a mensagem sera enviada. |
Body
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| to | string | Sim | Numero do destinatario no formato DDI+DDD+NUM. |
| content | string | Sim | Texto principal da mensagem exibido acima dos botoes. |
| buttons | array | Sim | Array de botoes (maximo 3). |
| buttons[].id | string | Sim | Identificador unico do botao. |
| buttons[].text | string | Sim | Texto exibido no botao. Maximo 20 caracteres. |
Request
- cURL
- Node.js
- Python
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/buttons" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"content": "Como voce avalia nosso atendimento?",
"buttons": [
{
"id": "btn_otimo",
"text": "Otimo"
},
{
"id": "btn_bom",
"text": "Bom"
},
{
"id": "btn_ruim",
"text": "Ruim"
}
]
}'
const axios = require('axios');
const response = await axios.post(
'https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/buttons',
{
to: "5511999998888",
content: "Como voce avalia nosso atendimento?",
buttons: [
{
id: "btn_otimo",
text: "Otimo"
},
{
id: "btn_bom",
text: "Bom"
},
{
id: "btn_ruim",
text: "Ruim"
}
]
},
{
headers: {
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import requests
response = requests.post(
'https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/buttons',
json={
'to': '5511999998888',
'content': 'Como voce avalia nosso atendimento?',
'buttons': [
{
'id': 'btn_otimo',
'text': 'Otimo'
},
{
'id': 'btn_bom',
'text': 'Bom'
},
{
'id': 'btn_ruim',
'text': 'Ruim'
}
]
},
headers={
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
)
print(response.json())
Response
202 - Aceito
{
"success": true,
"message": "Mensagem enfileirada para envio"
}
400 - Dados invalidos
{
"message": "Dados de entrada invalidos.",
"code": "VALIDATION_ERROR",
"errors": [
{
"field": "buttons",
"message": "O numero maximo de botoes e 3."
}
]
}
401 - Nao autorizado
{
"message": "Token de autenticacao invalido ou ausente.",
"code": "UNAUTHORIZED"
}
429 - Rate limit excedido
{
"message": "Limite de requisicoes excedido. Tente novamente em alguns segundos.",
"code": "RATE_LIMIT_EXCEEDED"
}