Skip to content
Splashify Pro
Docs

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 website URL with no per-card variable).