Send List Message
Send an interactive list message — a single button that opens a sectioned menu. Each row is tappable and the customer’s choice arrives as an inbound webhook carrying the row’s id.
Lists are great for menu-style flows: pick a service, pick a slot, pick a product collection. They support more options than a Button message (up to 10 rows across multiple sections).
Endpoint
POST https://apis.splashifypro.com/api/v1/public/messageHeaders
| Header | Value |
|---|---|
Authorization | Basic YOUR_API_KEY |
Content-Type | application/json |
Request body
{
"phoneNumber": "919876543210",
"callbackData": "browse_collections",
"type": "InteractiveList",
"data": {
"message": {
"type": "list",
"body": {
"text": "Check out our top product collections below!"
},
"action": {
"button": "View Collections",
"sections": [
{
"title": "service",
"rows": [
{
"id": "unique_id1",
"title": "All products",
"description": "hello"
}
]
}
]
}
}
}
}| Field | Required | Notes |
|---|---|---|
type (top level) | yes | Must be "InteractiveList" |
data.message.type | yes | Must be "list" |
data.message.body.text | yes | Body shown above the menu button. Max 1024 chars |
data.message.action.button | yes | Label on the trigger button (e.g. "View Collections"). Max 20 chars |
data.message.action.sections | yes | Array of sections, each with a title and rows |
sections[].title | optional | Section header. Max 24 chars |
sections[].rows | yes | 1+ rows per section. Up to 10 rows total across all sections |
rows[].id | yes | Stable identifier — echoed back on tap. Max 200 chars |
rows[].title | yes | Primary row label. Max 24 chars |
rows[].description | optional | Secondary line below the title. Max 72 chars |
Optional header (text only) and footer.text are supported under data.message.
Example
curl -X POST https://apis.splashifypro.com/api/v1/public/message \
-H "Authorization: Basic YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "919876543210",
"callbackData": "some_callback_data",
"type": "InteractiveList",
"data": {
"message": {
"type": "list",
"body": { "text": "Check out our top product collections below!" },
"action": {
"button": "View Collections",
"sections": [
{
"title": "service",
"rows": [
{ "id": "unique_id1", "title": "All products", "description": "hello" }
]
}
]
}
}
}
}'Successful response — 201 Created
{
"result": true,
"message": "Message queued for sending via Splashify Pro. Check webhook for delivery status",
"id": "8a35b1e1-fac5-49b4-84d8-526eaa4c4d77"
}When the user taps a row
The selection arrives via your inbound webhook as a list_reply:
{
"type": "list",
"from": "919876543210",
"list_reply": {
"id": "unique_id1",
"title": "All products",
"description": "hello"
}
}Limits at a glance
- 1–10 sections
- 10 rows total across all sections
- Title 24 chars, description 72 chars, row id 200 chars
- Body 1024 chars, button label 20 chars