Senden einer RCS-Nachricht mit Aktionsvorschlag (Wählen einer Number)

In diesem Codeschnipsel lernen Sie, wie Sie eine RCS Suggested Action Nachricht mit der text Nachrichtentyp des Messages API RCS-Kanals. Mit dieser Nachricht wird der Empfänger aufgefordert, eine bestimmte Nummer zu wählen.

Beispiel

Nachstehend finden Sie die Beschreibung aller in den einzelnen Codeausschnitten verwendeten Variablen:

SchlüsselBeschreibung
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.

HINWEIS: Verwenden Sie kein führendes + oder 00 bei der Eingabe einer Rufnummer für die to Nummer (d. h. die Nummer, an die die RCS-Nachricht gesendet werden soll), beginnen Sie mit der Landesvorwahl, z. B. 447700900000.

Für den Wert von phoneNumber im dialActionjedoch eine + sollte verwendet werden, um den Ländercode voranzustellen, z. B. +447900000000.

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Schreiben Sie den Code

Fügen Sie Folgendes zu send-suggested-action-dial.sh hinzu:

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": "Call us to claim your free gift!",
    "suggestions": [
      {
        "type": "dial",
        "text": "Call now!",
        "postback_data": "postback_data_1234",
        "phone_number": "+447900000000",
        "fallback_url": "https://www.example.com/contact/"
      }
    ]
  }'

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

bash send-suggested-action-dial.sh

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

npm install @vonage/server-sdk @vonage/messages

Erstellen Sie eine Datei mit dem Namen send-suggested-action-dial.js und fügen Sie den folgenden Code hinzu:

const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');

/**
 * It is best to send messages using JWT instead of basic auth. If you leave out
 * apiKey and apiSecret, the messages SDK will send requests using JWT tokens
 *
 * @link https://developer.vonage.com/en/messages/technical-details#authentication
 */
const vonage = new Vonage(
  {
    applicationId: VONAGE_APPLICATION_ID,
    privateKey: VONAGE_PRIVATE_KEY,
  },
  {
    ...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
  },
);

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu send-suggested-action-dial.js hinzu:

vonage.messages.send({
  messageType: 'custom',
  channel: Channels.RCS,
  custom: {
    contentMessage: {
      text: 'Call us to claim your free gift!',
      suggestions: [
        {
          action: {
            text: 'Call now!',
            postbackData: 'postback_data_1234',
            fallbackUrl: 'https://www.example.com/contact/',
            dialAction: {
              phoneNumber: '+447900000000',
            },
          },
        },
      ],
    },
  },
  to: MESSAGES_TO_NUMBER,
  from: RCS_SENDER_ID,
})
  .then(({ messageUUID }) => console.log(messageUUID))
  .catch((error) => console.error(error));

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

node send-suggested-action-dial.js

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Fügen Sie Folgendes zu build.gradle hinzu:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Erstellen Sie eine Datei mit dem Namen SendRcsSuggestedDialNumber und fügen Sie den folgenden Code in die Methode main ein:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei SendRcsSuggestedDialNumber Folgendes hinzu:

val messageId = client.messages.send(
    rcsCustom {
        to(MESSAGES_TO_NUMBER)
        from(RCS_SENDER_ID)
        custom(mapOf(
            "contentMessage" to mapOf(
                "text" to "Call us to claim your free gift!",
                "suggestions" to listOf(
                    mapOf(
                        "action" to mapOf(
                            "text" to "Call now!",
                            "postbackData" to "postback_data_1234",
                            "fallbackUrl" to "https://www.example.com/contact/",
                            "dialAction" to mapOf(
                                "phoneNumber" to "+447900000000"
                            )
                        )
                    )
                )
            )
        ))
    }
)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.messages.rcs durch das Paket, das SendRcsSuggestedDialNumber enthält:

gradle run -Pmain=com.vonage.quickstart.kt.messages.rcs.SendRcsSuggestedDialNumber

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Fügen Sie Folgendes zu build.gradle hinzu:

implementation 'com.vonage:server-sdk:9.3.1'

Erstellen Sie eine Datei mit dem Namen SendRcsSuggestedDialNumber und fügen Sie den folgenden Code in die Methode main ein:

VonageClient client = VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build();

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei SendRcsSuggestedDialNumber Folgendes hinzu:

var response = client.getMessagesClient().sendMessage(
	RcsCustomRequest.builder()
		.from(RCS_SENDER_ID).to(MESSAGES_TO_NUMBER)
		.custom(Map.of("contentMessage", Map.of(
				"text", "Call us to claim your free gift!",
				"suggestions", List.of(
					Map.of(
						"action", Map.of(
							"text", "Call now!",
							"postbackData", "postback_data_1234",
							"fallbackUrl", "https://www.example.com/contact/",
							"dialAction" , Map.of(
								"phoneNumber", "+447900000000"
							)
						)
					)
				)
			))
		).build()
);
System.out.println("Message sent successfully. ID: " + response.getMessageUuid());

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.messages.rcs durch das Paket, das SendRcsSuggestedDialNumber enthält:

gradle run -Pmain=com.vonage.quickstart.messages.rcs.SendRcsSuggestedDialNumber

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Install-Package Vonage

Schreiben Sie den Code

Fügen Sie Folgendes zu SendRcsSuggestedActionDialMessage.cs hinzu:

var request = new RcsTextRequest()
{
    To = MESSAGES_TO_NUMBER,
    From = RCS_SENDER_ID,
    Text = "Call us to claim your free gift!",
    Suggestions =
    [
        new DialSuggestion(
            "Call now!", 
            "postback_data_1234", 
            "+447900000000")
    ]
};
var response = await vonageClient.MessagesClient.SendAsync(request);

Vollständige Quelle anzeigen

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

composer require vonage/client

Erstellen Sie eine Datei mit dem Namen send-suggested-action-dial.php und fügen Sie den folgenden Code hinzu:

$keypair = new \Vonage\Client\Credentials\Keypair(
    file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
    VONAGE_APPLICATION_ID
);

$client = new \Vonage\Client($keypair);

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu send-suggested-action-dial.php hinzu:

$rcsCard = new Vonage\Messages\Channel\RCS\RcsCustom(
    '07778887777',
    '09997485156',
    [
        "contentMessage" => [
            "text" => "Call us to claim your free gift!",
            "suggestions" => [
                [
                    "action" => [
                        "text" => "Call now!",
                        "postbackData" => "postback_data_1234",
                        "fallbackUrl" => "https://www.example.com/contact/",
                        "dialAction" => ["phoneNumber" => "+447900000000"],
                    ],
                ],
            ],
        ],
    ]
);

$client->messages()->send($rcsCard);

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

php send-suggested-action-dial.php

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

pip install vonage python-dotenv

Schreiben Sie den Code

Fügen Sie Folgendes zu send-suggested-action-dial.py hinzu:

from vonage import Auth, Vonage
from vonage_messages import RcsCustom

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

custom_dict = {
    "contentMessage": {
        "text": "Call us to claim your free gift!",
        "suggestions": [
            {
                "action": {
                    "text": "Call now!",
                    "postbackData": "postback_data_1234",
                    "fallbackUrl": "https://www.example.com/contact/",
                    "dialAction": {"phoneNumber": "+447900000000"},
                }
            }
        ],
    }
}

message = RcsCustom(
    to=MESSAGES_TO_NUMBER,
    from_=RCS_SENDER_ID,
    custom=custom_dict,
)

response = client.messages.send(message)
print(response)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

python messages/rcs/send-suggested-action-dial.py

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

gem install vonage

Erstellen Sie eine Datei mit dem Namen send-suggested-action-dial.rb und fügen Sie den folgenden Code hinzu:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu send-suggested-action-dial.rb hinzu:

message = client.messaging.rcs(
  type: 'text',
  message: "Call us to claim your free gift!",
  opts: {
    suggestions: [
      {
        type: "dial",
        text: "Call now!",
        postback_data: "postback_data_1234",
        phone_number: "+447900000000",
        fallback_url: "https://www.example.com/contact/"
      }
    ]
  }
)

client.messaging.send(
  from: RCS_SENDER_ID,
  to: MESSAGES_TO_NUMBER,
  **message
)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

ruby send-suggested-action-dial.rb

Probieren Sie es aus

Wenn Sie den Code ausführen, wird eine Nachricht an die Zielnummer gesendet.