Sending
Send a poll
POST
/v1/messagesPolls are an official WhatsApp feature and show the same on every phone. Use them when you need a structured answer.
Request
POST https://api.api-supp.com/v1/messages with type: "poll"
| Field | Type | Notes |
|---|---|---|
recipient | string | Required |
type | string | "poll" |
question | string | Required |
options | string[] | Required. 2 to 12 options |
selectable_count | int | 1 (default) single choice; more than 1 allows that many; 0 allows any number |
to_announcement_group | bool | true when sending to a Community announcement group |
json
{
"recipient": "14155550132",
"type": "poll",
"question": "Which day suits you?",
"options": ["Monday", "Tuesday", "Wednesday"],
"selectable_count": 1
}Response
json
{
"ok": true,
"recipient": "14155550132@s.whatsapp.net",
"wa_message_id": "3EB0CB97F37F91F563B060",
"poll": {
"question": "Which day suits you?",
"options": ["Monday", "Tuesday", "Wednesday"],
"selectable_count": 1,
"to_announcement_group": false
}
}Reading the votes
Each vote arrives as an incoming message with media_type: "poll_vote":
bash
GET https://api.api-supp.com/v1/messages?chat_jid=14155550132%40s.whatsapp.net&media_type=poll_voteThe vote's content is JSON, and the voter is the message's sender:
json
{
"poll_msg_id": "3EB0...",
"selected_indices": [1],
"selected_options": ["Tuesday"],
"sender_timestamp_ms": 1747304400000
}In a 1:1 chat a new vote replaces the earlier one. In a group each participant has their own vote. There is no tally endpoint yet: count the votes in your code.
Errors
400missing question, fewer than 2 or more than 12 options, or a badselectable_count