SendMenuRequest
Estrutura de dados do contrato OpenAPI.
Estrutura de dados do contrato OpenAPI.
Campos
| Campo | Tipo | Presença | Descrição |
|---|---|---|---|
number | string | obrigatório | Dígitos com DDI (8–15) ou identificador @s.whatsapp.net, @g.us ou @lid. Nunca inferir telefone de um LID. Comprimento mínimo: 1 |
replyid | string | opcional | ID de mensagem guardada para citação; desconhecida retorna 422 reply_not_found. |
delay | integer / string | opcional | Espera de digitação em milissegundos; o manager limita a 15000 ms. |
forward | boolean / string / integer / null | opcional | — |
type | string | obrigatório | Valores: "button", "buttons", "list", "poll" |
text | string | obrigatório | Até 4096 bytes. Comprimento mínimo: 1. Comprimento máximo: 4096 |
choices | array<string> | obrigatório | Mínimo de itens: 1 |
footerText | string | opcional | — |
listButton | string | opcional | — |
selectableCount | integer / string | opcional | Só em type=poll; padrão 1. |
renderMode | string | opcional | Valores: "auto", "native", "poll", "text". Padrão: "auto" |
Definição OpenAPI
json
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Dígitos com DDI (8–15) ou identificador @s.whatsapp.net, @g.us ou @lid. Nunca inferir telefone de um LID.",
"minLength": 1
},
"replyid": {
"type": "string",
"description": "ID de mensagem guardada para citação; desconhecida retorna 422 reply_not_found."
},
"delay": {
"oneOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "string",
"description": "Inteiro em formato decimal.",
"pattern": "^\\d+$"
}
],
"description": "Espera de digitação em milissegundos; o manager limita a 15000 ms."
},
"forward": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false",
"1",
"0",
""
]
},
{
"type": "integer",
"enum": [
0,
1
]
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"enum": [
"button",
"buttons",
"list",
"poll"
]
},
"text": {
"type": "string",
"description": "Até 4096 bytes.",
"minLength": 1,
"maxLength": 4096
},
"choices": {
"type": "array",
"items": {
"type": "string",
"description": "label|id|descrição, label\nid ou label; [Seção] nas listas; url:/copy: em botões. call: não suportado."
},
"minItems": 1
},
"footerText": {
"type": "string"
},
"listButton": {
"type": "string"
},
"selectableCount": {
"oneOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "string",
"description": "Inteiro em formato decimal.",
"pattern": "^\\d+$"
}
],
"description": "Só em type=poll; padrão 1."
},
"renderMode": {
"type": "string",
"enum": [
"auto",
"native",
"poll",
"text"
],
"default": "auto"
}
},
"required": [
"number",
"type",
"text",
"choices"
]
}