Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Warning
Azure Communication Services wprowadza nowatorskie zmiany, a niektóre usługi są wycofywane. Dowiedz się więcej w przewodniku po zmianach emerytalnych i przełamowych.
Azure Communication Services umożliwia wysyłanie i odbieranie wiadomości WhatsApp. W tym artykule opisano, jak zintegrować aplikację z zestawem AZURE Communication Advanced Messages SDK w celu rozpoczęcia wysyłania i odbierania wiadomości WhatsApp. Ukończenie tego artykułu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Wymagania wstępne
- Konto WhatsApp Business zarejestrowane w zasobie Azure Communication Services.
- Aktywny numer telefonu WhatsApp do odbierania wiadomości.
- .NET środowisko programistyczne, takie jak Visual Studio, Visual Studio Code lub .NET interfejs wiersza polecenia.
Konfigurowanie środowiska
Tworzenie projektu .NET
- Visual Studio
- Visual Studio Code
- interfejs wiersza polecenia .NET
Aby utworzyć projekt, wykonaj czynności opisane w samouczku Tworzenie aplikacji konsolowej .NET przy użyciu Visual Studio.
Aby skompilować kod, naciśnij Ctrl+F7.
Instalowanie pakietu
Zainstaluj Azure. Communication.Messages pakiet NuGet do projektu C#.
- Visual Studio
- Visual Studio Code
- interfejs wiersza polecenia .NET
- Otwórz Menedżer pakietów NuGet pod adresem
Project>Manage NuGet Packages.... - Wyszukaj pakiet
Azure.Communication.Messages. - Zainstaluj najnowszą wersję.
Konfigurowanie struktury aplikacji
Otwórz plik Program.cs w edytorze tekstów.
Zastąp zawartość pliku Program.cs poniższym kodem:
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
}
}
}
Aby użyć funkcji Advanced Messaging, dodaj dyrektywę using w celu uwzględnienia przestrzeni nazw Azure.Communication.Messages.
using Azure.Communication.Messages;
Model obiektów
Następujące klasy i interfejsy obsługują niektóre główne funkcje zestawu AZURE COMMUNICATION SERVICES Advance Messaging SDK dla .NET.
| Nazwa klasy | opis |
|---|---|
NotificationMessagesClient |
Łączy się z zasobem usługi Azure Communication Services. Wysyła komunikaty. |
MessageTemplate |
Definiuje używany szablon oraz zawartość właściwości szablonu dla wiadomości. |
TemplateNotificationContent |
Definiuje "kto" i "co" wiadomości szablonu, którą zamierzasz wysłać. |
TextNotificationContent |
Definiuje "kto" i "co" wiadomości sms, którą zamierzasz wysłać. |
ImageNotificationContent |
Określa "kto" i "co" wiadomości multimedialnej, którą zamierzasz wysłać. |
DocumentNotificationContent |
Definiuje "kto" i "co" wiadomości z nośnika dokumentów, które zamierzasz wysłać. |
VideoNotificationContent |
Definiuje "kto" i "co" wiadomości wideo, którą zamierzasz wysłać. |
AudioNotificationContent |
Definiuje 'kto' i 'co' wiadomości audio, którą zamierzasz wysłać. |
Uwaga
Aby uzyskać więcej informacji, zobacz dokumentację Azure SDK dla .NET, namespace Azure.Communication.Messages.
Typowa konfiguracja
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do programu messages-quickstart.py python.
- Uwierzytelnianie klienta.
- Ustaw identyfikator rejestracji kanału.
- Ustaw listę adresatów.
- Zacznij wysyłać wiadomości między firmą a użytkownikiem WhatsApp.
Uwierzytelnianie użytkownika
Zestaw SDK Messages używa NotificationMessagesClient do wysyłania komunikatów. Metoda NotificationMessagesClient uwierzytelnia za pomocą łańcucha połączenia uzyskanego z zasobu Azure Communication Services w portalu Azure. Aby uzyskać więcej informacji na temat ciągów połączenia, zobacz access-your-connection-strings-and-service-endpoints.
Dla uproszczenia w tym artykule użyto parametry połączenia do uwierzytelniania. W środowiskach produkcyjnych zalecamy używanie service principals.
Pobierz ciąg połączenia z zasobu Azure Communication Services w portalu Azure. Po lewej, przejdź do karty Keys. Skopiuj pole Connection string jako klucz podstawowy. Ta parametry połączenia ma formę endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Ustaw zmienną środowiskową COMMUNICATION_SERVICES_CONNECTION_STRING na wartość ciągu połączenia.
Otwórz okno konsoli i wprowadź następujące polecenie:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Po dodaniu zmiennej środowiskowej może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą musiały odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz Visual Studio jako edytora, uruchom ponownie Visual Studio przed uruchomieniem przykładu.
Aby uzyskać więcej informacji na temat ustawiania zmiennej środowiskowej dla systemu, wykonaj kroki opisane w Przechowaj ciąg połączenia w zmiennej środowiskowej.
Aby utworzyć wystąpienie obiektu NotificationMessagesClient, dodaj następujący kod do Main metody :
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Ustawianie identyfikatora rejestracji kanału
Podczas rejestracji kanału utworzyłeś identyfikator GUID rejestracji kanału. Znajdź go w portalu na karcie Channels zasobu Azure Communication Services.
Przypisz ją do zmiennej o nazwie channelRegistrationId.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Ustawianie listy adresatów
Musisz podać aktywny numer telefonu skojarzony z kontem WhatsApp lub identyfikator użytkownika o zakresie biznesowym (BSUID). To konto WhatsApp otrzymuje szablon, tekst i wiadomości multimedialne wysyłane w tym przewodniku Szybki start.
W tym przykładzie możesz użyć osobistego numeru telefonu.
Numer telefonu odbiorcy nie może być numerem telefonu służbowego (identyfikator nadawcy) skojarzonym z rejestracją kanału WhatsApp. Identyfikator nadawcy jest wyświetlany jako nadawca wiadomości tekstowych i multimedialnych wysyłanych do adresata.
Numer telefonu musi zawierać kod kraju. Aby uzyskać więcej informacji na temat formatowania numeru telefonu, zobacz dokumentację WhatsApp dotyczącą formatów numerów telefonów.
Uwaga
Na liście adresatów jest obecnie obsługiwany tylko jeden numer telefonu lub identyfikator BSUID.
Utwórz listę adresatów w następujący sposób:
var recipientList = new List<string> { "<to WhatsApp phone number or BSUID>" };
Przykład użycia numeru telefonu:
// Example only
var recipientList = new List<string> { "+14255550199" };
Przykład użycia identyfikatora BSUID:
// Example only
var recipientList = new List<string> { "US.13491208655302741918" };
Uwaga
Wysyłanie wiadomości do identyfikatorów BSUID będzie dostępne od czerwca 2026 r. Do tego czasu użyj numerów telefonów jako adresatów.
Aby uzyskać więcej informacji na temat identyfikatorów BSUID, zobacz Nazwy użytkowników WhatsApp i identyfikatory BSUID.
Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp
Rozmowy między kontem WhatsApp Business i użytkownikiem WhatsApp można zainicjować na jeden z dwóch sposobów:
- Firma wysyła wiadomość szablonu do użytkownika WhatsApp.
- Użytkownik WhatsApp wysyła wszelkie wiadomości do numeru biznesowego.
Firma nie może zainicjować interaktywnej konwersacji. Firma może wysyłać wiadomość interaktywną tylko po otrzymaniu komunikatu od użytkownika. Firma może wysyłać interakcyjne wiadomości tylko do użytkownika podczas aktywnej konwersacji. Po wygaśnięciu 24-godzinnego okna konwersacji tylko użytkownik może ponownie uruchomić konwersację interaktywną. Aby uzyskać więcej informacji na temat rozmów, zobacz definicję na WhatsApp Business Platform.
Aby zainicjować interaktywną konwersację z osobistego konta WhatsApp, wyślij wiadomość do twojego numeru biznesowego (identyfikator nadawcy).
Przykłady kodu
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do funkcji Main pliku Program.cs.
- Wyślij wiadomość SMS do użytkownika WhatsApp.
- Wyślij wiadomość graficzną do użytkownika WhatsApp.
- Wyślij wiadomość z dokumentem do użytkownika WhatsApp.
- Wyślij wiadomość audio medialną do użytkownika WhatsApp.
- Wyślij wiadomość medialną wideo do użytkownika WhatsApp.
Ważne
Aby wysłać wiadomość tekstową lub medialną do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Wysyłanie wiadomości SMS do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości tekstowych WhatsApp, które zostały zainicjowane przez użytkowników WhatsApp. Aby wysłać wiadomość SMS, potrzebne są następujące elementy:
- Uwierzytelnione powiadomienieMessagesClient
- Identyfikator kanału WhatsApp
- Numer telefonu odbiorcy w formacie E16 lub BSUID
- Treść wiadomości/tekst do wysłania
W tym przykładzie odpowiadamy użytkownikowi WhatsApp za pomocą tekstu: "Thanks for your feedback.\n From Notification Messaging SDK."
Złóż i wyślij wiadomość SMS:
// 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);
Wyślij wiadomość multimedialną z obrazem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych WhatsApp do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Uwierzytelnione NotificationMessagesClient.
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16 lub BSUID.
- Identyfikator URI nośnika obrazu.
Ważne
Od wersji 1.1.0 zestawu SDK MediaNotificationContent jest wycofywana dla obrazów. Zachęcamy do używania ImageNotificationContent do wysyłania obrazów. Zapoznaj się z innymi klasami specyficznymi dla zawartości dla innych typów multimediów, takich jak DocumentNotificationContent, VideoNotificationContenti AudioNotificationContent.
Złóż komunikat obrazu:
var imageLink = new Uri("https://example.com/image.jpg");
var imageNotificationContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageLink)
{
Caption = "Check out this image."
};
Wyślij komunikat obrazu:
var imageResponse = await notificationMessagesClient.SendAsync(imageNotificationContent);
Wyślij wiadomość z załączonym dokumentem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych WhatsApp do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Uwierzytelnione NotificationMessagesClient.
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16 lub BSUID.
- Identyfikator URI nośnika dokumentu.
Zmontuj zawartość dokumentu:
var documentLink = new Uri("https://example.com/document.pdf");
var documentNotificationContent = new DocumentNotificationContent(channelRegistrationId, recipientList, documentLink)
{
Caption = "Check out this document.",
FileName = "document.pdf"
};
Wyślij komunikat o dokumencie:
var documentResponse = await notificationMessagesClient.SendAsync(documentNotificationContent);
Wysyłanie wiadomości z mediów wideo do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych WhatsApp do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Uwierzytelnione NotificationMessagesClient.
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16 lub BSUID.
- URI nośnika wideo.
Zmontuj komunikat wideo:
var videoLink = new Uri("https://example.com/video.mp4");
var videoNotificationContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoLink)
{
Caption = "Check out this video."
};
Wyślij wiadomość wideo:
var videoResponse = await notificationMessagesClient.SendAsync(videoNotificationContent);
Wysyłanie wiadomości audio medialne do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych WhatsApp do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Uwierzytelnione NotificationMessagesClient.
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16 lub BSUID.
- Adres URI nośnika audio.
Złóż komunikat dźwiękowy:
var audioLink = new Uri("https://example.com/audio.mp3");
var audioNotificationContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioLink);
Wyślij wiadomość dźwiękową:
var audioResponse = await notificationMessagesClient.SendAsync(audioNotificationContent);
Uruchamianie kodu
Skompiluj i uruchom program.
Aby wysłać wiadomość tekstową lub medialną do użytkownika WhatsApp, musi istnieć aktywna rozmowa między Kontem Biznesowym WhatsApp a użytkownikiem WhatsApp.
Jeśli nie masz aktywnej konwersacji, na potrzeby tego przykładu dodaj oczekiwanie między wysłaniem wiadomości szablonu i wysłaniem wiadomości SMS. To dodatkowe opóźnienie daje wystarczająco dużo czasu, aby odpowiedzieć firmie na koncie WhatsApp użytkownika. Pełny przykład w sekcji Przykładowy kod wyświetla monit o ręczne wprowadzanie danych przez użytkownika przed wysłaniem następnego komunikatu.
W przypadku powodzenia otrzymasz trzy wiadomości na koncie WhatsApp użytkownika.
- Visual Studio
- Visual Studio Code
- interfejs wiersza polecenia .NET
- Aby skompilować kod, naciśnij Ctrl+F7.
- Aby uruchomić program bez debugowania, naciśnij Ctrl+F5.
Pełny przykładowy kod
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");
}
}
}
Wymagania wstępne
- Konto WhatsApp Business zarejestrowane w zasobie Azure Communication Services.
- Aktywny numer telefonu WhatsApp do odbierania wiadomości.
- Java Development Kit (JDK) w wersji 8 lub nowszej.
- Apache Maven.
Konfigurowanie środowiska
Aby skonfigurować środowisko wysyłania komunikatów, wykonaj kroki opisane w poniższych sekcjach.
Tworzenie nowej aplikacji Java
Otwórz okno terminalu lub polecenia i przejdź do katalogu, w którym chcesz utworzyć aplikację Java. Uruchom następujące polecenie, aby wygenerować projekt Java na podstawie szablonu maven-archetype-quickstart.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
Cel generate tworzy katalog o nazwie takiej samej jak wartość artifactId. W tym katalogu katalog src/main/java zawiera kod źródłowy projektu, katalog src/test/java zawiera kod testowy, a plik pom.xml projektu jest Modelem obiektowym projektu (POM).
Instalowanie pakietu
pom.xml Otwórz plik w edytorze tekstów. Dodaj następujący element zależności do grupy zależności.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</dependency>
Konfigurowanie struktury aplikacji
Otwórz /src/main/java/com/communication/quickstart/App.java w edytorze tekstów, dodaj dyrektywy importu i usuń instrukcję System.out.println("Hello world!"); :
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.
}
}
Przykłady kodu
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do funkcji main w pliku App.java.
- Zacznij wysyłać wiadomości między firmą a użytkownikiem WhatsApp.
- Uwierzytelnianie klienta.
- Ustaw identyfikator rejestracji kanału.
- Ustaw listę adresatów.
- Wysyłanie wiadomości SMS do użytkownika WhatsApp
- Wyślij wiadomość z obrazem do użytkownika WhatsApp
- Wyślij wiadomość z załącznikiem do użytkownika WhatsApp
- Wysyłanie wiadomości audio medialne do użytkownika WhatsApp
- Wysyłanie wiadomości z mediów wideo do użytkownika WhatsApp
Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp
Rozmowy między kontem WhatsApp Business i użytkownikiem WhatsApp można zainicjować na jeden z dwóch sposobów:
- Firma wysyła wiadomość szablonu do użytkownika WhatsApp.
- Użytkownik WhatsApp wysyła wszelkie wiadomości do numeru biznesowego.
Niezależnie od sposobu rozpoczęcia konwersacji firma może wysyłać tylko wiadomości szablonów, dopóki użytkownik nie wyśle wiadomości do firmy. Dopiero po wysłaniu wiadomości do firmy przez użytkownika firma może wysyłać wiadomości tekstowe lub multimedialne do użytkownika podczas aktywnej konwersacji. Po wygaśnięciu 24-godzinnego okna konwersacji należy ponownie zainicjować konwersację. Aby dowiedzieć się więcej o rozmowach, zobacz definicję na WhatsApp Business Platform.
Uwierzytelnianie użytkownika
Istnieje kilka różnych opcji uwierzytelniania klienta komunikatów:
Aby uwierzytelnić klienta, należy utworzyć wystąpienie NotificationMessagesClient lub MessageTemplateClient przy użyciu parametry połączenia. Można również zainicjować klienta przy użyciu dowolnego niestandardowego klienta HTTP, który implementuje com.azure.core.http.HttpClient interfejs.
Dla uproszczenia w tym artykule użyto parametry połączenia do uwierzytelniania. W środowiskach produkcyjnych zalecamy używanie service principals.
Pobierz ciąg połączenia z zasobu Azure Communication Services w portalu Azure. Po lewej stronie przejdź do karty Keys. Skopiuj pole Connection string dla Primary key. Ta parametry połączenia ma formę endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Ustaw zmienną środowiskową COMMUNICATION_SERVICES_CONNECTION_STRING na wartość ciągu połączenia.
Otwórz okno konsoli i wprowadź następujące polecenie:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Aby uzyskać więcej informacji na temat ustawiania zmiennej środowiskowej dla systemu, wykonaj kroki opisane w Przechowaj ciąg połączenia w zmiennej środowiskowej.
Aby utworzyć obiekt NotificationMessagesClient, dodaj następujący kod do main metody:
// 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();
Ustawianie identyfikatora rejestracji kanału
Identyfikator GUID rejestracji kanału został utworzony podczas rejestracji kanału. Możesz go wyszukać w portalu na karcie Kanały zasobu Azure Communication Services.
Przypisz ją do zmiennej o nazwie channelRegistrationId.
String channelRegistrationId = "<your channel registration id GUID>";
Ustawianie listy adresatów
Musisz podać rzeczywisty numer telefonu, który ma skojarzone z nim konto WhatsApp lub identyfikator użytkownika o zakresie biznesowym (BSUID). Konto WhatsApp otrzymuje wiadomości tekstowe i medialne związane z tym artykułem. W tym artykule ten numer telefonu może być twoim osobistym numerem telefonu.
Numer telefonu odbiorcy nie może być numerem telefonu służbowego (identyfikator nadawcy) skojarzonym z rejestracją kanału WhatsApp. Identyfikator nadawcy jest wyświetlany jako nadawca wiadomości tekstowych i multimedialnych wysyłanych do adresata.
Numer telefonu powinien zawierać kod kraju. Aby uzyskać więcej informacji na temat formatowania numeru telefonu, zobacz dokumentację WhatsApp dotyczącą formatów numerów telefonów.
Uwaga
Na liście adresatów jest obecnie obsługiwany tylko jeden numer telefonu lub identyfikator BSUID.
Utwórz listę adresatów w następujący sposób:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number or BSUID>");
Przykład użycia numeru telefonu:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Przykład użycia identyfikatora BSUID:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("US.13491208655302741918");
Uwaga
Wysyłanie wiadomości do identyfikatorów BSUID będzie dostępne od czerwca 2026 r. Do tego czasu użyj numerów telefonów jako adresatów.
Aby uzyskać więcej informacji na temat identyfikatorów BSUID, zobacz Nazwy użytkowników WhatsApp i identyfikatory BSUID.
Wysyłanie wiadomości SMS do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości sms WhatsApp, które inicjowały użytkowników WhatsApp. Aby wysłać wiadomości SMS poniżej, wymagane są następujące szczegóły:
- Identyfikator kanału WhatsApp
- Numer telefonu odbiorcy w formacie E16
- Treść wiadomości/tekst do wysłania
W tym przykładzie odpowiadamy użytkownikowi WhatsApp za pomocą tekstu "Thanks for your feedback.\n From Notification Messaging SDK."
Ważne
Aby wysłać wiadomość SMS do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Złóż i wyślij wiadomość SMS:
// 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());
}
Wyślij wiadomość multimedialną z obrazem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp
- Numer telefonu odbiorcy w formacie E16
- Adres URL nośnika obrazów
Ważne
Od wersji 1.1.0 zestawu SDK MediaNotificationContent jest wycofywana dla obrazów. Zachęcamy, aby używać ImageNotificationContent do wysyłania obrazów. Zapoznaj się z innymi klasami specyficznymi dla zawartości dla innych typów multimediów, takich jak DocumentNotificationContent, VideoNotificationContenti AudioNotificationContent.
Ważne
Aby wysłać wiadomość obrazu do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Złóż i wyślij komunikat obrazu:
// 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());
}
Wysyłanie wiadomości z mediów wideo do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL nośnika wideo.
Ważne
Aby wysłać wiadomość wideo do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Złóż i wyślij komunikat wideo:
// 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());
}
Wysyłanie wiadomości audio medialne do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL nośnika audio.
Ważne
Aby wysłać wiadomość dźwiękową do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Złóż i wyślij wiadomość dźwiękową:
// 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());
}
Wyślij wiadomość z załączonym dokumentem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL nośnika dokumentów.
Ważne
Aby wysłać wiadomość dokumentu do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Złóż i wyślij dokument:
// 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());
}
Uruchamianie kodu
Otwórz katalog zawierający
pom.xmlplik i skompiluj projekt przy użyciumvnpolecenia .mvn compileUruchom aplikację, wykonując następujące
mvnpolecenie.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Pełny przykładowy kod
Znajdź sfinalizowaną bibliotekę klienta GitHub w witrynie Azure Komunikaty dla Java.
Wymagania wstępne
- Konto WhatsApp Business zarejestrowane w zasobie Azure Communication Services.
- Aktywny numer telefonu WhatsApp do odbierania wiadomości.
- Node.js wersji Active LTS i Maintenance LTS (zalecamy wersje 8.11.1 i 10.14.1).
-
Node.js wersje Active LTS i Maintenance LTS (zalecane są wersje 8.11.1 i 10.14.1)
- W terminalu lub oknie polecenia uruchom polecenie
node --version, aby sprawdzić, czy Node.js jest zainstalowana
- W terminalu lub oknie polecenia uruchom polecenie
Konfigurowanie
Tworzenie nowej aplikacji Node.js
Utwórz nowy katalog aplikacji i otwórz go w terminalu lub oknie polecenia.
Uruchom następujące polecenie.
mkdir advance-messages-quickstart && cd advance-messages-quickstartUruchom następujące polecenie, aby utworzyć
package.jsonplik z ustawieniami domyślnymi.npm init -yUżyj edytora tekstów, aby utworzyć plik o nazwie
send-messages.jsw katalogu głównym projektu.Dodaj następujący fragment kodu do pliku
send-messages.js.async function main() { // Quickstart code goes here. } main().catch((error) => { console.error("Encountered an error while sending message: ", error); process.exit(1); });
Ukończ następującą sekcję, aby dodać kod źródłowy dla tego przykładu do utworzonego send-messages.js pliku.
Instalowanie pakietu
Użyj polecenia npm install, aby zainstalować zestaw AZURE COMMUNICATION SERVICES Advance Messaging SDK dla języka JavaScript.
npm install @azure-rest/communication-messages --save
Opcja --save wyświetla bibliotekę jako zależność w pliku package.json .
Przykłady kodu
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do funkcji main w pliku send-messages.js.
- Zacznij wysyłać wiadomości między firmą a użytkownikiem WhatsApp.
- Uwierzytelnianie klienta.
- Ustaw identyfikator rejestracji kanału.
- Ustaw listę adresatów.
- Wyślij wiadomość SMS do użytkownika WhatsApp.
- Wyślij wiadomość graficzną do użytkownika WhatsApp.
- Wyślij wiadomość z dokumentem do użytkownika WhatsApp.
- Wyślij wiadomość audio medialną do użytkownika WhatsApp.
- Wyślij wiadomość medialną wideo do użytkownika WhatsApp.
Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp
Rozmowy między kontem WhatsApp Business i użytkownikiem WhatsApp można zainicjować na jeden z dwóch sposobów:
- Firma wysyła wiadomość szablonu do użytkownika WhatsApp.
- Użytkownik WhatsApp wysyła wszelkie wiadomości do numeru biznesowego.
Niezależnie od sposobu rozpoczęcia konwersacji firma może wysyłać tylko wiadomości szablonów, dopóki użytkownik nie wyśle wiadomości do firmy. Dopiero po wysłaniu wiadomości do firmy przez użytkownika firma może wysyłać wiadomości tekstowe lub multimedialne do użytkownika podczas aktywnej konwersacji. Po wygaśnięciu 24-godzinnego okna konwersacji należy ponownie zainicjować konwersację. Aby dowiedzieć się więcej o rozmowach, zobacz definicję na WhatsApp Business Platform.
Uwierzytelnianie użytkownika
Poniższy kod pobiera "parametry połączenia" zasobu ze zmiennej środowiskowej o nazwie COMMUNICATION_SERVICES_CONNECTION_STRING przy użyciu pakietu "dotenv".
Dla uproszczenia w tym artykule użyto parametry połączenia do uwierzytelniania. W środowiskach produkcyjnych zalecamy używanie service principals.
Pobierz ciąg połączenia z zasobu Azure Communication Services w portalu Azure. Po lewej stronie przejdź do karty Keys. Skopiuj pole Connection string dla Primary key. Ta parametry połączenia ma formę endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Ustaw zmienną środowiskową COMMUNICATION_SERVICES_CONNECTION_STRING na wartość ciągu połączenia.
Otwórz okno konsoli i wprowadź następujące polecenie:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Aby uzyskać więcej informacji na temat ustawiania zmiennej środowiskowej dla systemu, wykonaj kroki opisane w Przechowaj ciąg połączenia w zmiennej środowiskowej.
Aby utworzyć wystąpienie klasy NotificationClient, dodaj następujący kod do metody Main.
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);
Ustawianie identyfikatora rejestracji kanału
Identyfikator GUID rejestracji kanału został utworzony podczas rejestracji kanału. Możesz go wyszukać w portalu na karcie Kanały zasobu Azure Communication Services.
Przypisz ją do zmiennej o nazwie channelRegistrationId.
const channelRegistrationId = "<your channel registration id GUID>";
Ustawianie listy adresatów
Musisz podać rzeczywisty numer telefonu, który ma skojarzone z nim konto WhatsApp lub identyfikator użytkownika o zakresie biznesowym (BSUID). To konto WhatsApp otrzymuje szablon, tekst i wiadomości multimedialne omawiane w tym artykule. W tym artykule ten numer telefonu może być twoim osobistym numerem telefonu.
Numer telefonu odbiorcy nie może być numerem telefonu służbowego (identyfikator nadawcy) skojarzonym z rejestracją kanału WhatsApp. Identyfikator nadawcy jest wyświetlany jako nadawca wiadomości tekstowych i multimedialnych wysyłanych do adresata.
Numer telefonu powinien zawierać kod kraju. Aby uzyskać więcej informacji na temat formatowania numeru telefonu, zobacz dokumentację WhatsApp dotyczącą formatów numerów telefonów.
Uwaga
Na liście adresatów jest obecnie obsługiwany tylko jeden numer telefonu lub identyfikator BSUID.
Utwórz listę adresatów w następujący sposób:
const recipientList = ["<to WhatsApp phone number or BSUID>"];
Przykład użycia numeru telefonu:
// Example only
const recipientList = ["+14255550199"];
Przykład użycia identyfikatora BSUID:
// Example only
const recipientList = ["US.13491208655302741918"];
Uwaga
Wysyłanie wiadomości do identyfikatorów BSUID będzie dostępne od czerwca 2026 r. Do tego czasu użyj numerów telefonów jako adresatów.
Aby uzyskać więcej informacji na temat identyfikatorów BSUID, zobacz Nazwy użytkowników WhatsApp i identyfikatory BSUID.
Ważne
Aby wysłać wiadomość do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Wysyłanie wiadomości SMS do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości WhatsApp, gdy zostaną zainicjowane przez użytkowników WhatsApp. Aby wysłać wiadomości SMS:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Treść wiadomości/tekst do wysłania.
W tym przykładzie odpowiadamy użytkownikowi WhatsApp za pomocą tekstu "Thanks for your feedback.\n From Notification Messaging SDK."
Złóż i wyślij wiadomość SMS:
// 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");
}
Wyślij wiadomość multimedialną z obrazem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL pliku graficznego.
Ważne
Od wersji 2.0.0 zestawu SDK MediaNotificationContent jest wycofywane dla obrazów. Zachęcamy, aby używać ImageNotificationContent do wysyłania obrazów. Zapoznaj się z innymi klasami specyficznymi dla zawartości dla innych typów multimediów, takich jak DocumentNotificationContent, VideoNotificationContenti AudioNotificationContent.
Aby wysłać komunikat obrazu, podaj adres URL obrazu. Na przykład:
const url = "https://example.com/image.jpg";
Złóż i wyślij komunikat multimedialny:
// 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");
}
Wysyłanie wiadomości z mediów wideo do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL filmu wideo.
Aby wysłać wiadomość wideo, podaj adres URL filmu wideo. Na przykład
const url = "https://example.com/video.mp4";
Złóż i wyślij komunikat wideo:
// 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");
}
Wysyłanie wiadomości audio medialne do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL nośnika audio.
Aby wysłać wiadomość dźwiękową, podaj adres URL do pliku audio. Przykład:
const url = "https://example.com/audio.mp3";
Złóż i wyślij wiadomość dźwiękową:
// 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");
}
Wyślij wiadomość z załączonym dokumentem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości multimedialnych (obraz, wideo, audio lub dokument) do użytkowników WhatsApp. Aby wysłać osadzony komunikat multimedialny, potrzebne są następujące elementy:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Adres URL nośnika dokumentów.
Aby wysłać komunikat o dokumencie, podaj adres URL do dokumentu. Na przykład
const url = "https://example.com/document.pdf";
Złóż i wyślij dokument:
// 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");
}
Uruchamianie kodu
Użyj polecenia node, aby uruchomić kod dodany do send-messages.js pliku.
node ./send-messages.js
Pełny przykładowy kod
Znajdź sfinalizowany kod na GitHub w przykładowej bibliotece klienta Messages Services dla JavaScript.
Wymagania wstępne
Konto WhatsApp Business zarejestrowane w zasobie Azure Communication Services.
Aktywny numer telefonu WhatsApp do odbierania wiadomości.
Python 3.7+ dla systemu operacyjnego.
Konfigurowanie
Tworzenie nowej aplikacji Python
W oknie terminalu lub konsoli utwórz nowy folder dla aplikacji i otwórz go.
mkdir messages-quickstart && cd messages-quickstart
Instalowanie pakietu
Użyj biblioteki klienta Azure Communication Messages dla Python 1.1.0 lub nowszej.
W wierszu polecenia konsoli uruchom następujące polecenie:
pip install azure-communication-messages
W przypadku komunikatów interaktywnych, reakcji i naklejek użyj poniższej wersji beta :
pip install azure-communication-messages==1.2.0b1
Konfigurowanie struktury aplikacji
Utwórz nowy plik o nazwie messages-quickstart.py i dodaj podstawową strukturę programu.
type nul > messages-quickstart.py
Podstawowa struktura programu
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Model obiektów
Następujące klasy i interfejsy obsługują niektóre główne funkcje zestawu SDK komunikatów Azure Communication Services dla Python.
| Nazwa klasy | opis |
|---|---|
NotificationMessagesClient |
Łączy się z zasobem usługi Azure Communication Services. Wysyła komunikaty. |
MessageTemplate |
Definiuje używany szablon oraz zawartość właściwości szablonu dla wiadomości. |
TemplateNotificationContent |
Definiuje "kto" i "co" wiadomości szablonu, którą zamierzasz wysłać. |
TextNotificationContent |
Definiuje "kto" i "co" wiadomości sms, którą zamierzasz wysłać. |
ImageNotificationContent |
Określa "kto" i "co" wiadomości multimedialnej, którą zamierzasz wysłać. |
DocumentNotificationContent |
Definiuje "kto" i "co" wiadomości z nośnika dokumentów, które zamierzasz wysłać. |
VideoNotificationContent |
Definiuje "kto" i "co" wiadomości wideo, którą zamierzasz wysłać. |
AudioNotificationContent |
Definiuje 'kto' i 'co' wiadomości audio, którą zamierzasz wysłać. |
Uwaga
Aby uzyskać więcej informacji, zobacz dokumentację Azure SDK dla języka Python, pakiet messages Package.
Typowa konfiguracja
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do messages-quickstart.py programu python.
- Uwierzytelnianie klienta.
- Ustaw identyfikator rejestracji kanału.
- Ustaw listę adresatów.
- Zacznij wysyłać wiadomości między firmą a użytkownikiem WhatsApp.
Uwierzytelnianie użytkownika
Klient NotificationMessagesClient jest używany do wysyłania komunikatów. NotificationMessagesClient uwierzytelnia się przy użyciu "parametry połączenia" pozyskanego z zasobu Azure Communication Services w portalu Azure.
Aby uzyskać więcej informacji na temat parametrów połączenia, zobacz access-your-connection-strings-and-service-endpoints.
Pobierz Azure communication Resource parametry połączenia z portalu Azure, jak pokazano na zrzucie ekranu. Po lewej, przejdź do karty Keys. Skopiuj pole Connection string jako klucz podstawowy. Ta parametry połączenia ma formę endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.
Ustaw zmienną środowiskową COMMUNICATION_SERVICES_CONNECTION_STRING na wartość ciągu połączenia.
Otwórz okno konsoli i wprowadź następujące polecenie:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Po dodaniu zmiennej środowiskowej może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą musiały odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz Visual Studio jako edytora, uruchom ponownie Visual Studio przed uruchomieniem przykładu.
Aby uzyskać więcej informacji na temat ustawiania zmiennej środowiskowej dla systemu, wykonaj kroki opisane w Przechowaj ciąg połączenia w zmiennej środowiskowej.
# 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)
Ustawianie identyfikatora rejestracji kanału
Podczas rejestracji kanału utworzyłeś identyfikator GUID rejestracji kanału. Znajdź go w portalu na karcie Channels zasobu Azure Communication Services.
Przypisz ją do zmiennej o nazwie channelRegistrationId.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Ustawianie listy adresatów
Musisz podać aktywny numer telefonu skojarzony z kontem WhatsApp lub identyfikator użytkownika o zakresie biznesowym (BSUID). To konto WhatsApp otrzymuje szablon, tekst i wiadomości multimedialne omawiane w tym artykule.
W tym przykładzie możesz użyć osobistego numeru telefonu.
Numer telefonu odbiorcy nie może być numerem telefonu służbowego (identyfikator nadawcy) skojarzonym z rejestracją kanału WhatsApp. Identyfikator nadawcy jest wyświetlany jako nadawca wiadomości tekstowych i multimedialnych wysyłanych do adresata.
Numer telefonu musi zawierać kod kraju. Aby uzyskać więcej informacji na temat formatowania numeru telefonu, zobacz dokumentację WhatsApp dotyczącą formatów numerów telefonów.
Uwaga
Na liście adresatów jest obecnie obsługiwany tylko jeden numer telefonu lub identyfikator BSUID.
Ustaw listę adresatów w następujący sposób:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Przykład użycia z numerem telefonu:
# Example only
to=[self.phone_number],
Przykład użycia z identyfikatorem BSUID:
# Example only
to=["US.13491208655302741918"],
Uwaga
Wysyłanie wiadomości do identyfikatorów BSUID będzie dostępne od czerwca 2026 r. Do tego czasu użyj numerów telefonów jako adresatów.
Aby uzyskać więcej informacji na temat identyfikatorów BSUID, zobacz Nazwy użytkowników WhatsApp i identyfikatory BSUID.
Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp
Rozmowy między kontem WhatsApp Business i użytkownikiem WhatsApp można zainicjować na jeden z dwóch sposobów:
- Firma wysyła wiadomość szablonu do użytkownika WhatsApp.
- Użytkownik WhatsApp wysyła wszelkie wiadomości do numeru biznesowego.
Firma nie może zainicjować interaktywnej konwersacji. Firma może wysyłać wiadomość interaktywną tylko po otrzymaniu komunikatu od użytkownika. Firma może wysyłać interakcyjne wiadomości tylko do użytkownika podczas aktywnej konwersacji. Po wygaśnięciu 24-godzinnego okna konwersacji tylko użytkownik może ponownie uruchomić konwersację interaktywną. Aby uzyskać więcej informacji na temat rozmów, zobacz definicję na WhatsApp Business Platform.
Aby zainicjować interaktywną konwersację z osobistego konta WhatsApp, wyślij wiadomość do twojego numeru biznesowego (identyfikator nadawcy).
Przykłady kodu
Wykonaj następujące kroki, aby dodać wymagane fragmenty kodu do programu messages-quickstart.py python.
- Wyślij wiadomość SMS do użytkownika WhatsApp.
- Wyślij wiadomość graficzną do użytkownika WhatsApp.
- Wyślij wiadomość z dokumentem do użytkownika WhatsApp.
- Wyślij wiadomość audio medialną do użytkownika WhatsApp.
- Wyślij wiadomość medialną wideo do użytkownika WhatsApp.
Wysyłanie wiadomości SMS do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości WhatsApp, gdy użytkownik WhatsApp zainicjuje komunikację. Aby wysłać wiadomości SMS:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Treść wiadomości/tekst do wysłania.
Ważne
Aby wysłać wiadomość SMS do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
W tym przykładzie odpowiadamy użytkownikowi WhatsApp za pomocą tekstu "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")
Aby uruchomić send_text_message(), zaktualizuj metodę main:
#Calling send_text_message()
messages.send_text_message()
Wyślij wiadomość multimedialną z obrazem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie obrazów wiadomości WhatsApp do użytkowników WhatsApp. Aby wysłać wiadomości z osadzonymi obrazami:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Identyfikator MediaUri obrazu.
Ważne
Aby wysłać wiadomość SMS do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Przykład użycia media_uri podczas wysyłania wiadomości multimedialnej WhatsApp.
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")
Aby uruchomić send_text_message(), zaktualizuj metodę main:
# Calling send_image_message()
messages.send_image_message()
Wyślij wiadomość z załączonym dokumentem do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie dokumentów wiadomości WhatsApp do użytkowników WhatsApp. Aby wysłać wiadomości osadzone w dokumencie:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Identyfikator MediaUri dokumentu.
Ważne
Aby wysłać wiadomość dokumentu do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Przykład użycia media_uri podczas wysyłania wiadomości multimedialnej WhatsApp.
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")
Aby uruchomić send_text_message(), zaktualizuj metodę main:
# Calling send_image_message()
messages.send_image_message()
Wysyłanie wiadomości audio medialne do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie obrazów wiadomości WhatsApp do użytkowników WhatsApp. Aby wysyłać komunikaty z elementami audio:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Identyfikator MediaUri dźwięku.
Ważne
Aby wysłać wiadomość dźwiękową do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Przykład użycia media_uri podczas wysyłania wiadomości multimedialnej WhatsApp.
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")
Aby uruchomić send_text_message(), zaktualizuj metodę main:
# Calling send_image_message()
messages.send_image_message()
Wysyłanie wiadomości z mediów wideo do użytkownika WhatsApp
Zestaw SDK wiadomości umożliwia firmie Contoso wysyłanie wiadomości wideo WhatsApp do użytkowników WhatsApp. Aby wysłać wiadomości z osadzonymi wideo:
- Identyfikator kanału WhatsApp.
- Numer telefonu odbiorcy w formacie E16.
- Identyfikator MediaUri wideo.
Ważne
Aby wysłać wiadomość wideo do użytkownika WhatsApp, użytkownik WhatsApp musi najpierw wysłać wiadomość na konto WhatsApp Business. Aby uzyskać więcej informacji, zobacz Rozpoczynanie wysyłania wiadomości między firmą a użytkownikiem WhatsApp.
Przykład użycia media_uri podczas wysyłania wiadomości multimedialnej WhatsApp.
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")
Aby uruchomić send_text_message(), zaktualizuj metodę main:
# Calling send_image_message()
messages.send_image_message()
Uruchamianie kodu
Aby uruchomić kod, upewnij się, że znajdujesz się w katalogu, w którym messages-quickstart.py znajduje się plik.
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>>
Pełny przykładowy kod
Uwaga
Zastąp wszystkie zmienne zastępcze w przykładowym kodzie wartościami.
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()
Inne przykłady
Możesz przejrzeć i pobrać inne przykładowe kody na GitHub dla zestawu SDK komunikatów Python.