Nothing found

Specification of the RCS message object

RCS object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
sender Text sender. Needs to be registered first. For registration contact support here. Yes -
expiration Time limit in seconds after which alternative channel will be used. Values below 60 are ignored and replaced by the default No 60
message Message object. Cannot be used in tandem with following parameters (File, Card, Carousel) see Message object No null
file File object. Cannot be used in tandem with following parameters (Message, Card, Carousel) see File object No null
card Card object. Cannot be used in tandem with following parameters (Message, File, Carousel) see Card object No null
carousel Carousel object. Cannot be used in tandem with following parameters (Message, File, Card) see Carousel object No null

Message object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
text Text of RCS message Yes -
suggestions Suggestions, see Suggestion No []

Example Message object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "reply", "text": "Thanks", "postback": "order_thanks" }, { "type": "open_url", "text": "Track the parcel", "url": "https://example.com/track/4517" } ] } } } }

File object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
url Path to the file Yes -
force_refresh force_refresh set to true forces RBM to fetch new content from the specified URL, even if the URL content is cached, which increases message delivery times for users. No false
suggestions Suggestions, see Suggestion No []

Example File object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "file": { "url": "https://example.com/invoice-4517.pdf", "force_refresh": false, "suggestions": [ { "type": "reply", "text": "Got it", "postback": "invoice_received" } ] } } } }

Example File object

File Object

Card object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
title Title of the card No null
description Description of the card No null
alignment Align card to left or right No null
orientation Orientation of the card, horizontal, or vertical No null
media Media, see Card media object No null
suggestions Suggestions, see Suggestion No []

Card Media object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
url Path to the media object Yes -
force_refresh force_refresh set to true forces RBM to fetch new content from the specified URL, even if the URL content is cached, which increases message delivery times for users. No false
height Height of media object (Short, Medium, Tall) No null

Example Card object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "card": { "title": "Order 4517", "description": "Shipped today, delivery in two working days.", "orientation": "vertical", "alignment": "left", "media": { "url": "https://example.com/order-4517.jpg", "height": "medium", "force_refresh": false }, "suggestions": [ { "type": "reply", "text": "Thanks", "postback": "order_thanks" } ], "card_suggestions": [ { "type": "open_url", "text": "Open the order", "url": "https://example.com/orders/4517" } ] } } } }

Example Card object

Card Object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
width Width of the carousel (small, medium) No null
cards List of carousel cards No []
PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
title Title of carousel card object No null
description Description of a card No null
media Media, see Card media object No null
suggestions Suggestions, see Suggestion No []

Example Carousel object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "carousel": { "width": "medium", "cards": [ { "title": "Spring jacket", "description": "Now 30 % off.", "media": { "url": "https://example.com/jacket.jpg", "height": "short" }, "suggestions": [ { "type": "open_url", "text": "Buy", "url": "https://example.com/p/jacket" } ] }, { "title": "Running shoes", "description": "Now 20 % off.", "media": { "url": "https://example.com/shoes.jpg", "height": "short" }, "suggestions": [ { "type": "open_url", "text": "Buy", "url": "https://example.com/p/shoes" } ] } ], "suggestions": [ { "type": "reply", "text": "Show more", "postback": "carousel_more" } ] } } } }

Carousel Object

Carousel suggestion Object

Suggestions object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type Type of a suggestion button, see Suggestion types No reply
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed No ok
location Location to be viewed once suggestion button is pressed, see View Location Yes, not in tandem with folliwing (calendar, phone_number, url) -
calendar Calender app opens to create new event after suggestion button is pressed, see Create calendar event Yes, not in tandem with folliwing (location, phone_number, url) -
phone_number Phone number which gets predialed when suggesion button is pressed, see Dial Number Yes, not in tandem with folliwing (location, calendar, url) -
url After pressing suggestion button phone gets redirected to specified url, see Open url Yes, not in tandem with folliwing (location, calendar, phone_number) -

Example Location quick reply object

Location quick reply object

Suggestion type

VALUE DESCRIPTION
reply Quick reply
dial_number Pre dial number
view_location Display received location
share_location Share recipients location
open_url Open received url
create_calendar_event Create calendar event

Suggestions View Location object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type view_location
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed No ok
location Location to be viewed once suggestion button is pressed. No -

Location object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
latitude Float value of latitude Yes along with longitude null
longitude Float value of longitude Yes along with latitude null
query String name of location to be looked up as a location Yes if longitude and latitude not set null
label String used to label the location in message No null

Example of Location suggestion object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "view_location", "text": "Show the pick-up point", "postback": "show_pickup", "location": { "latitude": 50.086584, "longitude": 14.410763, "query": "Karluv most", "label": "Pick-up point" } } ] } } } }

Suggestions Create calendar event object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type create_calendar_event
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed. No ok
calendar Calendar app opens to create new event after suggestion button is pressed. No -

Calendar object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
start DateTime of start of the event No null
end DateTime of the end of event No null
title String title of calendar event No null
description Text description of the event No null
timezone String of a timezone No null

Example of Calendar event suggestion object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "create_calendar_event", "text": "Add delivery to calendar", "postback": "add_delivery", "calendar": { "start": "2026-09-14T09:00:00+02:00", "end": "2026-09-14T12:00:00+02:00", "title": "Delivery of order 4517", "description": "The courier will arrive in this window.", "timezone": "Europe/Prague" } } ] } } } }

Suggestions Dial Number object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type dial_number
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed. No ok
phone_number Phone number which gets predialed when suggesion button is pressed. No -

Example of Predialed number suggestion request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "dial_number", "text": "Call the courier", "postback": "call_courier", "phone_number": "420777777779" } ] } } } }

Suggestions Open url object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type open_url
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed. No ok
url Url that you will be redirected to if you click suggestion button. No -

Example of Open url suggestion request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "open_url", "text": "Track the parcel", "postback": "track_parcel", "url": "https://example.com/track/4517" } ] } } } }

Suggestions Reply object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type reply
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed. No ok

Example of reply suggestion request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "reply", "text": "Thanks", "postback": "order_thanks" } ] } } } }

Suggestions Share location object

PARAMETER NAME VALUE MANDATORY DEFAULT VALUE
type share_location
text Text of suggestion button Yes -
postback Content that will get send in reply in case suggestion button is pressed. No ok

Example Shared location object request:

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": [ "420777777777" ], "channel": { "rcs": { "sender": "BulkGate", "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ { "type": "share_location", "text": "Share your location", "postback": "share_location" } ] } } } }

Example of full request

The RCS object is the same on both endpoints - only the recipients around it differ.

RCS first, SMS as the fallback. The RCS leg takes its text from message.text; the top-level text reaches only the SMS leg.

POST /api/2.0/advanced/transactional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": ["420777777777"], "text": "Your order 4517 has been shipped.", "channel": { "rcs": { "sender": "BulkGate", "expiration": 120, "message": { "text": "Your order 4517 has been shipped.", "suggestions": [ {"type": "open_url", "text": "Track the parcel", "url": "https://example.com/track/4517"}, {"type": "reply", "text": "Thanks", "postback": "thanks"} ] } }, "sms": { "sender_id": "gText", "sender_id_value": "BulkGate" } } }

A card with media and a suggestion, again with SMS as the fallback.

POST /api/2.0/advanced/promotional HTTP/1.1 Host: portal.bulkgate.com Content-Type: application/json { "application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "number": ["420777777777", "420777777778"], "text": "Spring sale starts today, up to 50 % off.", "channel": { "rcs": { "sender": "BulkGate", "card": { "title": "Spring sale", "description": "Up to 50 % off, this week only.", "orientation": "vertical", "media": { "url": "https://example.com/spring-sale.jpg", "height": "medium" }, "suggestions": [ {"type": "open_url", "text": "Open the offer", "url": "https://example.com/spring-sale"} ] } }, "sms": { "sender_id": "gText", "sender_id_value": "BulkGate" } } }

The response is the same for every channel - see Advanced transactional or Advanced promotional.

Was this page helpful?