RCS Business Messaging (RBM) allows businesses to send rich communication to their customers.

See example payloads here.

Available methods

Available webhooks

Elements & Attributes

Data Element

Type

Description

contentMessage

Object

An object containing information about an agent message.

text

String

The text of an agent message.

contentInfo

Object

An object containing information about a file, including the URL of the file and the URL of the file’s thumbnail.

fileURL

String

Publicly reachable URL of the file. The Vibes RBm platform determines the MIME type of the file from the content-type field in the HTTP header. Recommended max file size of 100MB.

thumbnailUrl

String

For image, audio, and video files only. Publicly reachable URL of the thumbnail. Max file size of 100kB.

If you don't provide a thumbnail URL, the Vibes RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.

forceRefresh

Boolean

If true, the Vibes RBM platform fetches the file and thumbnail from the specified URLs, even if the platform has cached copies of the file (and/or of the thumbnail).

suggestions

Array

A list of suggested replies and/or actions that displays to the end user. Maximum 11 suggestions.

reply

Object

A quick reply, which allows the user to respond to the agent with a pre-selected response with a single tap.

reply.text

String

The text of the quick reply.

reply.postbackData

String

Base64-encoded payload that the agent receives when the suggested reply is tapped.

action

Object

A quick action, which allows the user to tap a button and automatically trigger an action in their device.

action.text

String

The text label that displays on the quick action option.

action.postbackData

String

Base64-encoded payload that the agent receives when the suggested action is tapped.

action.fallbackUrl

String

Optional. URL that will open if the device does not support a suggested action.

dialAction

Object

Quick action that opens the device’s default phone app and dials a number.

dialAction.phoneNumber

String

Phone number in E.164 format that is automatically dialed when the dial quick action is selected.

viewLocationAction

Object

Quick action that opens a device’s default map app and selects the specified location or searches around the device's location given an agent-specified query.

viewLocationAction.label

String

Text label for a location.

viewLocationAction.latLong

Object

Latitude and longitude of a location.

viewLocationAction.query

String

Optional, only supported on Android Messages clients. Rather than specify a latitude and longitude, insert a query string. For default map apps that support search functionality, tapping this suggested action results in a location search centered around the user's current location.

If the query is sufficiently specific, it selects any location in the world. For instance, setting the query string to "Growing Tree Bank" will show all Growing Tree Bank locations in the device's vicinity. Setting the query string to "1600 Amphitheater Parkway, Mountain View, CA 94043" will select that specific address, regardless of the user's location.

createCalendarEventAction

Object

Opens the device's default calendar app and creates a new calendar event prefilled with the event data.

createCalendarEventAction.startTime

String

Start time of the event.

createCalendarEventAction.endTime

String

End time of the event.

createCalendarEventAction.title

String

Event title. Max 100 characters.

createCalendarEventAction.description

String

Description of event. Max 500 characters.

openUrlAction

Object

Quick action that opens a URL either in the device’s default web browser or in an integrated webview.

openUrlAction.url

String

URL to be opened in end user’s device. Max 2048 characters.

openUrlAction.application

String

Specify if the URL will be opened in the device’s default browser or in an integrated webview window in the device’s messaging app.

openUrlAction.description

String

Optional description of the URL.

shareLocationAction

Object

Quick action that shares the device’s location with the agent.

richCard

Object

A single or carousel of rich cards.

carouselCard

Object

A carousel of multiple rich cards, which the end user can scroll through.

cardContents

Array of objects

An array that contains an object for each rich card in a carousel.

cardContents.title

String

Title on a rich card. Max of 200 characters.

cardContents.description

String

Description on a rich card. Max of 500 characters.

media

Object

An object containing information about the media on a rich card.

media.height

String

Choose the height of the media displayed on the rich card. Options are:

  • height_unspecified
  • short
  • medium
  • tall

media.fileName

String

Name of the media file being included on a rich card.

standaloneCard

Object

A single rich card.

cardOrientation

String

The orientation of a single standalone rich card. Options are:

  • card_orientatioin_unspecified
  • vertical
  • horizontal

thumbnailImageAlignment

String

Alignment of image preview for standalone cards with horizontal layout.

cardContent

Object

An object containing information about the media on a standalone rich card.

expireTime

String

Optional. Timestamp in UTC when this message will be considered expired.

ttl

String

Optional. Time in seconds the message will live before it is automatically revoked.

Message Payload Examples

Text with quick replies

{
    "contentMessage": {
        "text": "Text message with a couple of replies",
        "suggestions": [
            {
                "reply": {
                    "text": "Option 1",
                    "postbackData": "option_1"
                }
            },
            {
                "reply": {
                    "text": "Option 2",
                    "postbackData": "option_2"
                }
            }
        ]
    }
}

Text with quick action

{
    "contentMessage": {
        "text": "Text message with single link / URL action",
        "suggestions": [
            {
                "action": {
                    "openUrlAction": {
                        "url": "https://www.google.com"
                    },
                    "postbackData": "urlaction_google",
                    "text": "Google"
                }
            }
        ]
    }
}

Standalone rich card

{
    "contentMessage": {
        "richCard": {
            "standaloneCard": {
                "cardContent": {
                    "description": "Got a question about RCS and RBM? From what's different about the two terms to how it all works, we've got you covered with this comprehensive FAQs article.",
                    "title": "Vibes RCS Business Messaging",
                    "media": {
                        "contentInfo": {
                            "fileUrl": "https://cdn.prod.website-files.com/621fe9312baa6cd9b2719336/66e9ce4572066ce8790bc01c_RBM_FAQs.png",
                            "forceRefresh": false
                        },
                        "height": "MEDIUM"
                    },
                    "suggestions": [
                        {
                            "action": {
                                "openUrlAction": {
                                    "url": "https://www.vibes.com/blog/rcs-business-messaging"
                                },
                                "postbackData": "urlaction_blog_rbmfaq",
                                "text": "RBM: FAQ"
                            }
                        },
                        {
                            "reply": {
                                "postbackData": "thumbs_up",
                                "text": "👍"
                            }
                        }
                    ]
                },
                "cardOrientation": "VERTICAL"
            }
        }
    }
}

Carousel of rich cards

{
    "contentMessage": {
        "richCard": {
            "carouselCard": {
                "cardWidth": "MEDIUM",
                "cardContents": [
                    {
                        "description": "Got a question about RCS and RBM? From what's different about the two terms to how it all works, we've got you covered with this comprehensive FAQs article.",
                        "title": "Vibes RCS Business Messaging",
                        "media": {
                            "contentInfo": {
                                "fileUrl": "https://cdn.prod.website-files.com/621fe9312baa6cd9b2719336/66e9ce4572066ce8790bc01c_RBM_FAQs.png",
                                "forceRefresh": false
                            },
                            "height": "MEDIUM"
                        },
                        "suggestions": [
                            {
                                "action": {
                                    "openUrlAction": {
                                        "url": "https://www.vibes.com/blog/rcs-business-messaging"
                                    },
                                    "postbackData": "urlaction_blog_rbmfaq",
                                    "text": "RBM: FAQ"
                                }
                            }
                        ]
                    },
                    {
                        "description": "Verified sender checkmarks, so users feel confident that they're talking to the brand they expect",
                        "media": {
                            "contentInfo": {
                                "fileUrl": "https://cdn.prod.website-files.com/621fe9312baa6cd9b2719336/66eb2b26f65a70bbebd0d248_66eb2b0f834e4bc95892e9a4_RBM-Verified-Sender.png",
                                "forceRefresh": false
                            },
                            "height": "MEDIUM"
                        },
                        "suggestions": [
                            {
                                "action": {
                                    "openUrlAction": {
                                        "url": "https://www.vibes.com/blog/rcs-business-messaging"
                                    },
                                    "postbackData": "urlaction_blog_rbmfaq",
                                    "text": "RBM: FAQ"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    }
}