Skip to main content
This article describes the standard payload formats that MoEngage uses for sending RCS template messages and standard callback formats for delivering callback information to MoEngage. This article describes how to onboard as an RCS provider in MoEngage. It provides the standard payload formats that MoEngage uses to send RCS template messages and standard callback formats to deliver callback information to MoEngage.

Onboard Yourself as a Native RCS Service Provider

Follow the process below if you want to become an RCS provider in MoEngage:
  1. Complete the implementation and development of your internal messaging infrastructure to match the payload formats for the MoEngage request and Callbacks using the formats shared in the respective sections.
  2. After implementation, MoEngage will provide a staging environment with the RCS module enabled. To access this environment, contact the MoEngage Partnership Team.
  3. Configure your API and callback integration within the MoEngage staging environment. You must then execute and validate the specific test scenarios provided by MoEngage to ensure message delivery and status reporting function correctly.
  4. Share a user guide covering aspects like configuring your connector in MoEngage and callbacks in your platform.
  5. Share the results of the test case execution with MoEngage.
  6. After sharing the results of the test case execution and the user guide:
    • The MoEngage engineering team (QA) reviews the test case execution and validates the integration.
    • The MoEngage documentation team reviews the user guide.
  7. After the quality checks are performed, MoEngage lists you as one of the native RCS providers in MoEngage and publishes the user guide as the partner guide of MoEngage.

Message Payload Details

This section details the message payload in the request that MoEngage sends to your API.

API Endpoint/URL

This is the API endpoint or API URL of the RCS partner to whom MoEngage sends the message payload. The RCS partner must provide this URL.

Sample Request Headers

You must share information about the headers to be added to the request, such as the API Key, Workspace ID, and Authorization. For example, if the authentication to be used is Bearer Authentication, MoEngage will add the same in the authorization header in the request, as shown in the following sample: Sample Header

Request Body

This is the request that MoEngage sends to your API.

rcs

sms

Sample Payload

To ensure compatibility across all RCS vendor integrations, MoEngage uses a standardized, generic payload. This payload is designed to accommodate the two primary processing methodologies currently used by vendors:
  • Parameter-based processing: The vendor expects dynamic message content as a discrete set of parameters.
  • Resolved text processing: The vendor expects the fully resolved message text (where MoEngage merges the dynamic content into the complete text string prior to sending).
The payloads detailed below include the necessary data to satisfy both requirements. Vendors can extract and process the payload according to their supported methodology. The following is a sample payload for sending RCS messages:

Sample Payload for Indian Users

The following is a sample payload for sending RCS messages to users in India:

Sample Payload for International Users

The following is a sample payload for sending RCS messages to international users:

Limitations

  • This is a bulk API that supports a message limit of 50 user messages.
  • For vendors that do not support bulk sending, MoEngage sends only one user message in the messages array.
  • The default timeout is 5 seconds. Make sure your infrastructure accepts and responds within 5 seconds.

Message Content for Text

Message Content for Card

Note: Other parameters remain the same as specified above, hence not mentioned, but for reference, check above.
Note: Other parameters remain the same as specified above, hence not mentioned, but for reference, check above.

Message Content for Media Message

Suggestions

Following are the types of suggestion JSON objects:

Reply

Open URL

Dial Phone

Show Location

Query Location

Share Location

Create Calendar Event

Callback Data

MoEngage sets the value to this string while sending the request. Ensure to return this string in the callbacks. The string can be of a maximum of 200 characters and alphanumeric with ”_” as a separation character. For example:
Note that you can pass any custom arguments for authentication in headers.

Sample cURL Request

Response Codes

Sample Response

200
4XX
5XX

Types of Callback

Callbacks Url will be provided similar to sms to the vendors. These will be public url without any authorization headers. There are two types of callback:
  • Message status callback
  • RCS suggestions interaction callback

Message Status Callback

The following table displays the callback status and its description:

RCS Suggestions Interaction Callback

Limitation of Callbacks

Callbacks have the following limitations:
  • Callbacks can be sent as a single message or a bulk batch with a maximum of 50 messages.
  • Callbacks can have a maximum timeout of 5 seconds at the vendor’s end. If the MoEngage infrastructure doesn’t respond in 5 seconds, retry a maximum of three times.

Callback Response

Callback response is expected with the following status and details: 200
4XX