Send a RCS Suggested Action (Open a URL in a Webview) Message

In this code snippet you learn how to send a RCS Suggested Action message using the text message type of the Messages API RCS channel. This message will prompt the recipient to open a URL in a webview in their device's default browser or registered app.

Example

Find the description for all variables used in each code snippet below:

KeyDescription
VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_PRIVATE_KEY_PATH

Private key path.

MESSAGES_API_URL

There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was https://api.nexmo.com/v0.1/messages, the new one is https://api.nexmo.com/v1/messages. For sandbox testing the Messages API endpoint is https://messages-sandbox.nexmo.com/v0.1/messages or https://messages-sandbox.nexmo.com/v1/messages, depending on which version you have set in the sandbox dashboard.

JWT

Used to authenticate your request. See Authentication for more information, including how to generate a JWT.

TO_NUMBER

The number you are sending the RCS message to in E.164 format. For example 447700900000.

RCS_SENDER_ID

The sender ID for the RCS message.

NOTE: Don't use a leading + or 00 when entering a phone number, start with the country code, for example 447700900000.

Prerequisites

If you do not have an application you can create one. Make sure you also configure your webhooks.

Write the code

Add the following to send-suggested-action-open-url-webview.sh:

curl -X POST "${MESSAGES_API_URL}" \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "to": "'${MESSAGES_TO_NUMBER}'",
    "from": "'${RCS_SENDER_ID}'",
    "channel": "rcs",
    "message_type": "text",
    "text": "Check out our latest offers!",
    "suggestions": [
      {
        "type": "open_url_in_webview",
        "text": "Open product page",
        "postback_data": "postback_data_1234",
        "url": "http://example.com/",
        "description": "A URL for the Example website",
        "view_mode": "FULL"
      }
    ]
  }'

View full source

Run your code

Save this file to your machine and run it:

bash send-suggested-action-open-url-webview.sh

Try it out

When you run the code a message is sent to the destination number.