Senden einer RCS-Nachricht mit Aktionsvorschlag (Standort anzeigen)
In diesem Codeschnipsel lernen Sie, wie Sie eine RCS Suggested Action Nachricht mit der text Nachrichtentyp des Messages API RCS-Kanals. Diese Nachricht fordert den Empfänger auf, einen Standort in der Standard-Kartenanwendung seines Geräts anzuzeigen.
- Für weitere Informationen über RCS Messaging siehe RCS-Nachrichten verstehen
- Eine ausführliche Anleitung zu den Vorschlägen für Chips finden Sie unter RCS-Vorschläge Chips
Beispiel
Nachstehend finden Sie die Beschreibung aller in den einzelnen Codeausschnitten verwendeten Variablen:
| Schlüssel | Beschreibung |
|---|---|
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 |
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 |
RCS_SENDER_ID | The sender ID for the RCS message. |
HINWEIS: Verwenden Sie kein führendes + oder 00 Wenn Sie eine Telefonnummer eingeben, beginnen Sie mit der Landesvorwahl, zum Beispiel 447700900000.
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-view-location.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": "Drop by our office!",
"suggestions": [
{
"type": "view_location",
"text": "View map",
"postback_data": "postback_data_1234",
"latitude": "51.5230371",
"longitude": "-0.0852492",
"pin_label": "Vonage London Office",
"fallback_url": "https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z"
}
]
}'Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
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/messagesErstellen Sie eine Datei mit dem Namen send-suggested-action-view-location.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} : {}),
},
);Schreiben Sie den Code
Fügen Sie Folgendes zu send-suggested-action-view-location.js hinzu:
vonage.messages.send({
messageType: 'custom',
channel: Channels.RCS,
custom: {
contentMessage: {
text: 'Drop by our office!',
suggestions: [
{
action: {
text: 'View map',
postbackData: 'postback_data_1234',
fallbackUrl: 'https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z',
viewLocationAction: {
latLong: {
latitude: '51.5230371',
longitude: '-0.0852492',
},
label: 'Vonage London Office',
},
},
},
],
},
},
to: MESSAGES_TO_NUMBER,
from: RCS_SENDER_ID,
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => console.error(error));Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
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 SendRcsSuggestedViewLocation und fügen Sie den folgenden Code in die Methode main ein:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendRcsSuggestedViewLocation Folgendes hinzu:
val messageId = client.messages.send(
rcsCustom {
to(MESSAGES_TO_NUMBER)
from(RCS_SENDER_ID)
custom(mapOf(
"contentMessage" to mapOf(
"text" to "Drop by our office!",
"suggestions" to listOf(
mapOf(
"action" to mapOf(
"text" to "View map",
"postbackData" to "postback_data_1234",
"fallbackUrl" to "https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z",
"viewLocationAction" to mapOf(
"latLong" to mapOf(
"latitude" to 51.5230371,
"longitude" to -0.0852492
),
"label" to "Vonage London Office"
)
)
)
)
)
))
}
)Führen Sie Ihren Code aus
Wir können das Applikation 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 SendRcsSuggestedViewLocation enthält:
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 SendRcsSuggestedViewLocation 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();Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendRcsSuggestedViewLocation Folgendes hinzu:
var response = client.getMessagesClient().sendMessage(
RcsCustomRequest.builder()
.from(RCS_SENDER_ID).to(MESSAGES_TO_NUMBER)
.custom(Map.of("contentMessage", Map.of(
"text", "Drop by our office!",
"suggestions", List.of(
Map.of(
"action", Map.of(
"text", "View map",
"postbackData", "postback_data_1234",
"fallbackUrl", "https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z",
"viewLocationAction" , Map.of(
"latLong", Map.of(
"latitude", 51.5230371,
"longitude", -0.0852492
),
"label", "Vonage London Office"
)
)
)
)
))
).build()
);
System.out.println("Message sent successfully. ID: " + response.getMessageUuid());Führen Sie Ihren Code aus
Wir können das Applikation 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 SendRcsSuggestedViewLocation enthält:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Install-Package VonageSchreiben Sie den Code
Fügen Sie Folgendes zu SendRcsSuggestedActionViewLocationMessage.cs hinzu:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new RcsCustomRequest
{
To = MESSAGES_TO_NUMBER,
From = RCS_SENDER_ID,
Custom =
new
{
ContentMessage = new
{
Text = "Drop by our office!",
Suggestions = new[]
{
new
{
Action = new
{
Text = "View map",
PostbackData = "postback_data_1234",
FallbackUrl = "https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z",
ViewLocationAction = new
{
LatLong = new
{
Latitude = 51.5230371,
Longitude = -0.0852492
},
Label = "Vonage London Office"
}
}
}
}
}
}
};
var response = await vonageClient.MessagesClient.SendAsync(request);
Console.WriteLine($"Message UUID: {response.MessageUuid}");Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
composer require vonage/clientErstellen Sie eine Datei mit dem Namen send-suggested-action-view-location.php und fügen Sie den folgenden Code hinzu:
Schreiben Sie den Code
Fügen Sie Folgendes zu send-suggested-action-view-location.php hinzu:
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
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-dotenvSchreiben Sie den Code
Fügen Sie Folgendes zu send-suggested-action-view-location.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": "Drop by our office!",
"suggestions": [
{
"action": {
"text": "View map",
"postbackData": "postback_data_1234",
"fallbackUrl": "https://www.google.com/maps/place/Vonage/@51.5230371,-0.0852492,15z",
"viewLocationAction": {
"latLong": {
"latitude": "51.5230371",
"longitude": "-0.0852492",
},
"label": "Vonage London Office",
},
}
}
],
}
}
message = RcsCustom(
to=MESSAGES_TO_NUMBER,
from_=RCS_SENDER_ID,
custom=custom_dict,
)
response = client.messages.send(message)
print(response)Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
gem install vonageErstellen Sie eine Datei mit dem Namen send-suggested-action-view-location.rb und fügen Sie den folgenden Code hinzu:
Schreiben Sie den Code
Fügen Sie Folgendes zu send-suggested-action-view-location.rb hinzu:
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Probieren Sie es aus
Wenn Sie den Code ausführen, wird eine Nachricht an die Zielnummer gesendet.