RCS

Reach out to your customers with rich messages in their default SMS inbox

RCS (Rich Communication Service) is a next-generation protocol that allows for richer forms of messaging such as cards, carousels, and attachments within the SMS inbox.

Enabling an RCS Application

You must have an RCS enabled chatbot application and be prepared to share chatbot details to all available terminating operators for your program to be fully functional within any given country. With proper planning and preparation. It takes approximately 7 days to configure a simple messaging program.

📘

RCS Messaging application building components

  • Program Name
  • Brand logo
  • Chatbot description
  • Contact information
  • Privacy policy link
  • Terms and Conditions link
  • Header images in varied sizes depending on device

Configure RCS application on Webex Connect

  1. To configure the RCS app, sign in to the Webex Connect platform, go to Assets > Apps .
  1. On the Apps page, click the Configure New App button and choose RCS from the drop-down list of apps.
1614

RCS App Addition

  1. Click Submit for Approval.

📘

Approval Process

After you populate all the required fields, the "Submit For Approval" button will become active. At this point, your RCS Application will be set up for testing with the carriers and requires approval in order to be launched into production. You can work with your client team on this process. Please reach out to your account manager for more information.

You are essentially configuring how your brand appears to the user on the messages app on this page.

FieldDescription
DISPLAY NAMEThe display name is visible when users interact with your brand

Upto 40 characters. Recommended < 25 characters for compatibility
DESCRIPTIONThe description of your brand as it appears on the device

Up to 100 character
COLORSpecify a color for your agent with a minimum 4.5:1 contrast ratio relative to white.
IMAGESSpecify images for your brand.

The banner image displays when a user views your business information ( 2 different sizes for Google and Samsung)

The logo appears when your agent sends a message to a user.
CONTACT - WEBSITEYour brand website

Up to 3 websites can be added
CONTACT - PHONE NUMBERYour brand contact number

Up to 3 numbers can be added
CONTACT - EMAILYour brand email id

Up to 3 ids can be added
PRIVACY POLICYLink to privacy policy page
TERMS OF SERVICELink to terms of service page
TEST NUMBERSNumbers that you would like to test your use case on. Your brand can send messages to all numbers only when the use case is approved
NOTESAny notes for Webex Connect regarding a use case or operator
1094

RCS Brand Profile on Device

Using the channel

User Identity

To message users on RCS you will need the users phone number.

🚧

Capability

All phone numbers may not have RCS capability.

If you are using Messaging API v2, you can use options block to fall back to SMS

If you are using flows, RCS capabilities node allows you to query the capabilities of a number

API

Here is a Postman collection to test our APIs. Make sure you change the key in the header to your service key.

Latest Collection: Run in Postman

Archived Collection: Refer Postman Collection

Download Postman from here

Webhooks

Once an RCS app is configured, you can configure Outbound Webhooks by choosing the RCS app from the entity dropdown to receive incoming messages and events from your customers

{
   "channel":"rcs",
   "msisdn":"+916304451252",
   "message":"RCSTest2",
   "appId":"a_157017189286805250",
   "event":"MO",
   "ts":"2019-10-23T02:10:49.466-03:00",
   "tid":"42392840-09c2-2f42-bf4d-8676413befe1",
   "serviceProvider":"GOOGLE",
   "carrier":"N/A",
}
{
    "channel": "rcs",
    "msisdn": "+916304451252",
    "appId": "a_157017189286805250",
    "event": "ATTACHMENT",
    "ts": "2019-10-21T06:28:15.644-03:00",
    "tid": "471957e9-c5e8-742c-38a3-2141e66acc35",
    "serviceProvider": "GOOGLE",
    "carrier": "N/A",
    "attachments": "[{\"payload\":{\"url\":\"https://rcs-user-content-us.storage.googleapis.com/407b434c-ea2a-4d24-9e73-d5c1dbf0f5f7/0f37f034c3764ac3400adc09b5307df91ca31a47b2ef229fc59588537902\"},\"type\":\"video\"}]"
}
{
   "channel":"rcs",
   "msisdn":"+916304451252",
   "appId":"a_157017189286805250",
   "event":"Location",
   "ts":"2019-10-17T14:34:58.808+03:00",
   "tid":"475794b6-8bdb-973d-aab9-e20bae8c11a3",
   "serviceProvider":"GOOGLE",
   "carrier":"N/A",
   "latitude":"17.434679",
    "longitude":"78.3985752"
}
{
	"channel":"rcs",
	"msisdn":"+916304451252",
	"message":"SHOW ME MY RESULTS 😀",
	"appId":"a_157017189286805250",
	"event":"ONPOSTBACK",
	"ts":"2019-10-21T06:22:59.976-03:00",
	"tid":"e78cb435-d70f-0e55-9242-1c026febacd5",
	"serviceProvider":"GOOGLE",
	"carrier":"N/A"
}

To receive delivery receipts of the messages you sent out, configure Outbound Webhooks on the service you sent the message from.

{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2019-10-17T14:14:30.495-04:00",
      "Description": "Submitted",
      "code": "7501",
      "deliveryChannel": "rcs",
      "additionalInfo": "",
      "destination": "+916304451252",
      "destinationType": "",
      "deliveryStatus": "Submitted"
    },
    "subtid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "transid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "callbackData": "",
    "correlationid": ""
  }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2019-10-17T14:14:35.981-04:00",
      "Description": "Delivered",
      "code": "7500",
      "deliveryChannel": "rcs",
      "additionalInfo": "",
      "destination": "+916304451252",
      "destinationType": "",
      "deliveryStatus": "Delivered"
    },
    "subtid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "transid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "callbackData": "",
    "correlationid": ""
  }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2019-10-17T14:14:39.124-04:00",
      "Description": "Read",
      "code": "7502",
      "deliveryChannel": "rcs",
      "additionalInfo": "",
      "destination": "+916304451252",
      "destinationType": "",
      "deliveryStatus": "Read"
    },
    "subtid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "transid": "c74fd072-7ed7-4b15-8f2d-66a3b6f06dd6",
    "callbackData": "",
    "correlationid": ""
  }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2019-10-18T01:03:06.954-04:00",
      "Description": "Invalid media details",
      "code": "7740",
      "deliveryChannel": "rcs",
      "additionalInfo": "Invalid media URL",
      "destination": "+916304451252",
      "destinationType": "msisdn",
      "deliveryStatus": "Failed"
    },
    "subtid": "",
    "transid": "e94cc49e-a9c7-4beb-65ac-8b06c48fdc9d_10977_22757",
    "callbackData": "",
    "correlationid": ""
  }
}

Message Type

RCS supports the following message types -

  1. Text
  2. Media
  3. Rich Card
  4. Carousel
  5. Typing Indicator

Flow

In a flow, you can configure the Receive node to receive messages from RCS users and the RCS Message Node node enables you to deliver messages to the RCS user.

FAQs

You can refer to the RCS channel FAQs for contextual information.