Template APIs

Overview

The RCS Template API allows you to create, manage, and retrieve reusable RCS message templates for your RCS bot. Templates define the structure, layout, media, and interactive actions of messages that you later send to your users.

Instead of building message content every time you send an RCS message, you create templates once and reuse them consistently across campaigns, journeys, and transactional flows.

This helps you maintain:

  • consistent message design and branding
  • faster message creation and rollout
  • easier updates when content or CTAs change
  • better governance and approval control

Available Endpoints

Endpoint nameMethodDescription
Create RCS TemplatePOSTCreates a new RCS template. This endpoint supports three template types: Text Message, Rich Media (Rich Card Standalone), and Carousel. You choose the template type using the request payload and define the content, media, and interactive suggestions (CTAs) accordingly.
Edit RCS TemplatePUTUpdates an existing RCS carousel template to modify text, media, card layout, or suggestions without creating a new template.
Add Image (Upload Asset)POSTUploads an image or media asset that can be reused in rich card or carousel templates. Useful for centralized asset management and reducing template payload size.
Fetch Bot InfoGETRetrieves information about your RCS bot from the Netcore Cloud platform. Helps you validate bot configuration or manage multiple bots.
Fetch TemplatesGETRetrieves a list of approved RCS templates. You can filter the results by status, template type, name, and pagination parameters.
Template PreviewGETRetrieves detailed information for a specific RCS template, including cards and suggestions, allowing you to preview how the template will be rendered to users.

Available Types of Template

Template typeWhen you should use it
Text MessageFor simple text-based messages with optional interactive suggestions such as replies, URLs, calls, or location actions.
Rich Media (Rich Card Standalone)For messages that require a single rich card with image/video, title, description, and CTAs.
CarouselFor messages that require multiple swipeable cards, each with its own media, text, and CTAs.

Sample Request: Create Template

curl --request POST \
     --url https://soipapi.netcorecloud.com/template/create \
     --header 'content-type: application/json' \
     --data @- <<EOF
{
  "action_type": "text_message",
  "payload": {
    "template_name": "text_message_demo",
    "rcs_type": "text_message",
    "template_content": "Time to go big or go home because it's India VS Australia FINALS!",
    "suggestions": [
      {
        "suggestionType": "reply",
        "displayText": "Click to Win",
        "postback": "click_to_win"
      },
      {
        "suggestionType": "url_action",
        "url": "https://brandx.onelink.me/",
        "displayText": "Answer and Win",
        "postback": "answer_and_win"
      },
      {
        "suggestionType": "dialer_action",
        "phoneNumber": "+919876543212",
        "displayText": "Call Now Fast",
        "postback": "call_now_fast"
      }
    ]
  }
}
EOF
curl --request POST \
     --url https://soipapi.netcorecloud.com/template/create \
     --header 'content-type: application/json' \
     --data '
{
  "action_type": "carousel",
  "payload": {
    "card_width": "SMALL_WIDTH",
    "card_height": "SHORT_HEIGHT",
    "rcs_type": "carousel",
    "save_type": "add",
    "cards": [
      {
        "type": 1,
        "image_file": "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAAC...",
        "url": "https://i.postimg.cc/7h0pYnGQ/tree-736885...",
        "thumbnail_url": "https://i.postimg.cc/Vsg8TG61/tree-736885...",
        "thumbnail_file": "",
        "title": "Hi hello welocme",
        "description": "hey good welcome",
        "is_button": true,
        "suggestions": [
          {
            "suggestionType": "url_action",
            "url": "https://netcorecloud.com/",
            "displayText": "Answer and Win",
            "postback": "answer_and_win",
            "webview": "Full"
          },
          {
            "suggestionType": "share_location",
            "displayText": "Share Location",
            "postback": "share_location_postback"
          },
          {
            "suggestionType": "calendar_event",
            "startTime": "2025-12-07 14:30:00",
            "endTime": "2025-12-30 15:00:00",
            "title": "Team Sync-up Meeting",
            "description": "Monthly team sync-up meeting - Updated",
            "displayText": "Schedule Updated Meeting",
            "postback": "meeting_scheduled_updated"
          },
          {
            "suggestionType": "view_location_latlong",
            "latitude": 19.076,
            "longitude": 72.877,
            "label": "Mumbai Store",
            "displayText": "View Location",
            "postback": "view_location_postback"
          }
        ]
      },
      {
        "type": 1,
        "image_file": "",
        "url": "https://i.postimg.cc/7h0pYnGQ/tree-736885...",
        "thumbnail_url": "",
        "thumbnail_file": "",
        "title": "[TITLE]",
        "description": "Welcome",
        "is_button": true,
        "suggestions": [
          {
            "suggestionType": "dialer_action",
            "phoneNumber": "+919876543212",
            "displayText": "Call Now Fast",
            "postback": "call_now_fast"
          },
          {
            "suggestionType": "url_action",
            "url": "https://netcorecloud.com/",
            "displayText": "Answer and Win",
            "postback": "answer_and_win"
          }
        ]
      }
    ],
    "template_name": "test_temp_16"
  }
}
'
curl --request POST \
     --url https://soipapi.netcorecloud.com/template/create \
     --header 'content-type: application/json' \
     --data '
{
  "action_type": "rich_card",
  "payload": {
    "orientation": "VERTICAL",
    "alignment": "MEDIUM_HEIGHT",
    "type": 2,
    "rcs_type": "rich_card",
    "template_id": "pqNP",
    "save_type": "add",
    "title": "box8 offer",
    "image_file": "data:video/mp4",
    "url": "",
    "thumbnail_file": "",
    "thumbnail_url": "https://i.postimg.cc/Vsg8TG61/tree-736885-960-720-7-3.jpg",
    "description": "new description",
    "suggestions": [
      {
        "suggestionType": "reply",
        "cta_id": "",
        "displayText": "trgrtrtgtrgr",
        "postback": "trgrtrtgtrgr[custom_param]",
        "url": "",
        "phoneNumber": ""
      },
      {
        "suggestionType": "url_action",
        "cta_id": "",
        "displayText": "ergergergreg",
        "postback": "ergergergreg",
        "url": "https://www.google.com",
        "phoneNumber": ""
      },
      {
        "suggestionType": "dialer_action",
        "cta_id": "",
        "displayText": "gt4ff45g45g",
        "postback": "gt4ff45g45g",
        "url": "",
        "phoneNumber": "+917977772497"
      }
    ],
    "template_name": "video_demo45"
  }
}
'

Sample Request: Edit RCS Carousel Message

curl --request PUT \
     --url https://soipapi.netcorecloud.com/template/edit \
     --header 'content-type: application/json' \
     --data '
{
  "action_type": "carousel",
  "payload": {
    "card_width": "SMALL_WIDTH",
    "card_height": "SHORT_HEIGHT",
    "rcs_type": "carousel",
    "cards": [
      {
        "type": 1,
        "image_file": "",
        "url": "https://i.postimg.cc/7h0pYnGQ/tree-736885-960-720-2-1.gif",
        "thumbnail_url": "",
        "thumbnail_file": "",
        "title": "Sample Title 1",
        "description": "Sample Description 1",
        "suggestions": [
          {
            "suggestionType": "url_action",
            "displayText": "Visit Google",
            "postback": "Visit Google",
            "url": "https://www.google.com"
          }
        ]
      },
      {
        "type": 1,
        "image_file": "",
        "url": "https://i.postimg.cc/7h0pYnGQ/tree-736885-960-720-2-1.gif",
        "thumbnail_url": "",
        "thumbnail_file": "",
        "title": "Sample Title 2",
        "description": "Sample Description 2",
        "suggestions": [
          {
            "suggestionType": "reply",
            "displayText": "Reply Example",
            "postback": "Reply Example[custom_param]"
          }
        ]
      }
    ],
    "template_name": "carousel_template_example"
  }
}
'
curl --request PUT \
     --url https://soipapi.netcorecloud.com/template/edit \
     --header 'content-type: application/json' \
     --data '
{
  "action_type": "carousel",
  "payload": {
    "card_width": "SMALL_WIDTH",
    "card_height": "SHORT_HEIGHT",
    "rcs_type": "carousel",
    "cards": [
      {
        "type": 2,
        "image_file": "data:video/mp4;base64,<BASE64_VIDEO_STRING>",
        "url": "",
        "thumbnail_url": "https://i.postimg.cc/y6tQfV8p/tree-736885-960-720-2-1.jpg",
        "thumbnail_file": "",
        "title": "Sample Title 1",
        "description": "Sample Description 1",
        "suggestions": [
          {
            "suggestionType": "url_action",
            "displayText": "Visit Google",
            "postback": "Visit Google",
            "url": "https://www.google.com"
          }
        ]
      },
      {
        "type": 1,
        "image_file": "",
        "url": "https://i.postimg.cc/yxRHkhdD/dynamic.jpg",
        "thumbnail_url": "",
        "thumbnail_file": "",
        "title": "Sample Title 2",
        "description": "Sample Description 2",
        "suggestions": [
          {
            "suggestionType": "reply",
            "displayText": "Reply Example 1",
            "postback": "Reply Example 1[custom_param]"
          }
        ]
      },
      {
        "type": 1,
        "image_file": "",
        "url": "https://i.postimg.cc/yxRHkhdD/dynamic.jpg",
        "thumbnail_url": "",
        "thumbnail_file": "",
        "title": "Sample Title 3",
        "description": "Sample Description 3",
        "suggestions": [
          {
            "suggestionType": "reply",
            "displayText": "Reply Example 2",
            "postback": "Reply Example 2[custom_param]"
          }
        ]
      }
    ],
    "template_name": "carousel_combo9"
  }
}
'