BSG utilizes HTTP cookies (and similar or complementary technologies) to 1) make this website safe, functional, and accessible (through the use of mandatory cookies) and 2) understand how you use our website (through the use of optional cookies) in order to improve your experience and to provide you with personalized content.

The information in the cookie text files may be related to your personal preferences or your device and is intended to make the site operate according to your expectations. The information contained in cookies does not usually identify your identity directly but is helpful in providing you with a more personalized user experience.

In accordance with the requirements of the General Data Protection Regulation (GDPR) privacy and security law that governs how the personal data of individuals in the EU may be processed and transferred, we provide you the possibility to prohibit the use of certain types of cookies when you use our website.

Read our Cookie Notice and the Privacy Policy for detailed information on how BGS collects and uses cookies. Please note that prohibiting the use of certain types of cookies may affect your interaction with the website and limit the accessibility of services we offer you. Choose the appropriate category below to learn more and to disable cookies.

Accept All cookies*
*Recommended for comfortable use of the site
Accept only necessary cookies
Accept only selected cookies
Necessary cookies
Social media
Analytics
Marketing
Developer Docs
Number Intelligence

Send RCS Message

Method: POST

Endpoint: /api/campaigns/rcs/send

Description: This method provides the ability to send a single rcs message or to send a mass rcs message. It also supports sending messages via an alternative SMS channel.

Input parameters

Parameter Mandatory Type Description.
phones Yes Array of objects The object contains information about the mobile phone number ( number) and (reference_id) to send a message to the subscriber. You can set from 1 to 5000 numbers.
sender Yes string The name of the agent used to send the rcs message. From 1-40 characters.
options Yes Object The object contains information about the message content.
validity No integer RCS message validity period in hours. After this period expires, the message will be in EXPIRED status or will be redirected to the SMS channel for sending if it was specified in the request. The value can be from 1 to 72. The default value is 72 hours.
alternative_channel No Object The object contains information for sending a message via an alternative SMS channel in case of non-delivery of an rcs message.
start_at No string The date and time of the message sending for scheduling the campaign. The maximum allowable date and time for scheduling a campaign is 30 days, including the current date – until 23:59:59 of the 30th day. Format: “yyyy-mm-dd hh:mm:ss”
add_to_contact_book No boolean Specifies whether to add the specified phone number of the message recipient to the contact book. Possible values: true / false. The default is “true”.
tariff_code No integer The number of the tariff for rcs message billing that is connected to the user’s account.
check_stop_list No boolean Check the recipient’s phone number for being on the RCS stop list. Possible values: true – if the number is found in the RCS stop list, do not send a message. false – ignore the RCS stop list. The default is “true”.

phones Object parameters

Parameter Mandatory Type Description.
number Yes string The recipient’s mobile phone number. 9 – 15 characters: country code without “+” and phone number.
reference_id No string External identifier for the message. Up to 36 characters:. Can contain: /a-zA-Z0-9/.

alternative_channel Object parameters

Parameter Mandatory Type Description.
sms No Object The object contains information about the message for alternative delivery via SMS

sms Object parameters

Parameter Mandatory Type Description.
text Yes string Text of the message for SMS: maximum – 335 characters in Unicode encoding, 765 in GSM encoding.
sender Yes string Name of the SMS sender.  The sender name can be up to 15 characters: from 1 to 11 characters (Latin letters, symbols, numbers, and spaces are available). A space can be inside the sender’s name, BUT only after the first character (one space is considered as 1 character). For numeric sender, spaces are not allowed from 1 to 15 characters (only digits and the “+” sign before the first number are available).
validity No integer The validity period of the SMS message is in hours. After this period, the message will be in the EXPIRED status. The value can be from 1 to 72. The default value is 72 hours.
check_stop_list No boolean Check the recipient’s phone number for being in the SMS stop list. Possible values: true – if the number is found in the SMS stop list, do not send the message. false – ignore the SMS stop list.  The default is “true”.

options Object parameters

The options object, depending on the type of RCS message, can accept only text (for a text message) or a card array (for Single card and Carousel messages):

Parameter Mandatory Type Description.
text Yes string It is specified only for the “text” message type . RCS message text is 1-160 characters. Can contain emojis (character count for emojis according to UTF-16 code points. Simple emojis take 2 code points, complex emojis take 4, Cyrillic emojis take 1). If the message contains a link in the format http://nosms.cc/XXXX, the System will generate an Unsubscribe link while sending the message.
cards Yes Array The array contains information about the card. The maximum number of cards is 5. Messages with one card are called “Single card”, messages with 2 or more cards are called “Carousel”. Depending on the chosen tariff, the number of cards may be limited (for example, you can send only Single cards).

Details will be provided by manager.

cards Array of parameters

For Single message cards and each Carousel card, at least one of the text or media parameters must be set.

Parameter Mandatory Type Description
text Yes/No string The text of the RCS message.
Up to 1000 characters.
May contain emojis (character count for emojisaccording to UTF-16 code points. Simple emojis take 2
codepoints, complex ones – 4, Cyrillic – 1).
If the text of the message contains a link in the
in the format http://nosms.cc/XXXX, the System will generate a
the System will generate an Unsubscribe link when sending the message.
If the message contains a media object, the
text parameter is optional and can be omitted
media Yes/No Object The object contains information about the media file that sent in the message. If the message contains text , the media object is
is optional and can be omitted.
suggestions No Array of An array of objects containing information about nested buttons. Only up to 2 buttons can be added to a card.

media Object parameters

Parameter Mandatory Type Description
url Yes / No string Contains a link to an image or video that will be
to be attached to the message.
The link must begin with http/https. Max. length: up to 1000 characters.
Acceptable formats for images/videos:
– pictures: jpeg, jpg, gif, png
– videos: h263, m4v, mp4, mpeg, mpeg4, webm
– size: images – 2 MB, videos – 10 MB
Required if the message contains a media
object.

suggestions Array parameters

Parameter Mandatory Type Description.
text Yes / No string Contains the text of the button, 1-25 characters
Only one of the following parameters can be specified: url or phone.
url Yes / No string A link to go through a click on the button. The link should start with http/https.
Max. length: up to 1000 characters.
If you need to add a button to unsubscribe the user from the mailing list, you can specify a link in the format http://nosms.cc/XXXX – the BSG system will generate an Unsubscribe link for this action when sending the message. When the user clicks on the unsubscribe button, the user’s number will be added to the RCS email stop list.
Required if a value is specified for the “text” parameter and does not specify “phone”
phone Yes / No string Phone number to call with a click of a button.
9 – 15 characters (the length must take into account the country code and phone number, the phone number is indicated without
+).
When sending RCS messages to the country of Ukraine, the phone number to call via the button must be a Ukrainian number.
Required if a value is specified for the ” text” parameter and
“url” is not specified

Answer elements

Parameter Type Description.
id integer A unique identifier of the created RCS campaign.
name string The name of the campaign that is automatically generated by the system: “RCS api campaign / {yyyyy-mm-dd hh:mm:ss}”, where yyyy-mm-dd hh:mm:ss is the date and time of the campaign creation.
sender string Name of the agent.
status string Campaign status. At the moment of creating a campaign, we display the “creation” status.
message_type string Type of message: rcs
start_at string Date and time of the campaign start (planned) in the format: yyyy-mm-dd hh:mm:ss
real_start_at string The actual date and time of the campaign start in the format: yyyy-mm- dd hh:mm:ss.
finished_at null|string Campaign end date and time in the format: yyyy-mm-dd hh:mm:ss. When creating a campaign, the value is null.
created_at string Date and time of campaign creation in the format: yyyy-mm-dd hh:mm:ss
statistics object The object of campaign statistics.
delivered integer Total number of delivered rcs messages within the campaign in the following statuses: DELIVERED READ When creating a campaign, it is always = 0.
sent integer The total number of sent rcs messages within the campaign in the following statuses: DELIVERED SENT ACCEPTED SENDING UNDELIVERED FAILED EXPIRED UNKNOWN When creating a campaign, it is always = 0.
calculated_price float Pre-calculated campaign cost according to the user’s tariff.
alternative_channels object The object contains information about messages sent via an alternative channel.
sms object An alternative channel for sending messages.
statistics object An object of statistics of SMS messages sent as part of a campaign.
delivere d integer Total number of delivered SMS messages within the campaign in statuses: DELIVERED  When creating a campaign, it is always = 0.
sent integer Total number of SMS messages sent as part of the campaign in statuses:

DELIVERED
SENT
ACCEPTED
SENDING
UNDELIVERED
FAILED
EXPIRED
UNKNOWN

When creating a campaign, it is always = 0.

An example of a request to send an RCS message:


{
   "phones":[
      {
         "number":"380661231231",
         "reference_id":"string"
      }
   ],
   "sender":"Agent Name",
   "options":{
      "cards":[
         {
            "text":"This is the first card text",
            "media":{
               "url":"https://domain.com/image.png"
            },
            "suggestions":[
               {
                  "text":"Go to site",
                  "url":"https://domain.com/"
               },
               {
                  "text":"Call us",
                  "phone":"380971112233"
               }
            ]
         },
         {
            "text":"This is the second card text",
            "media":{
               "url":"https://domain.com/image2.png"
            },
            "suggestions":[
               {
                  "text":"Go to site",
                  "url":"https://domain.com/"
               }
            ]
         }
      ]
   },
   "alternative_channel":{
      "sms":{
         "text":"Hello, world!",
         "sender":"string",
         "validity":72,
         "check_stop_list":true
      }
   },
   "start_at":"2024-09-01 09:00:00",
   "tariff_code":0,
   "validity":72,
   "add_to_contact_book":true,
   "check_stop_list":true
}

An example of an answer:

If the request is successfully executed.


{
   "data":{
      "id":1235643,
      "name":"string",
      "sender":"string",
      "status":"creation",
      "message_type":"rcs",
      "start_at":"2021-04-27 19:44:06",
      "real_start_at":"2021-04-27 19:44:06",
      "finished_at":"2021-04-27 19:44:06",
      "created_at":"2021-04-27 19:44:06",
      "statistics":{
         "delivered":0,
         "sent":0
      },
      "calculated_price":123.4,
      "alternative_channels":{
         "sms":{
            "statistic":{
               "delivered":0,
               "sent":0
            }
         }
      }
   }
}

Interested in a special offer?

Ready to reach further?
Let’s talk

I agree to BSG privacy policy
Submit

Useful Materials

What Is Number Verifier — And Why It’s More Than Just an “HLR Lookup”

30% of SMS fail — not because of content, but numbers. Verify before you send.

10 Awesome Back-to-School Marketing Ideas 2025

The start of the school year: when parents trade in their summer margaritas for the

What Is CPaaS? Communications Platform as a Service

Talking to customers these days is more than just emails or phone calls. Businesses need