RCS Business Messaging User Guide - Limited Availability


Overview

As an authorized RCS Business Messaging (RBM) Solution provider in partnership with Mobile Operators, Syniverse offers a limited availability solution to make it easy and economical for businesses to create and manage engagement with their customers using the RCS Business Messaging Channel.

This compelling new channel with access to users world-wide is now part of Syniverse’s cloud-based Omni-Channel messaging solution and with the same API endpoint that we offer for SMS, MMS, Facebook Messenger, Push Notification & WeChat, businesses can now add RCS as an engagement channel with very little work!

Syniverse will invite customers to participate in the Syniverse RBM limited availability program.

What can you do with the SCG RCS Business Channel?

  • Send and receive messages from to and from end-users with a verified Sender Address (Agent)
  • Engage your customers in a 24/7 customer care conversational messaging using a Chatbot or with a live agent on Syniverse 2-way Chat application**
  • Send Template messaging to your customers
  • Reach end-users world-wide where RCS is available
  • Translate your Messages into different languages
  • Schedule messages
  • Engage users on variety of use cases ranging from OTP, Critical Alert update, Payment update, Shipping update, Issue resolution, Reservation update etc.
  • Get real-time feedback on Messages status (is-typing, Delivery Receipts (Delivered, Read, Failed etc.)

*Channel resource required

** Available in Q3 2021

 

How it works

The Syniverse Omni-channel messaging solution provides a set of APIs for approved customers participating in the Syniverse RCS limited availability program to trigger their RBM Agent to establish RCS communication with end-users with RCS-capable/enabled devices. Below are the requirements for enabling a valid RCS service.

  • A Syniverse Omni-channel Messaging Account and service subscriptions
  • An approved RBM agent setup by Syniverse for the customers (see details below on the requirements for registering an RBM agent)
  • A Syniverse Sender ID for the RBM agent
  • An RCS-enabled devices

Message Flow

  • Your Chatbot/application submits a request to the Syniverse omni-channel messaging service via a REST API using a Syniverse Sender ID. Please note that an external event must trigger the agent to send the first message to a device. A trigger can be anything and depends on your agent's use case. External triggers might include:
    1. the user opted into shipping notifications and a package is delivered
    2. the user opted into lunchtime sandwich deal notifications and the clock strikes noon
    3. the user called customer support and chooses to continue the interaction via chat

Please note that as it is with guidelines around user privacy and consent, Syniverse and or its service partner may at anytime request a proof of user consent to receive an RCS message.

  • The Syniverse gateway triggers the RBM agent to initiate an RCS conversation with the end-users. The end-user can't start a conversation with your agent, but once the agent starts a conversation, the user can send a reply at any time
  • The end-user receives the message in an RCS-enabled messaging app on their device.
  • When the user responds to the message or triggers an event, the RCS app sends the response via Pull subscription service, which passes the information the Syniverse Event Manager. The Event Manager is where your webhook is configured.
  • The Event manager will POST all events/message to your application/chatbot. All user messages, events, and other requests to your Chatbot/Application as base64-encoded JSON.

 

How to get started

To participate in the early access preview program or POC using the Syniverse RCS Business Messaging Channel, Customers will be required to complete an RCS participation request form or contact your Syniverse Sales representative. Once your request has been received and approved, your Sales Rep will discuss on-boarding options available Markets and use cases.

Sign up for Syniverse Omni-Channel Messaging Service

As a prerequisite for participating in the Syniverse RCS EAP program, Customers need to be subscribed to the Syniverse Omni-channel messaging service and execute a valid term of service agreement with Syniverse

  • Register for a Syniverse Service Account by accepting the online terms of service: https://developer.syniverse.com ( If you have an existing contract or an addendum, this is also valid for account set-up) https://sdcsupport.syniverse.com/hc/en-us/articles/216101408-Quick-Start
  • Create a Company within the Account and setup a payment account
  • Configure your Syniverse application to get your access token
  • Configure a webhook to get your events sent back to your application. Check out the article on how to setup a webhook here
  • Once your Syniverse account is completely setup, you can get familiar with Syniverse’s API documentation which can be found here.

Syniverse RCS Limited AvailabilityProgram

Below is an outline of what is needed:

  1. A valid RCS-Capable Syniverse Sender ID
  2. An approved RBM (RCS Business Messaging) Test Agent
  3. Test devices - Must be Android OS ( e,g. Samsung 8 and above, Google Pixels devices)
  4. An approved Publicly available RBM Agent/Chatbot. This Agent is your publicly available RCS agent that anyone can discover. It will replace your Test Agent.

Public availability will require additional approval and subject to availability of RCS on Mobile Operators and devices in the region you are looking to launch your program

Setting up a Syniverse RCS Sender ID

Once your Syniverse account has been setup and your application is ready to call the Syniverse Omni-channel Messaging APIs, one of the first things you will need is a RCS Sender ID. The RCS Sender ID is a unique identifier that help you trigger your RBM Chatbot/Agent. RCS Business Messaging (RBM) agents communicate with end-users through messages, events, and requests for actions. The RBM agents will use a variety of tools (such as rich cards, media, and suggestions) to guide users through fluid conversations that satisfy user and their needs. Syniverse will create a Chatbot/Agent for you once your sender ID request has been received.

Registering for an RBM Agent

A critical part of the Sender ID process is the registration of an RBM Chatbot/Agent for a specific RCS program the customer is looking to make available to their end-users.

To register RBM Chat/Agent, the following information needs to be submitted to your Syniverse Rep so that we can create your Syniverse RCS sender ID and an RBM Agent for your application/Chatbot.

  • Company Name
  • Authorized Name (First and Last name)
  • Authorized Email Address
  • Region of your bot (APAC, EMEA, AMERICAS, OTHER)
  • Service Agent Name
  • Service Agent Description
  • Color (format #AABBCC). Contrast ration must be at least 4.5 or above on white background
  • Primary Website
  • Label for primary website (25 Characters max)
  • Customer facing Primary phone number (E.164 format)
  • Label for the customer facing phone number e.g. Customer Service, Shipping (25 Characters max)
  • Customer facing Primary Email address (this is the email address that shows on your verified Sender ID)
  • A Logo image URL (224x224 px JPEG, no larger than 50 KB) for the agent's icon)
  • A Hero image URL ((1440x448 px JPEG, no larger than 200 KB) for the agent's banner)
  • Privacy policy URL
  • Terms of service URL

Once your Sender ID request and RCS Agent profile information has been received, Syniverse will process and apply for an RBM agent on your behalf. (Please note that approval from our Carrier partners could take up to 5 business days). Once approval of your RBM agent is received, your Syniverse RCS Sender ID will be activated, and you can now start testing RCS with an approved test device.

Please note that during this Phase, only Test devices can send and receive RCS messages. Syniverse will work with the Customer to ensure your testing is succesful.  Syniverse will provide the necessary assistance to ensure proper configuration.

Once testing is completed, then customer is ready to launch publicly.

For additional information on how to create and submit a Sender ID, please see “Using SCG RCS APIs” section below

Using the SCG RCS APIs and Message Console

Create a Syniverse RCS Sender ID

  • via API

Request:

curl -X POST -H "Authorization: Bearer Token" -H "Content-Type: application/json" 
-d '{"name":"ACME RCS_Sender","class_id":"COMMERCIAL","type_id":"RCS","address":"[BLANK]","country":"USA", "consent_managed_by":"USER", "capabilities":["RCS"]} "billing":{"receipt": "ACME Company","expiration_date":"01.12.2023","company_name": "KOLANATOR,INC", "company_id": "1234","authorized_user":"James Smith","phone":"14085555555","email":"james.smith@acme","message_type":"RCS","description":"Customer service Chatbot", "campaign_type":"transactional","shortcode_type":"Random","campaign_website":"www.acme.com","campaign_discovery":"website"} "https://api.syniverse.com/scg-external-api/api/v1/messaging/sender_ids"

 

  • via SCG Message Console

Response:

200, OK

{vAh0hCAVYX0VXTTLdL3sn3} – Sender ID

 

Once the Request is submitted, it will be in “Pending Implementation” state until the RBM Agent registration is complete and provisioned.

To check the status of the Sender ID, you can run a GET command to the Sender ID resource using the sender ID received in the response above. This will let you know if your Sender ID is active

Request:

curl -X GET \
  https://api.syniverse.com/scg-external-api/api/v1/messaging/sender_ids/vAh0hCAVYX0VXTTLdL3sn3 \
  -H 'Authorization: Bearer Token' \
  -H 'Content-Type: application/json' \

Response:

{
    "list": [
        {
            "application_id": 16457,
            "company_id": 131338,
            "created_date": 1550191698465,
            "last_updated_date": 1551725647502,
            "version_number": 5,
            "id": " vAh0hCAVYX0VXTTLdL3sn3",
            "name": "Kolanator_RCS",
            "ownership": "PRIVATE",
            "class_id": "COMMERCIAL",
            "type_id": "RCS",
            "state": "ACTIVE",
            "address": "716219596055",
            "message_handler": "SCG_ESS",
            "country": "USA",
            "keep_sender_address": true,
            "consent_managed_by": "NONE",
            "applied_charges": [
            ],
            "capabilities": [
                "RCS"
            ],
            "alias": "Kolanator"
        }
    ],

    "limit": 50,

    "total": 1
}

 

 

Inviting a Tester for your Agent

Once your Syniverse Sender ID is active, this means your Agent has been registered and approved for testing. You can now invite testers to your Agent. These testers can receive RCS messages from your Sender Address and send messages to your verified Sender address (Agent). All testers/devices must have consent/agree to be a tester and be an RCS capable Android device on a participating Carrier. An error will be returned if you invite a user as a tester and they don’t have an RCS capable device.

Please note that iOS devices currently do not support RCS.

Request

 curl -X POST \
  https://api.syniverse.com/scg-external-api/api/v1/messaging/messages \
  -H 'Authorization: Bearer Token' \
  -H 'Content-Type: application/json' \
  -d '{"from":"sender_id: vAh0hCAVYX0VXTTLdL3sn3","to":"+14081112222","content_type":"application/vnd.scg.tester-invitation","body":""}'
  • Sender_id: vAh0hCAVYX0VXTTLdL3sn3 (Unique ID for your Agent Sender address)
  • To: +14081112222 (Mobile number for the user you are inviting to be a tester)

Send a Rich Card with Suggested list

Sample Request:

curl -X POST \
  https://api.syniverse.com/scg-external-api/api/v1/messaging/messages \
  -H 'Authorization: Bearer{Token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "from": "vAh0hCAVYX0VXTTLdL3sn3",
    "to": "+14081112222",
    "content_type": "application/vnd.scg.grcs.raw-message",
    "body": "{\"contentMessage\":{\"suggestions\":[{\"reply\":{\"text\":\"Nice\",\"postbackData\":\"replied-nice\"}},{\"reply\":{\"text\":\"no thanks\",\"postbackData\":\"replied-no-no\"}},{\"action\":{\"text\":\"Reservation\",\"postbackData\":\"action-openurl\",\"openUrlAction\":{\"url\":\"https://www.expedia.com/\"}}}],\"richCard\":{\"standaloneCard\":{\"cardOrientation\":\"HORIZONTAL\",\"thumbnailImageAlignment\":\"LEFT\",\"cardContent\":{\"title\":\"Barcelona\",\"description\":\" Visit Barcelona in spring!\",\"media\":{\"height\":\"HEIGHT_UNSPECIFIED\",\"contentInfo\":{\"fileUrl\":\"https://drive.dropbox.com/uc?id=1LydMWVi76QA4WSD5Ds1LHjvfH5tyusz55\"}}}}}}}"
}'

For Additional API reference, check out the Supplementary API Reference document for more information


Launching a Public RCS Business Messaging Service

Once you're done testing your agent and it's ready to interact with users, it's time to launch. This is phase is where your RBM agent is made public to all RCS-capable devices globally.

You will be required to submit a launch questionnaire and go through a review after which your RBM agent will be able to reach RCS-capable users around the world. Syniverse will require the Customer to complete the questionnaire below. Please note that the information below is required by our Carrier Partners to review and approve your agent for a public launch.

Customer Agent launch questionnaire

Once you are ready to launch your RBM agent publicly, send an email to your Syniverse Account Rep or Implementation Manager with answers to the questionnaire below. Please note that to avoid delays, all questions need to be answered completely.

1. Use case/Program brief

  1. Describe in detail how you and/or the brand obtain user opt-in to be contacted by the agent. Include instructions to find and follow this flow if possible, or screenshots if reproducing is not possible.
  2. Describe in detail how outbound messages from the agent will be triggered. Specifically address how the very first message from the agent to a user is triggered.
  3. Describe in detail what types of interactions the agent will have with users. Including both primary interactions (those that occur most commonly) and secondary interactions (those that are possible but less common).
  4. Does your agent support STOP reply from end-users?

2. Brand details

  1. We'll need some information about the brand that is represented by the agent. This information may be shared with carriers for the purposes of receiving launch approval for the agent.
    • Legal company name
    • Organization type (choose one):
    • Registered corporation
    • Licensed professional
    • Franchise
    • Public utility
    • Government or state organization
    • Corporate registration number (optional)
    • Tax ID or FEIN (optional)
    • Primary company address or corporate headquarters
    • Online landing page/url

3. Rights to branding

  1. Provide us with the exact branding that your agent will launch with. There will be some flexibility to update this in the future but doing so may incur delays. Specifically, you must provide
  • Name
  • Description
  • Logo image URL
  • Hero image URL
    1. Provide us with proof of written consent of your right to use this exact branding for this RBM agent, granted by someone who has the right to delegate the use of that branding to you. For instance, an appropriate response would be a copy-and-pasted email from a marketing executive at the brand of the form:

"I, marketing exec, email address, grant [Syniverse] the right to create and operate an RBM agent using the following branding: name, description, logo image, hero image."

4. Terms of service and privacy policy

Provide us with a link to the agent's terms of service and privacy policy, or with the document files themselves. When the agent launches, these documents will be made accessible to end-users from the agent's business information page. This will be reviewed by our legal team prior to launch.