Senden einer WhatsApp-Authentifizierungsvorlage
In diesem Codeschnipsel erfahren Sie, wie Sie eine WhatsApp-Authentifizierungsvorlage mithilfe der Messages API senden.
WhatsApp hat kürzlich die Regeln für die Verwendung von Authentifizierungsvorlagen aktualisiert, die nun eine COPY_CODE oder ONE_TAP Schaltfläche. Da sie eine Schaltfläche enthält, wird eine Authentifizierungsvorlage als interaktive Vorlage betrachtet. Wenn interaktive Vorlagen über die Vonage Messages API gesendet werden, müssen sie mit einer message_type von custom statt template.
To-Vorlage wird über das benutzerdefinierte Objekt Messages gesendet. Das benutzerdefinierte Objekt nimmt einen Teil der ursprünglichen WhatsApp-API-Anfrage und sendet sie direkt an WhatsApp.
WhatsApp Media Message Templates bestehen aus einer Body-, Footer- und Buttons-Struktur.
Hinweis: Wenn Sie versuchen, eine Auth-Vorlage mit der One-Tap-Schaltfläche zu senden und keine Händedruck bevor die Nachricht gesendet wird, oder wenn die Nachricht eine Zulässigkeitsprüfung nicht besteht, wird in der zugestellten Nachricht eine Schaltfläche zum Kopieren des Codes anstelle einer Schaltfläche zum einmaligen Tippen angezeigt.
Beispiel
Nachstehend finden Sie die Beschreibung aller in den einzelnen Codeausschnitten verwendeten Variablen:
| Schlüssel | Beschreibung |
|---|---|
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH | Private key path. |
WHATSAPP_NUMBER | The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102. |
VONAGE_NUMBER | Refer to |
TO_NUMBER | Replace with the number you are sending to. E.g. |
WHATSAPP_AUTH_TEMPLATE_NAME | The name of the Authentication template created in your WhatsApp Business Account. |
OTP | A One-Time Password |
HINWEIS: Verwenden Sie kein führendes + oder 00 Wenn Sie eine Telefonnummer eingeben, beginnen Sie mit der Landesvorwahl, z. B. 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-authentication-template.sh 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.
Erstellen Sie eine Datei mit dem Namen send-authentication-template.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-authentication-template.js hinzu:
vonage.messages.send({
to: MESSAGES_TO_NUMBER,
from: WHATSAPP_SENDER_ID,
channel: Channels.WHATSAPP,
messageType: 'custom',
custom: {
type: 'template',
template: {
name: WHATSAPP_TEMPLATE_NAME,
language: {
policy: 'deterministic',
code: 'en',
},
components: [
{
type: 'body',
parameters: [
{
type: 'text',
text: WHATSAPP_OTP,
},
],
},
{
type: 'button',
sub_type: 'url',
index: '0',
parameters: [
{
type: 'text',
text: WHATSAPP_OTP,
},
],
},
],
},
},
})
.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:
Erstellen Sie eine Datei mit dem Namen SendWhatsappAuthenticationTemplate und fügen Sie den folgenden Code in die Methode main ein:
Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendWhatsappAuthenticationTemplate Folgendes hinzu:
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:
Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.messages.whatsapp durch das Paket, das SendWhatsappAuthenticationTemplate 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:
Erstellen Sie eine Datei mit dem Namen SendWhatsappAuthenticationTemplate 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 SendWhatsappAuthenticationTemplate Folgendes hinzu:
var response = client.getMessagesClient().sendMessage(
WhatsappCustomRequest.builder()
.from(WHATSAPP_SENDER_ID).to(MESSAGES_TO_NUMBER)
.custom(Map.of(
"type", MessageType.TEMPLATE,
"template", Map.of(
"name", WHATSAPP_AUTH_TEMPLATE_NAME,
"language", Map.of(
"policy", Policy.DETERMINISTIC,
"code", Locale.ENGLISH
),
"components", List.of(
Map.of(
"type", "body",
"parameters", List.of(
Map.of(
"type", MessageType.TEXT,
"text", WHATSAPP_OTP
)
)
),
Map.of(
"type", MessageType.BUTTON,
"sub_type", "url",
"index", 0,
"parameters", List.of(
Map.of(
"type", MessageType.TEXT,
"text", WHATSAPP_OTP
)
)
)
)
)
)).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:
Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.messages.whatsapp durch das Paket, das SendWhatsappAuthenticationTemplate enthält:
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 SendWhatsAppAuthenticationTemplate.cs hinzu:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Erstellen Sie eine Datei mit dem Namen send-authentication-template.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);Schreiben Sie den Code
Fügen Sie Folgendes zu send-authentication-template.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.
Schreiben Sie den Code
Fügen Sie Folgendes zu send-authentication-template.py 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.
Erstellen Sie eine Datei mit dem Namen send-authentication-template.rb und fügen Sie den folgenden Code hinzu:
Schreiben Sie den Code
Fügen Sie Folgendes zu send-authentication-template.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 WhatsApp-Authentifizierungsvorlage an die Zielnummer gesendet.