Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
mit Azure Communication Services können Sie WhatsApp-Nachrichten senden und empfangen. In diesem Artikel wird beschrieben, wie Sie Ihre App in Azure Communication Advanced Messages SDK integrieren, um mit dem Senden und Empfangen von WhatsApp-Nachrichten zu beginnen. Wenn Sie diesen Artikel fertigstellen, entstehen auf Ihrem Azure-Konto geringe Kosten von wenigen US-Cent oder weniger.
Voraussetzungen
- WhatsApp Business-Konto, das bei Ihrer Azure Communication Services Ressource registriert ist.
- Aktive WhatsApp-Telefonnummer zum Empfangen von Nachrichten.
- .NET Entwicklungsumgebung wie Visual Studio, Visual Studio Code oder .NET CLI.
Einrichten der Umgebung
Erstellen des .NET Projekts
Um Ihr Projekt zu erstellen, folgen Sie dem Lernprogramm unter Create a .NET console application using Visual Studio.
Um den Code zu kompilieren, drücken Sie STRG+F7.
Installieren des Pakets
Installieren Sie das Azure.Communication.Messages NuGet-Paket in Ihr C#-Projekt.
- Öffnen Sie die NuGet-Paket-Manager unter
Project>Manage NuGet Packages.... - Suchen Sie nach dem Paket
Azure.Communication.Messages. - Installieren Sie das neueste Release.
Einrichten des App-Frameworks
Öffnen Sie die Program.cs-Datei in einem Text-Editor.
Ersetzen Sie den Inhalt Ihrer Program.cs durch den folgenden Code:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;
namespace AdvancedMessagingQuickstart
{
class Program
{
public static async Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Advanced Messages quickstart samples.");
// Quickstart code goes here
}
}
}
Um die Advanced Messaging-Features zu verwenden, fügen Sie eine using-Direktive hinzu, um den namespace Azure.Communication.Messages einzuschließen.
using Azure.Communication.Messages;
Objektmodell
Die folgenden Klassen und Schnittstellen behandeln einige der wichtigsten Features des Azure Communication Services Advance Messaging SDK für .NET.
| Klassenname | Beschreibung |
|---|---|
NotificationMessagesClient |
Stellt eine Verbindung mit Ihrer Azure Communication Services Resource her. Sie sendet die Nachrichten. |
MessageTemplate |
Definiert die verwendete Vorlage und den Inhalt der Vorlageneigenschaften für Ihre Nachricht. |
TemplateNotificationContent |
Definiert das „Wer“ und das „Was“ der Nachrichtenvorlage, die Sie senden möchten. |
TextNotificationContent |
Definiert das „Wer“ und das „Was“ der SMS, die Sie senden möchten. |
ImageNotificationContent |
Definiert das „Wer“ und das „Was“ der Bildmediennachricht, die Sie senden möchten. |
DocumentNotificationContent |
Definiert das „Wer“ und das „Was“ der Dokumentmediennachricht, die Sie senden möchten. |
VideoNotificationContent |
Definiert das „Wer“ und das „Was“ der Videomediennachricht, die Sie senden möchten. |
AudioNotificationContent |
Definiert das „Wer“ und das „Was“ der Audiomediennachricht, die Sie senden möchten. |
Hinweis
Weitere Informationen finden Sie im Azure SDK für .NET Referenz Azure. Communication.Messages Namespace.
Allgemeine Konfiguration
Führen Sie die folgenden Schritte aus, um dem Python-Programm „messages-quickstart.py“ die erforderlichen Codeschnipsel hinzuzufügen.
- Authentifizieren Sie den Client.
- Legen Sie die Kanalregistrierungs-ID fest.
- Legen Sie die Empfängerliste fest.
- Starten Sie den Nachrichtenversand zwischen Geschäfts- und WhatsApp-Benutzenden.
Authentifizieren des Clients
Das Messages SDK verwendet NotificationMessagesClient zum Senden von Nachrichten. Die NotificationMessagesClient-Methode authentifiziert sich mithilfe Ihrer Verbindungszeichenfolge, die von den Azure Communication Services-Ressourcen im Azure-Portal erworben wurde. Weitere Informationen zu Verbindungszeichenfolgen finden Sie unter access-your-connection-strings-and-service-endpoints.
Der Einfachheit halber verwendet dieser Artikel eine Verbindungszeichenfolge zur Authentifizierung. In Produktionsumgebungen wird empfohlen, Dienstprinzipale zu verwenden.
Rufen Sie die Verbindungszeichenfolge aus Ihrer Azure Communication Services-Ressource im Azure-Portal ab. Navigieren Sie auf der linken Seite zur Registerkarte Keys. Kopieren Sie das Feld Connection string für den Primärschlüssel. Die Verbindungszeichenfolge ist im Format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Legen Sie die Umgebungsvariable COMMUNICATION_SERVICES_CONNECTION_STRING auf den Wert Ihrer Verbindungszeichenfolge fest.
Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Nachdem Sie die Umgebungsvariable hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, die die Umgebungsvariable lesen müssen, z. B. das Konsolenfenster. Wenn Sie z. B. Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.
Weitere Informationen darüber, wie Sie eine Umgebungsvariable für Ihr System festlegen, erhalten Sie, indem Sie den Schritten unter Speichern Sie Ihre Verbindungszeichenfolge in einer Umgebungsvariable folgen.
Um NotificationMessagesClient zu instanziieren, fügen Sie der Main-Methode den folgenden Code hinzu:
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Festlegen der Kanalregistrierungs-ID
Sie haben die GUID der Kanalregistrierungs-ID während der Kanalregistrierung erstellt. Suchen Sie es im Portal auf der Registerkarte Channels Ihrer Azure Communication Services Ressource.
Weisen Sie diese der Variablen „channelRegistrationId“ zu.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Festlegen der Empfängerliste
Sie müssen eine aktive Telefonnummer angeben, die einem WhatsApp-Konto oder einer unternehmensbezogenen Benutzer-ID (BSUID) zugeordnet ist. Dieses WhatsApp-Konto empfängt die Vorlagen-, Text- und Mediennachrichten, die in diesem Schnellstart gesendet werden.
In diesem Beispiel können Sie Ihre persönliche Telefonnummer verwenden.
Die Empfängertelefonnummer kann nicht die geschäftliche Telefonnummer (Sender-ID) sein, die der WhatsApp-Kanalregistrierung zugeordnet ist. Die Sender-ID wird als Sender der Text- und Mediennachrichten angezeigt, die an den Empfänger gesendet werden.
Die Telefonnummer muss die Landeskennzahl beinhalten. Weitere Informationen zur Formatierung von Telefonnummern finden Sie in der WhatsApp-Dokumentation für Telefonnummernformate.
Hinweis
In der Empfängerliste wird derzeit nur eine Telefonnummer oder BSUID unterstützt.
Erstellen Sie die Empfängerliste folgendermaßen:
var recipientList = new List<string> { "<to WhatsApp phone number or BSUID>" };
Beispiel für die Verwendung einer Telefonnummer:
// Example only
var recipientList = new List<string> { "+14255550199" };
Beispiel für die Verwendung einer BSUID:
// Example only
var recipientList = new List<string> { "US.13491208655302741918" };
Hinweis
Das Senden von Nachrichten an BSUIDs ist ab Juni 2026 verfügbar. Verwenden Sie bis dahin Telefonnummern als Empfänger.
Weitere Informationen zu BSUIDs finden Sie unter WhatsApp-Benutzernamen und BSUIDs.
Einrichten des Nachrichtenversands zwischen Geschäfts- und WhatsApp-Benutzern
Unterhaltungen zwischen einem WhatsApp Business-Konto und WhatsApp-Benutzer*innen kann auf eine von zwei Arten initiiert werden:
- Das Unternehmen sendet eine Nachrichtenvorlage an die WhatsApp-Benutzer*innen.
- Die WhatsApp-Benutzer*innen senden eine beliebige Nachricht an die Geschäftsnummer.
Ein Unternehmen kann keine interaktive Unterhaltung initiieren. Ein Unternehmen kann interaktive Nachrichten nur als Antwort auf interaktive Nachrichten von Benutzenden senden. Das Unternehmen kann nur während der aktiven Konversation interaktive Nachrichten an den Benutzer senden. Sobald das 24-Stunden-Fenster einer Unterhaltung abgelaufen ist, können nur Benutzende die interaktive Unterhaltung neu starten. Weitere Informationen zu Unterhaltungen finden Sie in der Definition auf der WhatsApp Business Platform.
Um eine interaktive Unterhaltung von ihrem persönlichen WhatsApp-Konto aus zu starten, senden Sie eine Nachricht an Ihre Geschäftsnummer (Sender-ID).
Codebeispiele
Befolgen Sie diese Schritte, um die erforderlichen Codeschnipsel zur Main-Funktion Ihrer Program.cs-Datei hinzuzufügen.
- Senden einer SMS an WhatsApp-Benutzende.
- Senden einer Bildmediennachricht an WhatsApp-Benutzende.
- Senden einer Dokumentmediennachricht an WhatsApp-Benutzende.
- Senden einer Audiomediennachricht an WhatsApp-Benutzende.
- Senden einer Videomediennachricht an WhatsApp-Benutzende.
Wichtig
Um eine Text- oder Mediennachricht an WhatsApp-Benutzende zu senden, müssen WhatsApp-Benutzende zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Senden einer Textnachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Textnachrichten senden, die von WhatsApp-Benutzenden initiiert wurden. Zum Senden einer Textnachricht benötigen Sie Folgendes:
- Authentifizierter NotificationMessagesClient
- WhatsApp-Kanal-ID
- Empfängertelefonnummer im E16-Format oder BSUID
- Nachrichtentext/Text, der gesendet werden soll
In diesem Beispiel antworten wir per WhatsApp mit dem Text "Thanks for your feedback.\n From Notification Messaging SDK.".
Stellen Sie die SMS zusammen, und senden Sie sie:
// Assemble text message
var textContent =
new TextNotificationContent(channelRegistrationId, recipientList, "Thanks for your feedback.\n From Notification Messaging SDK");
// Send text message
Response<SendMessageResult> sendTextMessageResult =
await notificationMessagesClient.SendAsync(textContent);
Senden einer Bildmediennachricht an WhatsApp-Benutzende
Mit dem Messages SDK kann Contoso WhatsApp-Mediennachrichten an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- Authentifizierter NotificationMessagesClient.
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format oder BSUID.
- URI des Bildmediums.
Wichtig
Ab SDK-Version 1.1.0 ist MediaNotificationContent für Bilder veraltet. Es wird empfohlen, für den Bildversand ImageNotificationContent zu nutzen. Informieren Sie sich für andere Medientypen wie DocumentNotificationContent, VideoNotificationContent und AudioNotificationContent über andere inhaltsspezifische Klassen.
Zusammenstellen der Bildnachricht:
var imageLink = new Uri("https://example.com/image.jpg");
var imageNotificationContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageLink)
{
Caption = "Check out this image."
};
Senden der Bildnachricht:
var imageResponse = await notificationMessagesClient.SendAsync(imageNotificationContent);
Senden einer Dokumentmediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Mediennachrichten an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- Authentifizierter NotificationMessagesClient.
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format oder BSUID.
- URI der Dokumentmedien.
Zusammenstellen des Dokumentinhalts:
var documentLink = new Uri("https://example.com/document.pdf");
var documentNotificationContent = new DocumentNotificationContent(channelRegistrationId, recipientList, documentLink)
{
Caption = "Check out this document.",
FileName = "document.pdf"
};
Senden der Dokumentnachricht:
var documentResponse = await notificationMessagesClient.SendAsync(documentNotificationContent);
Senden einer Videomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Mediennachrichten an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- Authentifizierter NotificationMessagesClient.
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format oder BSUID.
- URI der Videomedien.
Zusammenstellen der Videonachricht:
var videoLink = new Uri("https://example.com/video.mp4");
var videoNotificationContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoLink)
{
Caption = "Check out this video."
};
Senden der Videonachricht:
var videoResponse = await notificationMessagesClient.SendAsync(videoNotificationContent);
Senden einer Audiomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Mediennachrichten an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- Authentifizierter NotificationMessagesClient.
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format oder BSUID.
- URI der Audiomedien.
Zusammenstellen der Audionachricht:
var audioLink = new Uri("https://example.com/audio.mp3");
var audioNotificationContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioLink);
Senden der Audionachricht:
var audioResponse = await notificationMessagesClient.SendAsync(audioNotificationContent);
Ausführen des Codes
Erstellen Sie Ihr Programm und führen Sie es aus.
Zum Senden einer Text- oder Mediennachricht an einen WhatsApp-Benutzer ist eine aktive Unterhaltung zwischen dem WhatsApp Business-Konto und dem WhatsApp-Benutzer erforderlich.
Wenn keine aktive Unterhaltung vorliegt, können Sie für dieses Beispiel eine Wartezeit zwischen dem Senden der Vorlagennachricht und dem Senden der SMS hinzufügen. Diese zusätzliche Verzögerung gibt Ihnen genügend Zeit, um dem Unternehmen über das WhatsApp-Konto des Benutzers zu antworten. Das vollständige Beispiel unter Beispielcode verlangt vor dem Senden der nächsten Nachricht eine manuelle Benutzereingabe.
Bei Erfolg erhalten Sie drei Nachrichten im WhatsApp-Konto des Benutzers.
- Um den Code zu kompilieren, drücken Sie STRG+F7.
- Um das Programm ohne Debuggen auszuführen, drücken Sie STRG+F5.
Vollständiger Beispielcode
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;
namespace AdvancedMessagingQuickstart
{
class Program
{
public static async Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Send WhatsApp Messages\n");
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
NotificationMessagesClient notificationMessagesClient =
new NotificationMessagesClient(connectionString);
var channelRegistrationId = new Guid("<Your Channel ID>");
var recipientList = new List<string> { "<Recipient's WhatsApp Phone Number>" };
// Send sample template sample_template
string templateName = "sample_template";
string templateLanguage = "en_us";
MessageTemplate sampleTemplate = new MessageTemplate(templateName, templateLanguage);
TemplateNotificationContent templateContent =
new TemplateNotificationContent(channelRegistrationId, recipientList, sampleTemplate);
Response<SendMessageResult> sendTemplateMessageResult =
await notificationMessagesClient.SendAsync(templateContent);
PrintResult(sendTemplateMessageResult);
Console.WriteLine("Template message sent.\nWait until the WhatsApp user responds " +
"to the template message, then press any key to continue.\n");
Console.ReadKey();
// Send a text message
string messageText = "Thanks for your feedback.";
TextNotificationContent textContent =
new TextNotificationContent(channelRegistrationId, recipientList, messageText);
Response<SendMessageResult> sendTextMessageResult =
await notificationMessagesClient.SendAsync(textContent);
PrintResult(sendTextMessageResult);
Console.WriteLine($"Text message sent to my phoneNumber.\nPress any key to continue.\n");
Console.ReadKey();
// Send a media message
Uri uri = new Uri("https://aka.ms/acsicon1");
ImageNotificationContent imageContent =
new ImageNotificationContent(channelRegistrationId, recipientList, uri);
Response<SendMessageResult> sendMediaMessageResult =
await notificationMessagesClient.SendAsync(imageContent);
PrintResult(sendMediaMessageResult);
Console.WriteLine("Media message sent.\nPress any key to exit.\n");
Console.ReadKey();
}
public static void PrintResult(Response<SendMessageResult> result)
{
Console.WriteLine($"Response: {result.GetRawResponse().Status} " +
$"({result.GetRawResponse().ReasonPhrase})");
Console.WriteLine($"Date: " +
$"{result.GetRawResponse().Headers.First(header => header.Name == "Date").Value}");
Console.WriteLine($"ClientRequestId: {result.GetRawResponse().ClientRequestId}");
Console.WriteLine($"MS-CV: " +
$"{result.GetRawResponse().Headers.First(header => header.Name == "MS-CV").Value}");
foreach (var receipts in result.Value.Receipts)
{
Console.WriteLine($"MessageId: {receipts.MessageId}");
}
Console.WriteLine($"\n");
}
}
}
Voraussetzungen
- WhatsApp Business-Konto, das bei Ihrer Azure Communication Services Ressource registriert ist.
- Aktive WhatsApp-Telefonnummer zum Empfangen von Nachrichten.
- Java Development Kit (JDK) Version 8 oder höher.
- Apache Maven.
Einrichten der Umgebung
Um eine Umgebung zum Senden von Nachrichten einzurichten, führen Sie die Schritte in den folgenden Abschnitten aus.
Erstellen einer neuen Java Anwendung
Öffnen Sie ein Terminal- oder Befehlsfenster, und navigieren Sie zu dem Verzeichnis, in dem Sie Ihre Java Anwendung erstellen möchten. Führen Sie den folgenden Befehl aus, um das Java Projekt aus der Vorlage maven-archetype-quickstart zu generieren.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
Das generate-Ziel erstellt ein Verzeichnis, das den gleichen Namen wie der artifactId-Wert besitzt. Unter diesem Verzeichnis enthält das Verzeichnis src/main/java den Quellcode project, das Verzeichnis src/test/java die Testquelle, und die datei pom.xml ist das project Project Object Model (POM).
Installieren des Pakets
Öffnen Sie die Datei pom.xml in Ihrem Text-Editor. Fügen Sie der Gruppe „Abhängigkeiten“ das folgende Element hinzu.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</dependency>
Einrichten des App-Frameworks
Öffnen Sie /src/main/java/com/communication/quickstart/App.java in einem Text-Editor, fügen Sie Importanweisungen hinzu, und entfernen Sie die System.out.println("Hello world!");-Anweisung:
package com.communication.quickstart;
import com.azure.communication.messages.*;
import com.azure.communication.messages.models.*;
import java.util.ArrayList;
import java.util.List;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Codebeispiele
Befolgen Sie diese Schritte, um die erforderlichen Codeschnipsel zur Main-Funktion Ihrer App.java-Datei hinzuzufügen.
- Starten Sie den Nachrichtenversand zwischen Geschäfts- und WhatsApp-Benutzenden.
- Authentifizieren Sie den Client.
- Legen Sie die Kanalregistrierungs-ID fest.
- Legen Sie die Empfängerliste fest.
- Senden einer Textnachricht an WhatsApp-Benutzer
- Senden einer Bildmediennachricht an WhatsApp-Benutzende
- Senden einer Dokumentmediennachricht an WhatsApp-Benutzende
- Senden einer Audiomediennachricht an WhatsApp-Benutzende
- Senden einer Videomediennachricht an WhatsApp-Benutzende
Einrichten des Nachrichtenversands zwischen Geschäfts- und WhatsApp-Benutzern
Unterhaltungen zwischen einem WhatsApp Business-Konto und WhatsApp-Benutzer*innen kann auf eine von zwei Arten initiiert werden:
- Das Unternehmen sendet eine Nachrichtenvorlage an die WhatsApp-Benutzer*innen.
- Die WhatsApp-Benutzer*innen senden eine beliebige Nachricht an die Geschäftsnummer.
Unabhängig davon, wie die Unterhaltung gestartet wurde, kann ein Unternehmen Vorlagennachrichten nur senden, bis der Benutzer eine Nachricht an das Unternehmen sendet. Erst nachdem der Benutzer eine Nachricht an das Unternehmen gesendet hat, darf das Unternehmen während der aktiven Unterhaltung Text- oder Mediennachrichten an den Benutzer senden. Nach Ablauf des 24-Stunden-Fensters muss die Unterhaltung erneut eingeleitet werden. Weitere Informationen zu Unterhaltungen finden Sie in der Definition auf der WhatsApp Business-Platform.
Authentifizieren des Clients
Für die Authentifizierung eines Messagingclients stehen verschiedene Optionen zur Verfügung:
Um einen Client zu authentifizieren, instanziieren Sie ein NotificationMessagesClient oder MessageTemplateClient mit Ihrem Verbindungszeichenfolge. Sie können den Client auch mit einem beliebigen benutzerdefinierten HTTP-Client initialisieren, der die com.azure.core.http.HttpClient-Schnittstelle implementiert.
Der Einfachheit halber verwendet dieser Artikel eine Verbindungszeichenfolge zur Authentifizierung. In Produktionsumgebungen wird empfohlen, Dienstprinzipale zu verwenden.
Rufen Sie die Verbindungszeichenfolge aus Ihrer Azure Communication Services-Ressource im Azure-Portal ab. Navigieren Sie auf der linken Seite zur Registerkarte Keys. Kopieren Sie das Feld Connection string für Primary key. Die Verbindungszeichenfolge ist im Format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Legen Sie die Umgebungsvariable COMMUNICATION_SERVICES_CONNECTION_STRING auf den Wert Ihrer Verbindungszeichenfolge fest.
Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Weitere Informationen darüber, wie Sie eine Umgebungsvariable für Ihr System festlegen, erhalten Sie, indem Sie den Schritten unter Speichern Sie Ihre Verbindungszeichenfolge in einer Umgebungsvariable folgen.
Zum Instanziieren von NotificationMessagesClient fügen Sie der main-Methode den folgenden Code hinzu:
// You can get your connection string from your resource in the Azure portal.
String connectionString = System.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING");
NotificationMessagesClient notificationClient = new NotificationMessagesClientBuilder()
.connectionString(connectionString)
.buildClient();
Festlegen der Kanalregistrierungs-ID
Die GUID der Kanalregistrierungs-ID wurde während der Kanalregistrierung erstellt. Sie können es im Portal auf der Registerkarte "Kanäle" Ihrer Azure Communication Services-Ressource nachschlagen.
Weisen Sie diese der Variablen „channelRegistrationId“ zu.
String channelRegistrationId = "<your channel registration id GUID>";
Festlegen der Empfängerliste
Sie müssen eine echte Telefonnummer angeben, der ein WhatsApp-Konto zugeordnet ist, oder eine geschäftsbezogene Benutzer-ID (BSUID). Dieses WhatsApp-Konto empfängt die in diesem Artikel gesendeten Text- und Mediennachrichten. Bei diesem Artikel kann es sich bei dieser Telefonnummer um Ihre persönliche Telefonnummer handeln.
Die Empfängertelefonnummer kann nicht die geschäftliche Telefonnummer (Sender-ID) sein, die der WhatsApp-Kanalregistrierung zugeordnet ist. Die Sender-ID wird als Sender der Text- und Mediennachrichten angezeigt, die an den Empfänger gesendet werden.
Die Telefonnummer sollte die Landeskennzahl beinhalten. Weitere Informationen zur Formatierung von Telefonnummern finden Sie in der WhatsApp-Dokumentation für Telefonnummernformate.
Hinweis
In der Empfängerliste wird derzeit nur eine Telefonnummer oder BSUID unterstützt.
Erstellen Sie die Empfängerliste folgendermaßen:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number or BSUID>");
Beispiel für die Verwendung einer Telefonnummer:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Beispiel für die Verwendung einer BSUID:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("US.13491208655302741918");
Hinweis
Das Senden von Nachrichten an BSUIDs ist ab Juni 2026 verfügbar. Verwenden Sie bis dahin Telefonnummern als Empfänger.
Weitere Informationen zu BSUIDs finden Sie unter WhatsApp-Benutzernamen und BSUIDs.
Senden einer Textnachricht an WhatsApp-Benutzer
Messages SDK ermöglicht Contoso das Senden von WhatsApp-Textnachrichten, die von WhatsApp-Nutzern initiiert wurden. Zum Senden von Textnachrichten sind die folgenden Angaben erforderlich:
- WhatsApp-Kanal-ID
- Empfängertelefonnummer im E16-Format
- Nachrichtentext/Text, der gesendet werden soll
In diesem Beispiel antworten wir per WhatsApp mit dem Text "Thanks for your feedback.\n From Notification Messaging SDK.".
Wichtig
Um eine SMS an einen WhatsApp-Benutzer zu senden, muss der WhatsApp-Benutzer zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Stellen Sie die SMS zusammen, und senden Sie sie:
// Assemble text message
TextNotificationContent textContent = new TextNotificationContent(channelRegistrationId, recipientList, "“Thanks for your feedback.\n From Notification Messaging SDK");
// Send text message
SendMessageResult textMessageResult = notificationClient.send(textContent);
// Process result
for (MessageReceipt messageReceipt : textMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Senden einer Bildmediennachricht an WhatsApp-Benutzende
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID
- Empfängertelefonnummer im E16-Format
- URL der Bildmedien
Wichtig
Ab SDK-Version 1.1.0 ist MediaNotificationContent für Bilder veraltet. Es wird empfohlen, für den Bildversand ImageNotificationContent zu nutzen. Informieren Sie sich für andere Medientypen wie DocumentNotificationContent, VideoNotificationContent und AudioNotificationContent über andere inhaltsspezifische Klassen.
Wichtig
Um eine Bildnachricht an WhatsApp-Benutzende zu senden, müssen WhatsApp-Benutzende zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Stellen Sie die Bildnachricht zusammen, und senden Sie sie:
// Assemble image message
String imageUrl = "https://example.com/image.jpg";
ImageNotificationContent imageContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageUrl);
// Send image message
SendMessageResult imageMessageResult = notificationClient.send(imageContent);
// Process result
for (MessageReceipt messageReceipt : imageMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Senden einer Videomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Videomedien.
Wichtig
Um eine Videonachricht an einen WhatsApp-Benutzer zu senden, muss der WhatsApp-Benutzer zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Zusammenstellen und Senden der Videonachricht:
// Assemble video message
String videoUrl = "https://example.com/video.mp4";
VideoNotificationContent videoContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoUrl);
// Send video message
SendMessageResult videoMessageResult = notificationClient.send(videoContent);
// Process result
for (MessageReceipt messageReceipt : videoMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Senden einer Audiomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Audiomedien.
Wichtig
Um eine Audionachricht an WhatsApp-Benutzende zu senden, müssen WhatsApp-Benutzende zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Zusammenstellen und Senden der Audionachricht:
// Assemble audio message
String audioUrl = "https://example.com/audio.mp3";
AudioNotificationContent audioContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioUrl);
// Send audio message
SendMessageResult audioMessageResult = notificationClient.send(audioContent);
// Process result
for (MessageReceipt messageReceipt : audioMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Senden einer Dokumentmediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Mediendatei des Dokuments
Wichtig
Um eine Dokumentnachricht an einen WhatsApp-Nutzer zu senden, muss der Nutzer zuerst eine Nachricht an das WhatsApp Business-Konto schicken. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Zusammenstellen und Senden der Dokumentnachricht:
// Assemble document message
String docUrl = "https://example.com/document.pdf";
DocumentNotificationContent docContent = new DocumentNotificationContent(channelRegistrationId, recipientList, docUrl);
// Send document message
SendMessageResult docMessageResult = notificationClient.send(docContent);
// Process result
for (MessageReceipt messageReceipt : docMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Ausführen des Codes
Öffnen Sie das Verzeichnis, das die
pom.xml-Datei enthält, und kompilieren Sie das Projekt mithilfe desmvn-Befehls.mvn compileFühren Sie die App aus, indem Sie den folgenden
mvn-Befehl ausführen.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Vollständiger Beispielcode
Finden Sie das abgeschlossene Projekt auf GitHub unter der Azure Nachrichten-Clientbibliothek für Java.
Voraussetzungen
- WhatsApp Business-Konto, das bei Ihrer Azure Communication Services Ressource registriert ist.
- Aktive WhatsApp-Telefonnummer zum Empfangen von Nachrichten.
- Node.js, Active LTS- und Maintenance LTS-Versionen (8.11.1 und 10.14.1 empfohlen).
-
Node.js, Active LTS- und Maintenance LTS-Versionen (8.11.1 und 10.14.1 empfohlen)
- Führen Sie in einem Terminal- oder Befehlsfenster
node --versionaus, um sich zu vergewissern, dass Node.js installiert ist.
- Führen Sie in einem Terminal- oder Befehlsfenster
Einrichten
Erstellen einer neuen Node.js-Anwendung
Erstellen Sie ein neues Verzeichnis für Ihre App, und öffnen Sie es in einem Terminal- oder Befehlsfenster.
Führen Sie den folgenden Befehl aus.
mkdir advance-messages-quickstart && cd advance-messages-quickstartFühren Sie den folgenden Befehl aus, um eine
package.json-Datei mit den Standardeinstellungen zu erstellen.npm init -yVerwenden Sie einen Text-Editor, um im Stammverzeichnis des Projekts eine Datei mit Namen
send-messages.jszu erstellen.Fügen Sie den folgenden Codeschnipsel in die
send-messages.js-Datei ein.async function main() { // Quickstart code goes here. } main().catch((error) => { console.error("Encountered an error while sending message: ", error); process.exit(1); });
Schließen Sie den folgenden Abschnitt ab, um den Quellcode für dieses Beispiel der von Ihnen erstellten send-messages.js-Datei hinzuzufügen.
Installieren des Pakets
Verwenden Sie den Befehl npm install, um das Azure Communication Services Advance Messaging SDK für JavaScript zu installieren.
npm install @azure-rest/communication-messages --save
Durch die Option --save wird die Bibliothek als Abhängigkeit in der Datei package.json aufgeführt.
Codebeispiele
Befolgen Sie diese Schritte, um die erforderlichen Codeschnipsel zur Main-Funktion Ihrer send-messages.js-Datei hinzuzufügen.
- Starten Sie den Nachrichtenversand zwischen Geschäfts- und WhatsApp-Benutzenden.
- Authentifizieren Sie den Client.
- Legen Sie die Kanalregistrierungs-ID fest.
- Legen Sie die Empfängerliste fest.
- Senden einer SMS an WhatsApp-Benutzende.
- Senden einer Bildmediennachricht an WhatsApp-Benutzende.
- Senden einer Dokumentmediennachricht an WhatsApp-Benutzende.
- Senden einer Audiomediennachricht an WhatsApp-Benutzende.
- Senden einer Videomediennachricht an WhatsApp-Benutzende.
Einrichten des Nachrichtenversands zwischen Geschäfts- und WhatsApp-Benutzern
Unterhaltungen zwischen einem WhatsApp Business-Konto und WhatsApp-Benutzer*innen kann auf eine von zwei Arten initiiert werden:
- Das Unternehmen sendet eine Nachrichtenvorlage an die WhatsApp-Benutzer*innen.
- Die WhatsApp-Benutzer*innen senden eine beliebige Nachricht an die Geschäftsnummer.
Unabhängig davon, wie die Unterhaltung gestartet wurde, kann ein Unternehmen Vorlagennachrichten nur senden, bis der Benutzer eine Nachricht an das Unternehmen sendet. Erst nachdem der Benutzer eine Nachricht an das Unternehmen gesendet hat, darf das Unternehmen während der aktiven Unterhaltung Text- oder Mediennachrichten an den Benutzer senden. Nach Ablauf des 24-Stunden-Fensters muss die Unterhaltung erneut eingeleitet werden. Weitere Informationen zu Unterhaltungen finden Sie in der Definition auf der WhatsApp Business-Platform.
Authentifizieren des Clients
Der folgende Code ruft die Verbindungszeichenfolge für die Ressource aus einer Umgebungsvariable mit dem Namen COMMUNICATION_SERVICES_CONNECTION_STRING mithilfe des dotenv-Pakets ab.
Der Einfachheit halber verwendet dieser Artikel eine Verbindungszeichenfolge zur Authentifizierung. In Produktionsumgebungen wird empfohlen, Dienstprinzipale zu verwenden.
Rufen Sie die Verbindungszeichenfolge aus Ihrer Azure Communication Services-Ressource im Azure-Portal ab. Navigieren Sie auf der linken Seite zur Registerkarte Keys. Kopieren Sie das Feld Connection string für Primary key. Die Verbindungszeichenfolge ist im Format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Legen Sie die Umgebungsvariable COMMUNICATION_SERVICES_CONNECTION_STRING auf den Wert Ihrer Verbindungszeichenfolge fest.
Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Weitere Informationen darüber, wie Sie eine Umgebungsvariable für Ihr System festlegen, erhalten Sie, indem Sie den Schritten unter Speichern Sie Ihre Verbindungszeichenfolge in einer Umgebungsvariable folgen.
Zum Instanziieren einer NotificationClient-Instanz, fügen Sie der Main-Methode den folgenden Code hinzu:
const NotificationClient = require("@azure-rest/communication-messages").default;
// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];
// Instantiate the client
const client = NotificationClient(connectionString);
Festlegen der Kanalregistrierungs-ID
Die GUID der Kanalregistrierungs-ID wurde während der Kanalregistrierung erstellt. Sie können es im Portal auf der Registerkarte "Kanäle" Ihrer Azure Communication Services-Ressource nachschlagen.
Weisen Sie diese der Variablen „channelRegistrationId“ zu.
const channelRegistrationId = "<your channel registration id GUID>";
Festlegen der Empfängerliste
Sie müssen eine echte Telefonnummer angeben, der ein WhatsApp-Konto zugeordnet ist, oder eine geschäftsbezogene Benutzer-ID (BSUID). Dieses WhatsApp-Konto empfängt die In diesem Artikel gesendeten Vorlagen-, Text- und Mediennachrichten. Bei diesem Artikel kann es sich bei dieser Telefonnummer um Ihre persönliche Telefonnummer handeln.
Die Empfängertelefonnummer kann nicht die geschäftliche Telefonnummer (Sender-ID) sein, die der WhatsApp-Kanalregistrierung zugeordnet ist. Die Sender-ID wird als Sender der Text- und Mediennachrichten angezeigt, die an den Empfänger gesendet werden.
Die Telefonnummer sollte die Landeskennzahl beinhalten. Weitere Informationen zur Formatierung von Telefonnummern finden Sie in der WhatsApp-Dokumentation für Telefonnummernformate.
Hinweis
In der Empfängerliste wird derzeit nur eine Telefonnummer oder BSUID unterstützt.
Erstellen Sie die Empfängerliste folgendermaßen:
const recipientList = ["<to WhatsApp phone number or BSUID>"];
Beispiel für die Verwendung einer Telefonnummer:
// Example only
const recipientList = ["+14255550199"];
Beispiel für die Verwendung einer BSUID:
// Example only
const recipientList = ["US.13491208655302741918"];
Hinweis
Das Senden von Nachrichten an BSUIDs ist ab Juni 2026 verfügbar. Verwenden Sie bis dahin Telefonnummern als Empfänger.
Weitere Informationen zu BSUIDs finden Sie unter WhatsApp-Benutzernamen und BSUIDs.
Wichtig
Um eine Nachricht an WhatsApp-Benutzende zu senden, müssen WhatsApp-Benutzende zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Senden einer Textnachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-SMS-Nachrichten senden, wenn sie von WhatsApp-Benutzenden initiiert werden. So senden Sie SMS:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- Nachrichtentext/Text, der gesendet werden soll
In diesem Beispiel antworten wir per WhatsApp mit dem Text "Thanks for your feedback.\n From Notification Messaging SDK.".
Stellen Sie die SMS zusammen, und senden Sie sie:
// Send text message
const textMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "text",
content: "Thanks for your feedback.\n From Notification Messaging SDK"
}
});
// Process result
if (textMessageResult.status === "202") {
textMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Senden einer Bildmediennachricht an WhatsApp-Benutzende
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Bildmedien.
Wichtig
Ab SDK-Version 2.0.0 ist MediaNotificationContent für Bilder veraltet. Es wird empfohlen, für den Bildversand ImageNotificationContent zu nutzen. Informieren Sie sich für andere Medientypen wie DocumentNotificationContent, VideoNotificationContent und AudioNotificationContent über andere inhaltsspezifische Klassen.
Um eine Bildnachricht zu senden, geben Sie eine URL zu einem Bild an. Zum Beispiel:
const url = "https://example.com/image.jpg";
Stellen Sie die Mediennachricht zusammen, und senden Sie sie:
// Send image message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "image",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Senden einer Videomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL des Videos.
Um eine Videonachricht zu senden, geben Sie eine URL zu einem Video an. Beispiel:
const url = "https://example.com/video.mp4";
Zusammenstellen und Senden der Videonachricht:
// Send video message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "video",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Senden einer Audiomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Audiomedien.
Um eine Audionachricht zu senden, geben Sie eine URL zu einer Audiodatei an. Beispiel:
const url = "https://example.com/audio.mp3";
Zusammenstellen und Senden der Audionachricht:
// Send audio message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "audio",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Senden einer Dokumentmediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso Mediennachrichten (Bild-, Video-, Audio- oder Dokumentnachrichten) an WhatsApp-Benutzende senden. Zum Senden einer eingebetteten Mediennachricht benötigen Sie Folgendes:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- URL der Mediendatei des Dokuments
Um eine Dokumentnachricht zu senden, geben Sie eine URL zu einem Dokument an. Beispiel:
const url = "https://example.com/document.pdf";
Zusammenstellen und Senden der Dokumentnachricht:
// Send document message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "document",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Ausführen des Codes
Verwenden Sie den node-Befehl, um den Code auszuführen, den Sie der Datei send-messages.js hinzugefügt haben.
node ./send-messages.js
Vollständiger Beispielcode
Suchen Sie den abgeschlossenen Code auf GitHub: Beispielbibliothek für den Messages Services-Client in JavaScript.
Voraussetzungen
WhatsApp Business-Konto, das bei Ihrer Azure Communication Services Ressource registriert ist.
Aktive WhatsApp-Telefonnummer zum Empfangen von Nachrichten.
Python 3.7+ für Ihr Betriebssystem.
Einrichten
Erstellen einer neuen Python Anwendung
Erstellen Sie in einem Terminal- oder Konsolenfenster einen neuen Ordner für Ihre Anwendung, und öffnen Sie diesen.
mkdir messages-quickstart && cd messages-quickstart
Installieren des Pakets
Verwenden Sie die Azure Clientbibliothek für Kommunikationsnachrichten für Python 1.1.0 oder höher.
Führen Sie in einer Konsoleneingabeaufforderung den folgenden Befehl aus:
pip install azure-communication-messages
Für „InteractiveMessages“, „Reactions“ und „Stickers“ verwenden Sie die nachfolgende Betaversion:
pip install azure-communication-messages==1.2.0b1
Einrichten des App-Frameworks
Erstellen Sie eine neue Datei namens messages-quickstart.py, und fügen Sie die grundlegende Programmstruktur hinzu.
type nul > messages-quickstart.py
Grundlegende Programmstruktur
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Objektmodell
Die folgenden Klassen und Schnittstellen behandeln einige der wichtigsten Features des Azure Communication Services Messages SDK für Python.
| Klassenname | Beschreibung |
|---|---|
NotificationMessagesClient |
Stellt eine Verbindung mit Ihrer Azure Communication Services Resource her. Sie sendet die Nachrichten. |
MessageTemplate |
Definiert die verwendete Vorlage und den Inhalt der Vorlageneigenschaften für Ihre Nachricht. |
TemplateNotificationContent |
Definiert das „Wer“ und das „Was“ der Nachrichtenvorlage, die Sie senden möchten. |
TextNotificationContent |
Definiert das „Wer“ und das „Was“ der SMS, die Sie senden möchten. |
ImageNotificationContent |
Definiert das „Wer“ und das „Was“ der Bildmediennachricht, die Sie senden möchten. |
DocumentNotificationContent |
Definiert das „Wer“ und das „Was“ der Dokumentmediennachricht, die Sie senden möchten. |
VideoNotificationContent |
Definiert das „Wer“ und das „Was“ der Videomediennachricht, die Sie senden möchten. |
AudioNotificationContent |
Definiert das „Wer“ und das „Was“ der Audiomediennachricht, die Sie senden möchten. |
Hinweis
Weitere Informationen finden Sie im Azure SDK für Python Referenz messages Package.
Allgemeine Konfiguration
Führen Sie die folgenden Schritte aus, um dem Python-Programm messages-quickstart.py die erforderlichen Codeschnipsel hinzuzufügen.
- Authentifizieren Sie den Client.
- Legen Sie die Kanalregistrierungs-ID fest.
- Legen Sie die Empfängerliste fest.
- Starten Sie den Nachrichtenversand zwischen Geschäfts- und WhatsApp-Benutzenden.
Authentifizieren des Clients
Gesendete Nachrichten verwenden NotificationMessagesClient. NotificationMessagesClient führt mithilfe Ihrer Verbindungszeichenfolge, die von einer Azure Communication Services-Ressource im Azure-Portal abgerufen wird, eine Authentifizierung durch.
Weitere Informationen zu Verbindungszeichenfolgen und Serviceendpunkten finden Sie siehe access-your-connection-strings-and-service-endpoints.
Rufen Sie die Verbindungszeichenfolge der Azure-Kommunikationsressource aus dem Azure-Portal ab, wie im Screenshot angegeben. Navigieren Sie auf der linken Seite zur Registerkarte Keys. Kopieren Sie das Feld Connection string für den Primärschlüssel. Die Verbindungszeichenfolge ist im Format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Legen Sie die Umgebungsvariable COMMUNICATION_SERVICES_CONNECTION_STRING auf den Wert Ihrer Verbindungszeichenfolge fest.
Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Nachdem Sie die Umgebungsvariable hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, die die Umgebungsvariable lesen müssen, z. B. das Konsolenfenster. Wenn Sie z. B. Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.
Weitere Informationen darüber, wie Sie eine Umgebungsvariable für Ihr System festlegen, erhalten Sie, indem Sie den Schritten unter Speichern Sie Ihre Verbindungszeichenfolge in einer Umgebungsvariable folgen.
# Get a connection string to our Azure Communication Services resource.
connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
def send_template_message(self):
from azure.communication.messages import NotificationMessagesClient
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
Festlegen der Kanalregistrierungs-ID
Sie haben die GUID der Kanalregistrierungs-ID während der Kanalregistrierung erstellt. Suchen Sie es im Portal auf der Registerkarte Channels Ihrer Azure Communication Services Ressource.
Weisen Sie diese der Variablen „channelRegistrationId“ zu.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Festlegen der Empfängerliste
Sie müssen eine aktive Telefonnummer angeben, die einem WhatsApp-Konto oder einer unternehmensbezogenen Benutzer-ID (BSUID) zugeordnet ist. Dieses WhatsApp-Konto empfängt die In diesem Artikel gesendeten Vorlagen-, Text- und Mediennachrichten.
In diesem Beispiel können Sie Ihre persönliche Telefonnummer verwenden.
Die Empfängertelefonnummer kann nicht die geschäftliche Telefonnummer (Sender-ID) sein, die der WhatsApp-Kanalregistrierung zugeordnet ist. Die Sender-ID wird als Sender der Text- und Mediennachrichten angezeigt, die an den Empfänger gesendet werden.
Die Telefonnummer muss die Landeskennzahl beinhalten. Weitere Informationen zur Formatierung von Telefonnummern finden Sie in der WhatsApp-Dokumentation für Telefonnummernformate.
Hinweis
In der Empfängerliste wird derzeit nur eine Telefonnummer oder BSUID unterstützt.
Legen Sie die Empfängerliste folgendermaßen fest:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Verwendungsbeispiel mit einer Telefonnummer:
# Example only
to=[self.phone_number],
Verwendungsbeispiel mit einer BSUID:
# Example only
to=["US.13491208655302741918"],
Hinweis
Das Senden von Nachrichten an BSUIDs ist ab Juni 2026 verfügbar. Verwenden Sie bis dahin Telefonnummern als Empfänger.
Weitere Informationen zu BSUIDs finden Sie unter WhatsApp-Benutzernamen und BSUIDs.
Einrichten des Nachrichtenversands zwischen Geschäfts- und WhatsApp-Benutzern
Unterhaltungen zwischen einem WhatsApp Business-Konto und WhatsApp-Benutzer*innen kann auf eine von zwei Arten initiiert werden:
- Das Unternehmen sendet eine Nachrichtenvorlage an die WhatsApp-Benutzer*innen.
- Die WhatsApp-Benutzer*innen senden eine beliebige Nachricht an die Geschäftsnummer.
Ein Unternehmen kann keine interaktive Unterhaltung initiieren. Ein Unternehmen kann interaktive Nachrichten nur als Antwort auf interaktive Nachrichten von Benutzenden senden. Das Unternehmen kann nur während der aktiven Konversation interaktive Nachrichten an den Benutzer senden. Sobald das 24-Stunden-Fenster einer Unterhaltung abgelaufen ist, können nur Benutzende die interaktive Unterhaltung neu starten. Weitere Informationen zu Unterhaltungen finden Sie in der Definition auf der WhatsApp Business Platform.
Um eine interaktive Unterhaltung von ihrem persönlichen WhatsApp-Konto aus zu starten, senden Sie eine Nachricht an Ihre Geschäftsnummer (Sender-ID).
Codebeispiele
Führen Sie die folgenden Schritte aus, um dem Python-Programm „messages-quickstart.py“ die erforderlichen Codeschnipsel hinzuzufügen.
- Senden einer SMS an WhatsApp-Benutzende.
- Senden einer Bildmediennachricht an WhatsApp-Benutzende.
- Senden einer Dokumentmediennachricht an WhatsApp-Benutzende.
- Senden einer Audiomediennachricht an WhatsApp-Benutzende.
- Senden einer Videomediennachricht an WhatsApp-Benutzende.
Senden einer Textnachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-SMS-Nachrichten senden, wenn sie von WhatsApp-Benutzenden initiiert werden. So senden Sie SMS:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- Nachrichtentext/Text, der gesendet werden soll
Wichtig
Um eine SMS an einen WhatsApp-Benutzer zu senden, muss der WhatsApp-Benutzer zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
In diesem Beispiel antworten wir per WhatsApp mit dem Text "Thanks for your feedback.\n From Notification Messaging SDK.".
def send_text_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TextNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
text_options = TextNotificationContent (
channel_registration_id=self.channelRegistrationId,
to= [self.phone_number],
content="Thanks for your feedback.\n From Notification Messaging SDK",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(text_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Text Message with message id {} was successfully sent to {}."
.format(response.message_id, response.to))
else:
print("Message failed to send")
Um send_text_message() auszuführen, aktualisieren Sie die main-Methode.
#Calling send_text_message()
messages.send_text_message()
Senden einer Bildmediennachricht an WhatsApp-Benutzende
Mit dem Messages SDK kann Contoso WhatsApp-Bildnachrichten an WhatsApp-Benutzende senden. So senden Sie Nachrichten mit eingebetteten Bildern:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- MediaUri des Bilds.
Wichtig
Um eine SMS an einen WhatsApp-Benutzer zu senden, muss der WhatsApp-Benutzer zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Ein Beispiel für die Verwendung von media_uri beim Senden einer WhatsApp-Mediennachricht.
input_media_uri: str = "https://aka.ms/acsicon1"
def send_image_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( ImageNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "https://aka.ms/acsicon1"
image_message_options = ImageNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
Um send_text_message() auszuführen, aktualisieren Sie die main-Methode.
# Calling send_image_message()
messages.send_image_message()
Senden einer Dokumentmediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Dokumentnachrichten an WhatsApp-Benutzende senden. So senden Sie Nachrichten mit eingebetteten Dokumenten:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- MediaUri des Dokuments.
Wichtig
Um eine Dokumentnachricht an einen WhatsApp-Nutzer zu senden, muss der Nutzer zuerst eine Nachricht an das WhatsApp Business-Konto schicken. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Ein Beispiel für die Verwendung von media_uri beim Senden einer WhatsApp-Mediennachricht.
input_media_uri: str = "##DocumentLinkPlaceholder##"
def send_document_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( DocumentNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##DocumentLinkPlaceholder##"
documents_options = DocumentNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
caption="Hello World via Advanced Messaging SDK.This is document message",
file_name="Product roadmap timeline.pptx",
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(documents_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Document containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
Um send_text_message() auszuführen, aktualisieren Sie die main-Methode.
# Calling send_image_message()
messages.send_image_message()
Senden einer Audiomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Bildnachrichten an WhatsApp-Benutzende senden. So senden Sie Nachrichten mit eingebetteten Audiodateien:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- MediaUri des Audioinhalts.
Wichtig
Um eine Audionachricht an WhatsApp-Benutzende zu senden, müssen WhatsApp-Benutzende zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Ein Beispiel für die Verwendung von media_uri beim Senden einer WhatsApp-Mediennachricht.
input_media_uri: str = "##AudioLinkPlaceholder##"
def send_audio_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( AudioNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##AudioLinkPlaceholder##"
audio_options = AudioNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(audio_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Audio containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
Um send_text_message() auszuführen, aktualisieren Sie die main-Methode.
# Calling send_image_message()
messages.send_image_message()
Senden einer Videomediennachricht an WhatsApp-Benutzer
Mit dem Messages SDK kann Contoso WhatsApp-Videonachrichten an WhatsApp-Benutzende senden. So senden Sie Nachrichten mit eingebetteten Videos:
- WhatsApp-Kanal-ID.
- Empfängertelefonnummer im E16-Format.
- MediaUri des Videos.
Wichtig
Um eine Videonachricht an einen WhatsApp-Benutzer zu senden, muss der WhatsApp-Benutzer zuerst eine Nachricht an das WhatsApp Business-Konto senden. Weitere Informationen finden Sie unter Einrichten des Nachrichtenversands zwischen Unternehmens- und WhatsApp-Benutzer*innen.
Ein Beispiel für die Verwendung von media_uri beim Senden einer WhatsApp-Mediennachricht.
input_media_uri: str = "##VideoLinkPlaceholder##"
def send_video_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( VideoNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##VideoLinkPlaceholder##"
video_options = VideoNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Video containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
Um send_text_message() auszuführen, aktualisieren Sie die main-Methode.
# Calling send_image_message()
messages.send_image_message()
Ausführen des Codes
Vergewissern Sie sich, dass Sie sich in dem Verzeichnis befinden, in dem sich die messages-quickstart.py-Datei befindet, um den Code auszuführen.
python messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Templated Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Text Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Image containing Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
Vollständiger Beispielcode
Hinweis
Ersetzen Sie alle Platzhaltervariablen im Beispielcode durch Ihre Werte.
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart using connection string.")
# Advanced Messages SDK implementations goes in this section.
connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
phone_number = os.getenv("RECIPIENT_PHONE_NUMBER")
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID")
def send_template_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TemplateNotificationContent , MessageTemplate )
# client creation
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_template: MessageTemplate = MessageTemplate(
name="<<TEMPLATE_NAME>>",
language="<<LANGUAGE>>")
template_options = TemplateNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
template=input_template
)
# calling send() with WhatsApp template details.
message_responses = messaging_client.send(template_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Templated Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_text_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TextNotificationContent )
# client creation
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
text_options = TextNotificationContent (
channel_registration_id=self.channelRegistrationId,
to= [self.phone_number],
content="Hello World via ACS Advanced Messaging SDK.",
)
# calling send() with WhatsApp message details
message_responses = messaging_client.send(text_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Text Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_image_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( ImageNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "https://aka.ms/acsicon1"
image_message_options = ImageNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_document_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( DocumentNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##DocumentLinkPlaceholder##"
documents_options = DocumentNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
caption="Hello World via Advanced Messaging SDK.This is document message",
file_name="Product roadmap timeline.pptx",
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(documents_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Document containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_audio_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( AudioNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##AudioLinkPlaceholder##"
audio_options = AudioNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(audio_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Audio containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_video_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( VideoNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##VideoLinkPlaceholder##"
video_options = VideoNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Video containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
if __name__ == '__main__':
messages = MessagesQuickstart()
messages.send_template_message()
messages.send_text_message()
messages.send_image_message()
messages.send_document_message()
messages.send_audio_message()
messages.send_video_message()
Weitere Beispiele
Sie können andere beispielhafte Codes auf GitHub für Python Messages SDK überprüfen und herunterladen.