Carousel Template — With Dynamic CTA
Send a carousel template — a swipeable strip of cards. Each card can have its own image header, body variable values, and a dynamic CTA URL. Carousels are great for product recommendations, multi-deal promotions, or anything where one message body needs to introduce many actionable items.
Endpoint
POST
https://api.splashifypro.com/api/v1/public/message
Headers
Request body
json
{
"phoneNumber": "9999999999",
"callbackData": "carousel_promo",
"type": "Template",
"template": {
"name": "template_name_here",
"languageCode": "en",
"bodyValues": [
"body_variable_value_1",
"body_variable_value_2"
],
"carouselCards": [
{
"headerValues": ["media_url_here"],
"bodyValues": ["body_variable_value_1"],
"buttonValues": { "1": ["button_variable_value_1"] }
},
{
"headerValues": ["media_url_here"],
"bodyValues": ["body_variable_value_1"],
"buttonValues": { "1": ["button_variable_value_1"] }
}
]
}
}Example
bash
curl -X POST https://api.splashifypro.com/api/v1/public/message \
-H "Authorization: Basic YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "9999999999",
"callbackData": "some text here",
"type": "Template",
"template": {
"name": "template_name_here",
"languageCode": "en",
"bodyValues": ["body_variable_value_1", "body_variable_value_2"],
"carouselCards": [
{
"headerValues": ["media_url_here"],
"bodyValues": ["body_variable_value_1"],
"buttonValues": { "1": ["button_variable_value_1"] }
},
{
"headerValues": ["media_url_here"],
"bodyValues": ["body_variable_value_1"],
"buttonValues": { "1": ["button_variable_value_1"] }
}
]
}
}'Successful response — 201 Created
json
{
"result": true,
"message": "Message created successfully",
"id": "b90f02bd-1316-49ce-b5d0-f6be14fce2b8"
}Tips
- All cards share the same template definition. You can't mix image headers and video headers in the same carousel — the template defines a single header type that every card inherits.
- Card count must match the template's approved card count. If the template was approved with 4 cards, you must pass exactly 4 entries in
carouselCards. - Use Without Dynamic CTA when the buttons are static (e.g. a fixed
View on websiteURL with no per-card variable).