Odesílání textových a mediálních zpráv WhatsApp pomocí rozšířeného zasílání zpráv
Služba Azure Communication Services umožňuje odesílat a přijímat zprávy WhatsApp. Tento článek popisuje, jak integrovat aplikaci se sadou Azure Communication Advanced Messages SDK, abyste mohli začít odesílat a přijímat zprávy WhatsApp. Dokončením tohoto článku se v účtu Azure účtují malé náklady na pár centů nebo méně USD.
Požadavky
- WhatsApp Business Account zaregistrovaný ve vašem prostředku Azure Communication Services
- Aktivní telefonní číslo Aplikace WhatsApp pro příjem zpráv.
- Vývojové prostředí .NET, jako je Visual Studio, Visual Studio Code nebo .NET CLI.
Nastavení prostředí
Vytvoření projektu .NET
Pokud chcete vytvořit projekt, postupujte podle kurzu v tématu Vytvoření konzolové aplikace .NET pomocí sady Visual Studio.
Pokud chcete kód zkompilovat, stiskněte Ctrl+F7.
Nainstalujte balíček .
Nainstalujte balíček NuGet Azure.Communication.Messages do projektu jazyka C#.
- Otevřete Správce balíčků NuGet na adrese
Project
>Manage NuGet Packages...
. - Vyhledejte balíček
Azure.Communication.Messages
. - Nainstalujte nejnovější verzi.
Nastavení architektury aplikace
Otevřete soubor Program.cs
v textovém editoru.
Obsah souboru Program.cs
nahraďte následujícím kódem:
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
}
}
}
Pokud chcete použít funkce rozšířeného zasílání zpráv, přidejte direktivu using
Azure.Communication.Messages
pro zahrnutí oboru názvů.
using Azure.Communication.Messages;
Objektový model
Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady Azure Communication Services Advance Messaging SDK pro .NET.
Název třídy | Popis |
---|---|
NotificationMessagesClient |
Připojí se k prostředku Azure Communication Services. Odesílá zprávy. |
MessageTemplate |
Definuje, kterou šablonu použijete, a obsah vlastností šablony pro vaši zprávu. |
TemplateNotificationContent |
Definuje "kdo" a "co" zprávy šablony, kterou chcete odeslat. |
TextNotificationContent |
Definuje "kdo" a "co" textové zprávy, kterou chcete odeslat. |
ImageNotificationContent |
Definuje "kdo" a "co" zprávy média obrázku, kterou chcete odeslat. |
DocumentNotificationContent |
Definuje "kdo" a "co" zprávy média dokumentu, kterou chcete odeslat. |
VideoNotificationContent |
Definuje "kdo" a "co" zprávy videa, kterou chcete odeslat. |
AudioNotificationContent |
Definuje "kdo" a "co" zprávy zvukového média, kterou chcete odeslat. |
Poznámka:
Další informace najdete v sadě Azure SDK pro .NET s referenčními informacemi o oboru názvů Azure.Communication.Messages.
Běžná konfigurace
Podle těchto kroků přidejte požadované fragmenty kódu do programu messages-quickstart.py Python.
- Ověřte klienta.
- Nastavte ID registrace kanálu.
- Nastavte seznam příjemců.
- Začněte odesílat zprávy mezi firmou a uživatelem WhatsApp.
Ověření klienta
Sada Sdk pro zprávy používá NotificationMessagesClient
k odesílání zpráv. Metoda NotificationMessagesClient
se ověřuje pomocí vašeho připojovací řetězec získaného z prostředku Azure Communication Services na webu Azure Portal. Další informace o připojovací řetězec najdete v tématu access-your-connection-strings-and-service-endpoints.
Pro zjednodušení tento rychlý start používá k ověření připojovací řetězec. V produkčních prostředích doporučujeme používat instanční objekty.
Získejte připojovací řetězec z prostředku Azure Communication Services na webu Azure Portal. Vlevo přejděte na Keys
kartu. Zkopírujte Connection string
pole pro primární klíč. Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Nastavte proměnnou COMMUNICATION_SERVICES_CONNECTION_STRING
prostředí na hodnotu připojovací řetězec.
Otevřete okno konzoly a zadejte následující příkaz:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Po přidání proměnné prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset přečíst proměnnou prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Další informace o tom, jak nastavit proměnnou prostředí pro váš systém, najdete v postupu při ukládání připojovací řetězec do proměnné prostředí.
Pokud chcete vytvořit instanci , NotificationMessagesClient
přidejte do Main
metody následující kód:
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Nastavení ID registrace kanálu
Během registrace kanálu jste vytvořili identifikátor GUID ID registrace kanálu. Najdete ho na portálu na kartě Kanály vašeho prostředku Azure Communication Services.
Přiřaďte ji k proměnné s názvem channelRegistrationId.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Nastavení seznamu příjemců
Musíte zadat aktivní telefonní číslo přidružené k účtu WhatsApp. Tento účet WhatsApp obdrží šablonu, text a mediální zprávy odeslané v tomto rychlém startu.
V tomto příkladu můžete použít svoje osobní telefonní číslo.
Telefonní číslo příjemce nemůže být firemní telefonní číslo (ID odesílatele) přidružené k registraci kanálu WhatsApp. ID odesílatele se zobrazí jako odesílatel textu a mediálních zpráv odeslaných příjemci.
Telefonní číslo musí obsahovat kód země. Další informace o formátování telefonních čísel naleznete v dokumentaci WhatsApp pro formáty telefonních čísel.
Poznámka:
V seznamu příjemců se aktuálně podporuje jenom jedno telefonní číslo.
Vytvořte seznam příjemců takto:
var recipientList = new List<string> { "<to WhatsApp phone number>" };
Příklad:
// Example only
var recipientList = new List<string> { "+14255550199" };
Zahájení odesílání zpráv mezi firmou a uživatelem WhatsApp
Konverzace mezi účtem WhatsApp Business a uživatelem WhatsApp je možné zahájit jedním ze dvou způsobů:
- Firma odešle uživateli WhatsApp zprávu šablony.
- Uživatel WhatsApp odešle jakoukoli zprávu na firemní číslo.
Firma nemůže zahájit interaktivní konverzaci. Firma může odeslat interaktivní zprávu jenom po přijetí zprávy od uživatele. Firma může uživateli posílat jenom interaktivní zprávy během aktivní konverzace. Jakmile vyprší platnost 24hodinového okna konverzace, může interaktivní konverzaci restartovat jenom uživatel. Další informace o konverzacích najdete v definici aplikace WhatsApp Business Platform.
Pokud chcete zahájit interaktivní konverzaci z vašeho osobního účtu WhatsApp, pošlete zprávu na vaše firemní číslo (ID odesílatele).
Příklady kódu
Podle těchto kroků přidejte požadované fragmenty kódu do funkce Main souboru Program.cs
.
- Odeslat textovou zprávu uživateli WhatsApp.
- Odeslat zprávu médií obrázků uživateli WhatsApp.
- Odeslat zprávu média dokumentu uživateli WhatsApp.
- Odešlete zvukové médium uživateli WhatsApp.
- Odeslat video media zprávu uživateli WhatsApp.
Důležité
Pokud chcete uživateli WhatsApp poslat textovou nebo mediální zprávu, musí uživatel WhatsApp nejprve odeslat zprávu do obchodního účtu WhatsApp. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Odeslání textové zprávy uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat textové zprávy WhatsApp, které iniciovaly uživatele WhatsApp. Pokud chcete poslat textovou zprávu, potřebujete:
- Authenticated NotificationMessagesClient
- ID kanálu WhatsApp
- Telefonní číslo příjemce ve formátu E16
- Text zprávy nebo text, který se má odeslat
V tomto příkladu odpovídáme uživateli WhatsApp s textem: "Thanks for your feedback.\n From Notification Messaging SDK."
Sestavte a odešlete textovou zprávu:
// 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);
Odeslání zprávy o médiu obrázku uživateli WhatsApp
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat mediální zprávy WhatsApp uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- Authenticated NotificationMessagesClient.
- ID kanálu WhatsApp.
- Telefonní číslo příjemce ve formátu E16
- Identifikátor URI image Media.
Důležité
Od verze sady SDK 1.1.0 MediaNotificationContent
jsou image zastaralé. Doporučujeme vám používat ImageNotificationContent
k odesílání obrázků. Prozkoumejte další třídy specifické pro obsah pro jiné typy médií, jako jsou DocumentNotificationContent
, VideoNotificationContent
a AudioNotificationContent
.
Sestavte zprávu obrázku:
var imageLink = new Uri("https://example.com/image.jpg");
var imageNotificationContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageLink)
{
Caption = "Check out this image."
};
Odeslat zprávu obrázku:
var imageResponse = await notificationMessagesClient.SendAsync(imageNotificationContent);
Odeslání zprávy média dokumentu uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat mediální zprávy WhatsApp uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- Authenticated NotificationMessagesClient.
- ID kanálu WhatsApp.
- Telefonní číslo příjemce ve formátu E16
- Identifikátor URI média dokumentu.
Sestavení obsahu 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"
};
Odeslat zprávu dokumentu:
var documentResponse = await notificationMessagesClient.SendAsync(documentNotificationContent);
Odeslání zprávy videa uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat mediální zprávy WhatsApp uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- Authenticated NotificationMessagesClient.
- ID kanálu WhatsApp.
- Telefonní číslo příjemce ve formátu E16
- Identifikátor URI videa.
Sestavte video zprávu:
var videoLink = new Uri("https://example.com/video.mp4");
var videoNotificationContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoLink)
{
Caption = "Check out this video."
};
Odeslat video zprávu:
var videoResponse = await notificationMessagesClient.SendAsync(videoNotificationContent);
Odeslání zprávy zvukového média uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat mediální zprávy WhatsApp uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- Authenticated NotificationMessagesClient.
- ID kanálu WhatsApp.
- Telefonní číslo příjemce ve formátu E16
- Identifikátor URI zvukového média.
Sestavte zvukovou zprávu:
var audioLink = new Uri("https://example.com/audio.mp3");
var audioNotificationContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioLink);
Odeslat zvukovou zprávu:
var audioResponse = await notificationMessagesClient.SendAsync(audioNotificationContent);
Spuštění kódu
Sestavte a spusťte program.
Pokud chcete uživateli WhatsApp poslat textovou nebo mediální zprávu, musí existovat aktivní konverzace mezi účtem WhatsApp Business a uživatelem WhatsApp.
Pokud nemáte aktivní konverzaci, v tomto příkladu přidejte čekání mezi odesláním zprávy šablony a odesláním textové zprávy. Toto přidané zpoždění vám poskytne dostatek času na odpověď na firmu na účtu WhatsApp uživatele. Úplný příklad v ukázkovém kódu se před odesláním další zprávy zobrazí výzva k ručnímu zadání uživatele.
V případě úspěchu obdržíte tři zprávy na účtu WhatsApp uživatele.
- Pokud chcete kód zkompilovat, stiskněte Ctrl+F7.
- Pokud chcete program spustit bez ladění, stiskněte Ctrl+F5.
Celý ukázkový kód
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");
}
}
}
Požadavky
- WhatsApp Business Account zaregistrovaný ve vašem prostředku Azure Communication Services
- Aktivní telefonní číslo Aplikace WhatsApp pro příjem zpráv.
- Java Development Kit (JDK) verze 8 nebo novější.
- Apache Maven
Nastavení prostředí
Pokud chcete nastavit prostředí pro odesílání zpráv, proveďte kroky v následujících částech.
Vytvoření nové aplikace v Javě
Otevřete terminál nebo příkazové okno a přejděte do adresáře, do kterého chcete vytvořit aplikaci v Javě. Spuštěním následujícího příkazu vygenerujte projekt Java ze maven-archetype-quickstart
šablony.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
Cíl generate
vytvoří adresář se stejným názvem jako artifactId
hodnota. V tomto adresáři src/main/java
adresář obsahuje zdrojový kód projektu, src/test/java
adresář obsahuje zdroj testů a pom.xml
soubor je projektový objektový model (POM).
Nainstalujte balíček .
Otevřete soubor v textovém pom.xml
editoru. Do skupiny závislostí přidejte následující prvek závislosti.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</dependency>
Nastavení architektury aplikace
Otevřete /src/main/java/com/communication/quickstart/App.java
v textovém editoru, přidejte direktivy importu a odeberte System.out.println("Hello world!");
příkaz:
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.
}
}
Příklady kódu
Podle těchto kroků přidejte požadované fragmenty kódu do hlavní funkce App.java
souboru.
- Začněte odesílat zprávy mezi firmou a uživatelem WhatsApp.
- Ověřte klienta.
- Nastavte ID registrace kanálu.
- Nastavte seznam příjemců.
- Odeslání textové zprávy uživateli WhatsAppu
- Odeslání zprávy o médiu obrázku uživateli WhatsApp
- Odeslání zprávy média dokumentu uživateli WhatsAppu
- Odeslání zprávy zvukového média uživateli WhatsAppu
- Odeslání zprávy videa uživateli WhatsAppu
Zahájení odesílání zpráv mezi firmou a uživatelem WhatsApp
Konverzace mezi účtem WhatsApp Business a uživatelem WhatsApp je možné zahájit jedním ze dvou způsobů:
- Firma odešle uživateli WhatsApp zprávu šablony.
- Uživatel WhatsApp odešle jakoukoli zprávu na firemní číslo.
Bez ohledu na to, jak byla konverzace spuštěna, může firma odesílat zprávy šablony jenom do doby, než uživatel odešle zprávu do firmy. Až po odeslání zprávy uživateli do firmy může firma během aktivní konverzace odesílat textové nebo mediální zprávy. Jakmile vyprší platnost 24hodinového okna konverzace, musí se konverzace znovu zahájit. Další informace o konverzacích najdete v definici aplikace WhatsApp Business Platform.
Ověření klienta
Pro ověření klienta zprávy je k dispozici několik různých možností:
Pokud chcete ověřit klienta, vytvořte instanci NotificationMessagesClient
instance nebo MessageTemplateClient
pomocí připojovací řetězec. Klienta můžete také inicializovat pomocí libovolného vlastního klienta HTTP, který implementuje com.azure.core.http.HttpClient
rozhraní.
Pro zjednodušení tento rychlý start používá k ověření připojovací řetězec. V produkčních prostředích doporučujeme používat instanční objekty.
Získejte připojovací řetězec z prostředku Azure Communication Services na webu Azure Portal. Vlevo přejděte na Keys
kartu. Zkopírujte Connection string
pole pro Primary key
pole . Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Nastavte proměnnou COMMUNICATION_SERVICES_CONNECTION_STRING
prostředí na hodnotu připojovací řetězec.
Otevřete okno konzoly a zadejte následující příkaz:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Další informace o tom, jak nastavit proměnnou prostředí pro váš systém, najdete v postupu při ukládání připojovací řetězec do proměnné prostředí.
Pokud chcete vytvořit instanci NotificationMessagesClient, přidejte do main
metody následující kód:
// 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();
Nastavení ID registrace kanálu
Identifikátor GUID ID registrace kanálu byl vytvořen během registrace kanálu. Můžete ho vyhledat na portálu na kartě Kanály vašeho prostředku Azure Communication Services.
Přiřaďte ji k proměnné s názvem channelRegistrationId.
String channelRegistrationId = "<your channel registration id GUID>";
Nastavení seznamu příjemců
Musíte zadat skutečné telefonní číslo, které má přidružený účet WhatsApp. Tento účet WhatsApp obdrží textové a mediální zprávy odeslané v tomto rychlém startu. Pro účely tohoto rychlého startu může být toto telefonní číslo vaše osobní telefonní číslo.
Telefonní číslo příjemce nemůže být firemní telefonní číslo (ID odesílatele) přidružené k registraci kanálu WhatsApp. ID odesílatele se zobrazí jako odesílatel textu a mediálních zpráv odeslaných příjemci.
Telefonní číslo by mělo obsahovat kód země. Další informace o formátování telefonních čísel naleznete v dokumentaci WhatsApp pro formáty telefonních čísel.
Poznámka:
V seznamu příjemců se aktuálně podporuje jenom jedno telefonní číslo.
Vytvořte seznam příjemců takto:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");
Příklad:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Odeslání textové zprávy uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat textové zprávy WhatsApp, které iniciovaly uživatele WhatsApp. K odesílání textových zpráv jsou potřeba následující podrobnosti:
- ID kanálu WhatsApp
- Telefonní číslo příjemce ve formátu E16
- Text zprávy nebo text, který se má odeslat
V tomto příkladu odpovíme uživateli WhatsApp s textem. "Thanks for your feedback.\n From Notification Messaging SDK."
Důležité
Chcete-li odeslat textovou zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Sestavte a odešlete textovou zprávu:
// 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());
}
Odeslání zprávy o médiu obrázku uživateli WhatsApp
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- ID kanálu WhatsApp
- Telefonní číslo příjemce ve formátu E16
- Adresa URL média obrázku
Důležité
Od verze sady SDK 1.1.0 MediaNotificationContent
jsou image zastaralé. Doporučujeme vám použít ImageNotificationContent
k odesílání obrázků. Prozkoumejte další třídy specifické pro obsah pro jiné typy médií, jako jsou DocumentNotificationContent
, VideoNotificationContent
a AudioNotificationContent
.
Důležité
Chcete-li odeslat zprávu obrázku uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Sestavte a odešlete zprávu obrázku:
// 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());
}
Odeslání zprávy videa uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL videa.
Důležité
Chcete-li odeslat video zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Sestavte a odešlete video zprávu:
// 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());
}
Odeslání zprávy zvukového média uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL zvukového média
Důležité
Chcete-li odeslat zvukovou zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Sestavte a odešlete zvukovou zprávu:
// 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());
}
Odeslání zprávy média dokumentu uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL média dokumentu
Důležité
Chcete-li odeslat zprávu dokumentu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Sestavte a odešlete zprávu dokumentu:
// 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());
}
Spuštění kódu
Otevřete adresář obsahující
pom.xml
soubor a zkompilujte projekt pomocímvn
příkazu.mvn compile
Spusťte aplikaci spuštěním následujícího
mvn
příkazu.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Celý ukázkový kód
Najděte finalizovaný kód pro tento rychlý start na GitHubu.
Požadavky
- WhatsApp Business Account zaregistrovaný ve vašem prostředku Azure Communication Services
- Aktivní telefonní číslo Aplikace WhatsApp pro příjem zpráv.
- Node.js verze ACTIVE LTS a maintenance LTS (doporučujeme verze 8.11.1 a 10.14.1).
-
Node.js se doporučuje verze LTS a údržba Active LTS (8.11.1 a 10.14.1)
- Spuštěním příkazu v terminálu nebo příkazovém okně zkontrolujte,
node --version
jestli je nainstalovaná Node.js.
- Spuštěním příkazu v terminálu nebo příkazovém okně zkontrolujte,
Nastavení
Vytvoření nové aplikace Node.js
Vytvořte pro aplikaci nový adresář a otevřete ho v terminálu nebo příkazovém okně.
Spusťte následující příkaz:
mkdir advance-messages-quickstart && cd advance-messages-quickstart
Spuštěním následujícího příkazu vytvořte
package.json
soubor s výchozím nastavením.npm init -y
Pomocí textového editoru vytvořte soubor volaný
send-messages.js
v kořenovém adresáři projektu.Do souboru
send-messages.js
přidejte následující fragment kódu .async function main() { // Quickstart code goes here. } main().catch((error) => { console.error("Encountered an error while sending message: ", error); process.exit(1); });
V následující části přidejte zdrojový kód pro tento příklad do send-messages.js
souboru, který jste vytvořili.
Nainstalujte balíček .
npm install
Pomocí příkazu nainstalujte sadu AZURE Communication Services Advance Messaging SDK pro JavaScript.
npm install @azure-rest/communication-messages --save
Tato --save
možnost vypíše knihovnu jako závislost v souboru package.json .
Příklady kódu
Podle těchto kroků přidejte požadované fragmenty kódu do hlavní funkce send-messages.js
souboru.
- Začněte odesílat zprávy mezi firmou a uživatelem WhatsApp.
- Ověřte klienta.
- Nastavte ID registrace kanálu.
- Nastavte seznam příjemců.
- Odeslat textovou zprávu uživateli WhatsApp.
- Odeslat zprávu médií obrázků uživateli WhatsApp.
- Odeslat zprávu média dokumentu uživateli WhatsApp.
- Odešlete zvukové médium uživateli WhatsApp.
- Odeslat video media zprávu uživateli WhatsApp.
Zahájení odesílání zpráv mezi firmou a uživatelem WhatsApp
Konverzace mezi účtem WhatsApp Business a uživatelem WhatsApp je možné zahájit jedním ze dvou způsobů:
- Firma odešle uživateli WhatsApp zprávu šablony.
- Uživatel WhatsApp odešle jakoukoli zprávu na firemní číslo.
Bez ohledu na to, jak byla konverzace spuštěna, může firma odesílat zprávy šablony jenom do doby, než uživatel odešle zprávu do firmy. Až po odeslání zprávy uživateli do firmy může firma během aktivní konverzace odesílat textové nebo mediální zprávy. Jakmile vyprší platnost 24hodinového okna konverzace, musí se konverzace znovu zahájit. Další informace o konverzacích najdete v definici aplikace WhatsApp Business Platform.
Ověření klienta
Následující kód načte připojovací řetězec prostředku z proměnné prostředí pojmenované COMMUNICATION_SERVICES_CONNECTION_STRING
pomocí balíčku dotenv.
Pro zjednodušení tento rychlý start používá k ověření připojovací řetězec. V produkčních prostředích doporučujeme používat instanční objekty.
Získejte připojovací řetězec z prostředku Azure Communication Services na webu Azure Portal. Vlevo přejděte na Keys
kartu. Zkopírujte Connection string
pole pro Primary key
pole . Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Nastavte proměnnou COMMUNICATION_SERVICES_CONNECTION_STRING
prostředí na hodnotu připojovací řetězec.
Otevřete okno konzoly a zadejte následující příkaz:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Další informace o tom, jak nastavit proměnnou prostředí pro váš systém, najdete v postupu při ukládání připojovací řetězec do proměnné prostředí.
Pokud chcete vytvořit instanci NotificationClient, přidejte do Main
metody následující kód:
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);
Nastavení ID registrace kanálu
Identifikátor GUID ID registrace kanálu byl vytvořen během registrace kanálu. Můžete ho vyhledat na portálu na kartě Kanály vašeho prostředku Azure Communication Services.
Přiřaďte ji k proměnné s názvem channelRegistrationId.
const channelRegistrationId = "<your channel registration id GUID>";
Nastavení seznamu příjemců
Musíte zadat skutečné telefonní číslo, které má přidružený účet WhatsApp. Tento účet WhatsApp obdrží šablonu, text a mediální zprávy odeslané v tomto rychlém startu. Pro účely tohoto rychlého startu může být toto telefonní číslo vaše osobní telefonní číslo.
Telefonní číslo příjemce nemůže být firemní telefonní číslo (ID odesílatele) přidružené k registraci kanálu WhatsApp. ID odesílatele se zobrazí jako odesílatel textu a mediálních zpráv odeslaných příjemci.
Telefonní číslo by mělo obsahovat kód země. Další informace o formátování telefonních čísel naleznete v dokumentaci WhatsApp pro formáty telefonních čísel.
Poznámka:
V seznamu příjemců se aktuálně podporuje jenom jedno telefonní číslo.
Vytvořte seznam příjemců takto:
const recipientList = ["<to WhatsApp phone number>"];
Příklad:
// Example only
const recipientList = ["+14255550199"];
Důležité
Chcete-li odeslat zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
Odeslání textové zprávy uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso posílat textové zprávy WhatsApp při zahájení uživatelů Aplikace WhatsApp. Odeslání textových zpráv:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Text zprávy nebo text, který se má odeslat.
V tomto příkladu odpovíme uživateli WhatsApp s textem. "Thanks for your feedback.\n From Notification Messaging SDK."
Sestavte a odešlete textovou zprávu:
// 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");
}
Odeslání zprávy o médiu obrázku uživateli WhatsApp
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL média obrázku
Důležité
Od verze sady SDK 2.0.0 MediaNotificationContent
jsou image zastaralé. Doporučujeme vám použít ImageNotificationContent
k odesílání obrázků. Prozkoumejte další třídy specifické pro obsah pro jiné typy médií, jako jsou DocumentNotificationContent
, VideoNotificationContent
a AudioNotificationContent
.
Pokud chcete odeslat zprávu s obrázkem, zadejte adresu URL obrázku. Příklad:
const url = "https://example.com/image.jpg";
Sestavte a odešlete zprávu média:
// 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");
}
Odeslání zprávy videa uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL videa
Pokud chcete poslat video zprávu, zadejte adresu URL videa. Například
const url = "https://example.com/video.mp4";
Sestavte a odešlete video zprávu:
// 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");
}
Odeslání zprávy zvukového média uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL zvukového média
Pokud chcete odeslat zvukovou zprávu, zadejte adresu URL zvukového souboru. Příklad:
const url = "https://example.com/audio.mp3";
Sestavte a odešlete zvukovou zprávu:
// 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");
}
Odeslání zprávy média dokumentu uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy z médií (obrázky, videa, zvuku nebo dokumentu) uživatelům Aplikace WhatsApp. Pokud chcete odeslat vloženou zprávu multimédií, potřebujete:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Adresa URL média dokumentu
Pokud chcete odeslat zprávu dokumentu, zadejte adresu URL dokumentu. Například
const url = "https://example.com/document.pdf";
Sestavte a odešlete zprávu dokumentu:
// 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");
}
Spuštění kódu
Pomocí příkazu node spusťte kód, který jste přidali do send-messages.js
souboru.
node ./send-messages.js
Celý ukázkový kód
Najděte finalizovaný kód pro tento rychlý start na GitHubu.
Požadavky
WhatsApp Business Account zaregistrovaný ve vašem prostředku Azure Communication Services
Aktivní telefonní číslo Aplikace WhatsApp pro příjem zpráv.
Python 3.7+ pro váš operační systém
Nastavení
Vytvoření nové aplikace v Pythonu
V okně terminálu nebo konzoly vytvořte pro aplikaci novou složku a otevřete ji.
mkdir messages-quickstart && cd messages-quickstart
Nainstalujte balíček .
Použijte klientskou knihovnu Azure Communication Messages pro Python 1.1.0 nebo novější.
Z příkazového řádku konzoly spusťte následující příkaz:
pip install azure-communication-messages
Pro InteractiveMessages, Reakce a nálepky použijte následující beta verzi:
pip install azure-communication-messages==1.2.0b1
Nastavení architektury aplikace
Vytvořte volaný messages-quickstart.py
nový soubor a přidejte základní strukturu programu.
type nul > messages-quickstart.py
Základní struktura programu
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Objektový model
Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady AZURE Communication Services Messages SDK pro Python.
Název třídy | Popis |
---|---|
NotificationMessagesClient |
Připojí se k prostředku Azure Communication Services. Odesílá zprávy. |
MessageTemplate |
Definuje, kterou šablonu použijete, a obsah vlastností šablony pro vaši zprávu. |
TemplateNotificationContent |
Definuje "kdo" a "co" zprávy šablony, kterou chcete odeslat. |
TextNotificationContent |
Definuje "kdo" a "co" textové zprávy, kterou chcete odeslat. |
ImageNotificationContent |
Definuje "kdo" a "co" zprávy média obrázku, kterou chcete odeslat. |
DocumentNotificationContent |
Definuje "kdo" a "co" zprávy média dokumentu, kterou chcete odeslat. |
VideoNotificationContent |
Definuje "kdo" a "co" zprávy videa, kterou chcete odeslat. |
AudioNotificationContent |
Definuje "kdo" a "co" zprávy zvukového média, kterou chcete odeslat. |
Poznámka:
Další informace najdete v referenčních zprávách sady Azure SDK pro Python.
Běžná konfigurace
Pokud chcete do messages-quickstart.py
programu Pythonu přidat požadované fragmenty kódu, postupujte podle těchto kroků.
- Ověřte klienta.
- Nastavte ID registrace kanálu.
- Nastavte seznam příjemců.
- Začněte odesílat zprávy mezi firmou a uživatelem WhatsApp.
Ověření klienta
Odesílání zpráv se provádí pomocí NotificationMessagesClient. NotificationMessagesClient se ověřuje pomocí vašeho připojovací řetězec získaného z prostředku Azure Communication Services na webu Azure Portal. Další informace o připojovací řetězec najdete v tématu access-your-connection-strings-and-service-endpoints.
Získejte připojovací řetězec prostředku komunikace Azure z webu Azure Portal, jak je znázorněno na snímku obrazovky. Vlevo přejděte na Keys
kartu. Zkopírujte Connection string
pole pro primární klíč. Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Nastavte proměnnou COMMUNICATION_SERVICES_CONNECTION_STRING
prostředí na hodnotu připojovací řetězec.
Otevřete okno konzoly a zadejte následující příkaz:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Po přidání proměnné prostředí možná budete muset restartovat všechny spuštěné programy, které budou muset přečíst proměnnou prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Další informace o tom, jak nastavit proměnnou prostředí pro váš systém, najdete v postupu při ukládání připojovací řetězec do proměnné prostředí.
# 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)
Nastavení ID registrace kanálu
Během registrace kanálu jste vytvořili identifikátor GUID ID registrace kanálu. Najdete ho na portálu na kartě Kanály vašeho prostředku Azure Communication Services.
Přiřaďte ji k proměnné s názvem channelRegistrationId.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Nastavení seznamu příjemců
Musíte zadat aktivní telefonní číslo přidružené k účtu WhatsApp. Tento účet WhatsApp obdrží šablonu, text a mediální zprávy odeslané v tomto rychlém startu.
V tomto příkladu můžete použít svoje osobní telefonní číslo.
Telefonní číslo příjemce nemůže být firemní telefonní číslo (ID odesílatele) přidružené k registraci kanálu WhatsApp. ID odesílatele se zobrazí jako odesílatel textu a mediálních zpráv odeslaných příjemci.
Telefonní číslo musí obsahovat kód země. Další informace o formátování telefonních čísel naleznete v dokumentaci WhatsApp pro formáty telefonních čísel.
Poznámka:
V seznamu příjemců se aktuálně podporuje jenom jedno telefonní číslo.
Nastavte seznam příjemců takto:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Příklad použití:
# Example only
to=[self.phone_number],
Zahájení odesílání zpráv mezi firmou a uživatelem WhatsApp
Konverzace mezi účtem WhatsApp Business a uživatelem WhatsApp je možné zahájit jedním ze dvou způsobů:
- Firma odešle uživateli WhatsApp zprávu šablony.
- Uživatel WhatsApp odešle jakoukoli zprávu na firemní číslo.
Firma nemůže zahájit interaktivní konverzaci. Firma může odeslat interaktivní zprávu jenom po přijetí zprávy od uživatele. Firma může uživateli posílat jenom interaktivní zprávy během aktivní konverzace. Jakmile vyprší platnost 24hodinového okna konverzace, může interaktivní konverzaci restartovat jenom uživatel. Další informace o konverzacích najdete v definici aplikace WhatsApp Business Platform.
Pokud chcete zahájit interaktivní konverzaci z vašeho osobního účtu WhatsApp, pošlete zprávu na vaše firemní číslo (ID odesílatele).
Příklady kódu
Podle těchto kroků přidejte požadované fragmenty kódu do programu messages-quickstart.py Python.
- Odeslat textovou zprávu uživateli WhatsApp.
- Odeslat zprávu médií obrázků uživateli WhatsApp.
- Odeslat zprávu média dokumentu uživateli WhatsApp.
- Odešlete zvukové médium uživateli WhatsApp.
- Odeslat video media zprávu uživateli WhatsApp.
Odeslání textové zprávy uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso posílat textové zprávy WhatsApp při spuštění uživatelem WhatsApp. Odeslání textových zpráv:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Text zprávy nebo text, který se má odeslat.
Důležité
Chcete-li odeslat textovou zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
V tomto příkladu odpovíme uživateli WhatsApp s textem. "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")
Chcete-li spustit send_text_message()
, aktualizujte hlavní metodu:
#Calling send_text_message()
messages.send_text_message()
Odeslání zprávy o médiu obrázku uživateli WhatsApp
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat obrázky zpráv WhatsApp uživatelům Aplikace WhatsApp. Odeslání vložených zpráv obrázku:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- MediaUri obrázku.
Důležité
Chcete-li odeslat textovou zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
media_uri
Příklad použití při odesílání zprávy WhatsApp media.
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")
Chcete-li spustit send_text_message()
, aktualizujte hlavní metodu:
# Calling send_image_message()
messages.send_image_message()
Odeslání zprávy média dokumentu uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat zprávy WhatsApp uživatelům Aplikace WhatsApp. Odeslání vložených zpráv dokumentu:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- Identifikátor MediaUri dokumentu.
Důležité
Chcete-li odeslat zprávu dokumentu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
media_uri
Příklad použití při odesílání zprávy WhatsApp media.
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")
Chcete-li spustit send_text_message()
, aktualizujte hlavní metodu:
# Calling send_image_message()
messages.send_image_message()
Odeslání zprávy zvukového média uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso odesílat obrázky zpráv WhatsApp uživatelům Aplikace WhatsApp. Odeslání vložených zvukových zpráv:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- MediaUri zvuku.
Důležité
Chcete-li odeslat zvukovou zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
media_uri
Příklad použití při odesílání zprávy WhatsApp media.
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")
Chcete-li spustit send_text_message()
, aktualizujte hlavní metodu:
# Calling send_image_message()
messages.send_image_message()
Odeslání zprávy videa uživateli WhatsAppu
Sada SDK pro zprávy umožňuje společnosti Contoso posílat uživatelům Aplikace WhatsApp video zprávy WhatsApp. Odeslání vložených zpráv videa:
- WhatsApp Channel ID.
- Telefonní číslo příjemce ve formátu E16
- MediaUri videa.
Důležité
Chcete-li odeslat video zprávu uživateli WhatsApp, musí uživatel WhatsApp nejprve odeslat zprávu na účet WhatsApp Business. Další informace najdete v tématu Zahájení odesílání zpráv mezi firemním uživatelem a uživatelem WhatsApp.
media_uri
Příklad použití při odesílání zprávy WhatsApp media.
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")
Chcete-li spustit send_text_message()
, aktualizujte hlavní metodu:
# Calling send_image_message()
messages.send_image_message()
Spuštění kódu
Pokud chcete kód spustit, ujistěte se, že jste v adresáři, kde messages-quickstart.py
se soubor nachází.
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>>
Celý ukázkový kód
Poznámka:
Nahraďte všechny zástupné proměnné v vzorovém kódu hodnotami.
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()
Další ukázky
Na GitHubu můžete zkontrolovat a stáhnout další vzorové kódy pro sadu Python Messages SDK.
Další kroky
Tento článek popisuje pokročilé zasílání zpráv pro WhatsApp SDK. Další informace najdete v následujících článcích: