Understanding RCS messaging

RCS messaging is currently supported in Germany and the United Kingdom (UK) as well as 10+ other countries across across EMEA, North America and South America. If you wish to use RCS messaging in countries not specifically listed, please contact our Sales team

RCS, or Rich Communication Services, is a communication protocol for sending messages to, and between, devices connected to a cellular telephony network. RCS messages can include text, photos, videos, and files, as well as interactive elements such as suggested reply and suggested action buttons.

There are some similarities MMS messaging, but also some important differences:

  • Message Delivery:
    • MMS message content is delivered over the cellular network
    • RCS messaging requires an internet connection (either via cellular data connection or Wi-Fi)
  • File size:
    • RCS messages also allow for larger file sizes for images, videos, and files than MMS
  • Interactivity and Rich Content:
    • RCS messages provide the possibility of greater interactivity with suggestion messages
    • RCS messages provide rich content in the form of card and carousel layouts

In terms of functionality, RCS messaging is closer to OTT (over-the-top) channels such as WhatsApp, Facebook Messenger, or Viber. A major differentiator with these other channels is that RCS is natively can be supported without the need to install third-part apps. There are currently some limitations in terms of device support (see the RCS Device Support section later in this document).

Messages API RCS Channel

The RCS channel of the Vonage Messages API leverages Googles RBM (RCS Business Messaging) servers, and supports much of the functionality provided by Google RBM.

Since this is a third-party service, there is some required set-up and onboarding before you can start sending RCS messages via the Messages API. See the Setting up a RBM Agent for RCS Messaging later in this document.

RCS Messaging Capabilities

The Messages API RCS channel supports both outbound messaging (messages sent from the business to the customer) and inbound messaging (messages sent from the customer to the business, in response to an outbound message). Within both of these categories there are many different types of message that exist.

Outbound Message Types

There are five outbound message types:

  • text
  • image
  • video
  • file
  • custom

The custom message type can be used to send various types of more complex RCS message such as suggested replies, suggested actions, rich cards, and carousels. To find out more about using the custom message type see the RCS Custom Messages guide.

Inbound Message Types

There are nine inbound message types:

  • text
  • image
  • video
  • audio
  • file
  • vcard
  • location
  • reply
  • button

The reply and button inbound types are triggered in response to customer interactions with suggested reply and suggested action outbound messages. See the RCS Custom Messages guide for more information on working with these message types.

Status Webhook

In addition to outbound and inbound messages, the RCS channel provides status messages via a webhook. These messages are triggered by changes in delivery the status of an outbound message. The available statuses for outbound messages are:

  • submitted
  • delivered
  • read
  • rejected
  • undeliverable

Further details of outbound and inbound messages, and the status webhook, can be found in the Messages API specification.

RCS Device Support

RCS messaging is supported on Android and some other device types, but is not currently supported on iOS.

When sending RCS messages, you might want to incorporate a device capability check as part of you messaging workflow. See the Device Capability Check guide for further information.

Technical Specification

Details of authentication, JSON payload properties, responses, and errors for the various outbound and inbound RCS message types, as well as status messages, are contained in Messages API specification.

There are some other technical details to be aware of.

Supported Media Types

For the message types which can include media, such as images, videos, and files, the folowing media types are supported.

Media typeDocument typeExtensionWorks with rich cards
application/pdfPDF.pdfNo
image/jpegJPEG.jpeg, .jpgYes
image/gifGIF.gifYes
image/pngPNG.pngYes
video/h263H263 video.h263Yes
video/m4vM4V video.m4vYes
video/mp4MP4 video.mp4Yes
video/mpeg4MPEG-4 video.mp4, .m4pYes
video/mpegMPEG video.mpegYes
video/webmWEBM video.webmYes

Message and Media Sizes

There are a few size limits and guidelines to be aware of for messages and media.

  • Text character limitation: 3000 utf-8 characters
  • Max URL char limitation for media upload is 2000 characters
  • The maximum size of the entire stringified RCS message is 250KB. This includes the text that makes up the JSON payload when sending structured messages.
  • The maximum size of a medai file that can be sent through an RCS message is 200MB.
  • Additional message and media size guidelines are contained in the Google RBM Best Practices documentation.

Other Technical Details

  • Encryption: Currently, end-to-end encryption isn't supported in RBM (the Vonage Messages API uses Google RBM for RCS messaging) for business messaging. Personal conversations in Google Messages app have end-to-end encryption , but RBM messages pass through Google servers for regulation compliance and security. Google does, however, employ security measures like TLS encryption, data encryption at rest, and access controls to safeguard RBM messages. See Google RCS Security Measures for more information.
  • Rate Limit: The default rate limit enabled for the RCS channel is 40 requests per second (per API key). This can be increased on request.
  • Opt-in/Opt-out: Opt-in and opt-out functionality has to be implemented on the customer's side and there are no predefined API calls to implement them.

Setting up a RBM Agent for RCS Messaging

To get started with RCS messaging using the RBM agent, follow these two steps:

  1. Register Your Agent in Developer Mode:
  • Contact the API support team or your account manager to request Developer Mode activation for your RBM agent.
  • Developer Mode allows you to thoroughly test the RCS messaging functionality and ensure a seamless integration with your systems.
  • Use this mode to build and refine your implementation before going live.
  1. Initiate Agent Verification and Launch:
  • After successfully testing your API in Developer Mode, you're ready to send live RCS traffic.
  • To initiate the Agent Verification and Launch process, simply send an email to the support team or reach out to your account manager.
  • They will guide you through the necessary steps to verify your agent and enable live RCS messaging for your business.

Further Information

Google Developer Documentation