Send Messages
Send Options List
Sends a list menu with sections and selectable items. The contact taps the button and chooses an option.
POST
https://api.zapzapapi.com/api/v1/{instanceId}/send/listAuthentication with the x-api-key and x-api-secret headers.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
number | text | body | Yes | Recipient number |
text | text | body | Yes | Main text |
choices | json | body | Yes | Options: use "[Section]" for a header and "Item|id|description" for each item |
listButton | text | body | No | Text of the button that opens the list |
footerText | text | body | No | Footer (optional) |
digitando | select | body | No | Shows an automatic "typing..." indicator, proportional to the message length, before sending. On by default (humanizes and reduces block risk). Send false to turn it off and reply faster. The response remains synchronous. |
Request example
curl
curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/list" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","text":"Escolha uma opção:","choices":["[Produtos]","Camiseta|p1|R$ 50","Calça|p2|R$ 120"]}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/list", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"x-api-secret": "YOUR_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"text": "Escolha uma opção:",
"choices": [
"[Produtos]",
"Camiseta|p1|R$ 50",
"Calça|p2|R$ 120"
]
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/list",
headers={"x-api-key": "YOUR_API_KEY", "x-api-secret": "YOUR_API_SECRET"},
json={"number":"5511999999999","text":"Escolha uma opção:","choices":["[Produtos]","Camiseta|p1|R$ 50","Calça|p2|R$ 120"]},
)
print(res.json())Response example
JSON
{
"messageType": "ListMessage",
"status": "Pending"
}Values are illustrative; the fields follow the real response format.
Other endpoints in this category
Get your API keys
Create your account, connect a number in minutes and start using the API. R$15 per active number/month, with a welcome credit when you create the account, subject to the current campaign.
