×

Pre-requisites

To send an RCS message, you will need to

Register your Brand with Exotel
Have the RCS templates configured for your brand
Get your Brand and bot verified to send messages to a larger audience

Please use this link to register with us and understand more about RCS. If you are an existing customer who wants to use RCS, please get in touch with your Account Manager/Support team and we will surely assist you

This API can send messages to a single number with a message content or different numbers with different message contents for each number. To send a message through Exotel API, you will need to make an HTTP POST request to:

POST

https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/messages

  • Replace <your_api_key> and <your_api_token> with the API key and token created by you.
  • Replace <your_sid> with your “Account sid".
  • Replace <subdomain> with the region of your account
    1. <subdomain> of Singapore cluster is @api.exotel.com
    2. <subdomain> of Mumbai cluster is @api.in.exotel.com

<your_api_key> , <your_api_token> and <your_sid> are available in the API settings page of your Exotel Dashboard

The following are the POST parameters - 

Parameter Name

Parameter Type

Mandatory/Optional

Value

custom_data

String

Optional

This parameter can be used to send any custom data at the API request level. This will be passed back in the callback.

status_callback

String (URL)

Optional

Once the message reaches terminal state, Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.

rcs

Channel Object

Optional

Information related to the messages to be sent out on RCS. 

* The RCS parameter mentioned here will be used to send messages through RCS communication channel. In future the API will be extended further to support other communication channels like SMS. Later, SMS parameter can also be passed to send SMSes.

Channel Object

Parameter Name

Parameter Type

Mandatory/Optional

Value

custom_data

String

Optional

This parameter can be used to send any custom data at the API request level. This will be passed back in the callback.

status_callback

String (URL)

Optional

Once the message reaches terminal state, Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.

messages

[]Message Object

Mandatory

Array of messages to be sent out 

Message Object

Parameter Name

Parameter Type

Mandatory/Optional

Value

custom_data

String

Optional

This parameter can be used to send any custom data at the API request level. This will be passed back in the callback.

status_callback

String (URL)

Optional

Once the message reaches terminal state, Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.

from

String

Mandatory

BotID from which the message has to be sent.

to

String

Mandatory

Phone number of the user to whom a message needs to be sent. The number must be in e.164 format. Here are some examples of supported phone number formats:

"+10000000000"

"+919888888888"

"+919876543210"

content

RCS Message Object 

Mandatory

RCS message body

RCS Message Object

Parameter Name

Parameter Type

Mandatory/Optional

Value

type

String

Mandatory

Type of the message

template

TemplateMessageObject

Mandatory/Optional

Object template message

 

Mandatory if message is template

 

 

text

String

Mandatory/Optional

Text Message to be sent.

Mandatory if message type is text

file

FileObject

Mandatory/Optional

Mandatory when file is being sent in the message.

File object for file message type

richcard

RichCardObject

 

 

suggestions

[]SuggestionObject

Mandatory/Optional

Mandatory when suggestions need to be sent.

Object for suggestions in the message.