Sdílet prostřednictvím


Rychlý start: Odesílání zpráv WhatsApp pomocí rozšířených zpráv

Služba Azure Communication Services umožňuje odesílat a přijímat zprávy WhatsApp. V tomto rychlém startu začněte integrovat aplikaci se sadou Azure Communication Advanced Messages SDK a začněte odesílat a přijímat zprávy WhatsApp. Při dokončení tohoto rychlého zprovoznění vzniknou ve vašem účtu Azure náklady ve výši několika centů USD (nebo menší).

Požadavky

Nastavení

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#.

  1. Otevřete Správce balíčků NuGet na adrese Project>Manage NuGet Packages....
  2. Vyhledejte balíček Azure.Communication.Messages.
  3. Nainstalujte nejnovější verzi.

Nastavení architektury aplikace

Otevřete soubor Program.cs v textovém editoru.

Obsah 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 - Send WhatsApp Messages");

            // Quickstart code goes here
        }
    }
}

Abychom mohli používat funkce rozšířeného zasílání zpráv, přidáme direktivu usingAzure.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 Popis
NotificationMessagesClient Tato třída se připojuje k vašemu prostředku Azure Communication Services. Odesílá zprávy.
MessageTemplate Tato třída definuje, kterou šablonu použijete, a obsah vlastností šablony pro vaši zprávu.
TemplateNotificationContent Tato třída definuje "kdo" a "co" zprávy šablony, kterou chcete odeslat.
TextNotificationContent Tato třída definuje "kdo" a "co" textové zprávy, kterou chcete odeslat.
MediaNotificationContent Tato třída definuje "kdo" a "co" mediální zprávy, kterou chcete odeslat.

Příklady kódu

Podle těchto kroků přidejte potřebné fragmenty kódu do funkce Main souboru Program.cs .

Ověření klienta

Slouží NotificationMessagesClient k připojení k vašemu prostředku Azure Communication Services.

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}.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte pole řetězec Připojení ion v části Primární klíč.

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 , NotificationMessagesClientpř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

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.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte kartu Kanály Pozornost je umístěna na akci kopírování pole

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 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 Telefon Formáty čí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.

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.

(Možnost 1) Zahájení konverzace z firmy – odeslání zprávy šablony

Zahajte konverzaci odesláním zprávy šablony.

Nejprve vytvořte MessageTemplate pomocí hodnot šablony.

Poznámka:

Pokud chcete zkontrolovat, které šablony máte k dispozici, podívejte se na pokyny v šablonách seznamu. Pokud nemáte šablonu, kterou chcete použít, přejděte k možnosti 2.

Zde je vytvoření MessageTemplate pomocí výchozí šablony, sample_template.
Pokud sample_template pro vás není k dispozici, přejděte na možnost 2. Pokročilé uživatele najdete na stránce Šablony , kde se dozvíte, jak odeslat jinou šablonu s možností 1.

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat šablonované zprávy WhatsApp uživatelům Aplikace WhatsApp. K odesílání zpráv šablony jsou potřeba následující podrobnosti:

// Assemble the template content
string templateName = "sample_template";
string templateLanguage = "en_us";
var messageTemplate = new MessageTemplate(templateName, templateLanguage);

Další příklady sestavení MessageTemplate a vytvoření vlastní šablony najdete v následujícím prostředku:

Další požadavky WhatsAppu na šablony najdete v referenčních informacích k rozhraní WhatsApp Business Platform API:

Sestavte a odešlete zprávu šablony:

// Assemble template message
var templateContent = 
    new TemplateNotificationContent(channelRegistrationId, recipientList, messageTemplate);

// Send template message
Response<SendMessageResult> sendTemplateMessageResult = 
    await notificationMessagesClient.SendAsync(templateContent);

Teď musí uživatel odpovědět na zprávu šablony. Z uživatelského účtu WhatsApp odpovězte na zprávu šablony přijaté z účtu WhatsApp Business. Obsah zprávy je pro tento scénář irelevantní.

Důležité

Příjemce musí odpovědět na zprávu šablony a zahájit konverzaci před doručením textové nebo mediální zprávy příjemci.

(Možnost 2) Zahájení konverzace od uživatele

Druhou možností, jak zahájit konverzaci mezi účtem WhatsApp Business a uživatelem WhatsApp, je nechat uživatele zahájit konverzaci. Uděláte to tak, že ze svého osobního účtu WhatsApp odešlete zprávu na vaše firemní číslo (ID odesílatele).

Konverzace WhatsApp zobrazená na webu zobrazující zprávu uživatele poslanou na číslo obchodního účtu 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. K odesílání textových zpráv jsou potřeba následující podrobnosti:

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 "Děkujeme za vaši zpětnou vazbu.\n Ze sady SDK pro zasílání oznámení".

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í mediální zprávy uživateli WhatsApp

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat uživatelům Aplikace WhatsApp obrázky WhatsApp. K odesílání vložených zpráv obrázku jsou vyžadovány následující podrobnosti:

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.

Jako příklad vytvořte identifikátor URI:

var uri = new Uri("https://aka.ms/acsicon1");

Sestavte a odešlete zprávu média:

// Assemble media message
var mediaContent = 
    new MediaNotificationContent(channelRegistrationId, recipientList, uri);

// Send media message
Response<SendMessageResult> sendMediaMessageResult = 
    await notificationMessagesClient.SendAsync(mediaContent);

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, pro účely tohoto rychlého startu byste měli přidat č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.

  1. Pokud chcete kód zkompilovat, stiskněte Ctrl+F7.
  2. 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");
            MediaNotificationContent mediaContent =
                new MediaNotificationContent(channelRegistrationId, recipientList, uri);
            Response<SendMessageResult> sendMediaMessageResult =
                await notificationMessagesClient.SendAsync(mediaContent);

            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

Nastavení

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 šablony maven-archetype-quickstart.

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 obsahuje adresář src/main/java zdrojový kód projektu, adresář src/test/java obsahuje zdroj testů a soubor pom.xml je projektový objektový model (POM).

Nainstalujte balíček .

Otevřete soubor pom.xml v textovém editoru. Do skupiny závislostí přidejte následující prvek závislosti.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-messages</artifactId>
    <version>1.0.0</version>
</dependency>

Nastavení architektury aplikace

Otevřete /src/main/java/com/communication/quickstart/App.java v textovém editoru, přidejte direktivy importu System.out.println("Hello world!"); a odeberte 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.
    }
}

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 Javu.

Název Popis
NotificationMessagesClientBuilder Tato třída vytvoří klienta oznámení zpráv. Zadáte ho s koncovým bodem a přihlašovacími údaji.
NotificationMessagesClient Tato třída je nutná k odesílání zpráv WhatsApp a stahování mediálních souborů.
NotificationMessagesAsyncClient Tato třída je potřeba k asynchronnímu odesílání zpráv WhatsApp a stahování mediálních souborů.
SendMessageResult Tato třída obsahuje výsledek ze služby Zasílání zpráv o zasílání zpráv pro odesílání oznámení.
MessageTemplateClientBuilder Tato třída vytvoří klienta šablony zprávy. Zadáte ho s koncovým bodem a přihlašovacími údaji.
MessageTemplateClient Tato třída je potřebná k získání seznamu šablon WhatsApp.
MessageTemplateAsyncClient Tato třída je nutná k asynchronnímu získání seznamu šablon WhatsApp.

Příklady kódu

Podle těchto kroků přidejte potřebné fragmenty kódu do hlavní funkce souboru App.java .

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 keypole . Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte pole řetězec Připojení ion v části Primární klíč.

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.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte kartu Kanály Pozornost je umístěna na akci kopírování pole

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 Telefon Formáty čí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");

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.

(Možnost 1) Zahájení konverzace z firmy – odeslání zprávy šablony

Zahajte konverzaci odesláním zprávy šablony.

Nejprve vytvořte MessageTemplate pomocí hodnot šablony.

Poznámka:

Pokud chcete zkontrolovat, které šablony máte k dispozici, podívejte se na pokyny v šablonách seznamu. Pokud nemáte šablonu, kterou chcete použít, přejděte k možnosti 2.

Zde je vytvoření MessageTemplate pomocí výchozí šablony, sample_template.
Pokud sample_template pro vás není k dispozici, přejděte na možnost 2. Pokročilé uživatele najdete na stránce Šablony , kde se dozvíte, jak odeslat jinou šablonu s možností 1.

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat šablonované zprávy WhatsApp uživatelům Aplikace WhatsApp. K odesílání zpráv šablony jsou potřeba následující podrobnosti:

// Assemble the template content
String templateName = "sample_template";
String templateLanguage = "en_us";
MessageTemplate messageTemplate = new MessageTemplate(templateName, templateLanguage);

// Assemble template message
TemplateNotificationContent templateContent = new TemplateNotificationContent(channelRegistrationId, recipientList, messageTemplate);

// Send template message
SendMessageResult templateMessageResult = notificationClient.send(templateContent);

// Process result
for (MessageReceipt messageReceipt : templateMessageResult.getReceipts()) {
    System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}

Teď musí uživatel odpovědět na zprávu šablony. Z uživatelského účtu WhatsApp odpovězte na zprávu šablony přijaté z účtu WhatsApp Business. Obsah zprávy je pro tento scénář irelevantní.

Důležité

Příjemce musí odpovědět na zprávu šablony a zahájit konverzaci před doručením textové nebo mediální zprávy příjemci.

(Možnost 2) Zahájení konverzace od uživatele

Druhou možností, jak zahájit konverzaci mezi účtem WhatsApp Business a uživatelem WhatsApp, je nechat uživatele zahájit konverzaci. Uděláte to tak, že ze svého osobního účtu WhatsApp odešlete zprávu na vaše firemní číslo (ID odesílatele).

Konverzace WhatsApp zobrazená na webu zobrazující zprávu uživatele poslanou na číslo obchodního účtu 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. K odesílání textových zpráv jsou potřeba následující podrobnosti:

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 "Děkujeme za vaši zpětnou vazbu.\n Ze sady SDK pro zasílání oznámení".

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í mediální zprávy uživateli WhatsApp

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat uživatelům Aplikace WhatsApp obrázky WhatsApp. K odesílání vložených zpráv obrázku jsou vyžadovány následující podrobnosti:

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.

Jako příklad vytvořte identifikátor URI:

String mediaUrl = "https://aka.ms/acsicon1";

Sestavte a odešlete zprávu média:

// Assemble media message
MediaNotificationContent mediaContent = new MediaNotificationContent(channelRegistrationId, recipientList, mediaUrl);

// Send media message
SendMessageResult mediaMessageResult = notificationClient.send(mediaContent);

// Process result
for (MessageReceipt messageReceipt : mediaMessageResult.getReceipts()) {
    System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}

Spuštění kódu

  1. Přejděte do adresáře, který obsahuje soubor pom.xml , a pomocí příkazu zkompilujte projekt mvn .

    mvn compile
    
  2. 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

Nastavení

Pokud chcete nastavit prostředí pro odesílání zpráv, proveďte kroky v následujících částech.

Vytvoření nové aplikace Node.js

  1. Vytvořte pro aplikaci nový adresář a přejděte na něj tak, že otevřete terminál nebo příkazové okno a pak spusťte následující příkaz.

    mkdir advance-messages-quickstart && cd advance-messages-quickstart
    
  2. Spuštěním následujícího příkazu vytvořte soubor package.json s výchozím nastavením.

    npm init -y
    
  3. Pomocí textového editoru vytvořte soubor s názvem send-messages.js v kořenovém adresáři projektu.

  4. 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ích částech jste do souboru send-messages.js, který jste vytvořili, přidali veškerý zdrojový kód pro tento rychlý start.

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 .

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 JavaScript.

Název Popis
MessageClient Tato třída se připojuje k vašemu prostředku Azure Communication Services. Odesílá zprávy.
MessageTemplate Tato třída definuje, kterou šablonu použijete, a obsah vlastností šablony pro vaši zprávu.

Příklady kódu

Podle těchto kroků přidejte potřebné fragmenty kódu do hlavní funkce souboru send-messages.js .

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 keypole . Připojovací řetězec je ve formátu endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte pole řetězec Připojení ion v části Primární klíč.

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 MessageClient, přidejte do Main metody následující kód:

const MessageClient = require("@azure-rest/communication-messages").default;

// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];

// Instantiate the client
const client = MessageClient(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.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte kartu Kanály Pozornost je umístěna na akci kopírování pole

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 Telefon Formáty čí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"];

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.

(Možnost 1) Zahájení konverzace z firmy – odeslání zprávy šablony

Zahajte konverzaci odesláním zprávy šablony.

Nejprve vytvořte MessageTemplate pomocí hodnot šablony.

Poznámka:

Pokud chcete zkontrolovat, které šablony máte k dispozici, podívejte se na pokyny v šablonách seznamu. Pokud nemáte šablonu, kterou chcete použít, přejděte k možnosti 2.

Zde je vytvoření MessageTemplate pomocí výchozí šablony, sample_template.
Pokud sample_template pro vás není k dispozici, přejděte na možnost 2. Pokročilé uživatele najdete na stránce Šablony , kde se dozvíte, jak odeslat jinou šablonu s možností 1.

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat šablonované zprávy WhatsApp uživatelům Aplikace WhatsApp. K odesílání zpráv šablony jsou potřeba následující podrobnosti:

// Assemble the template content
const template = {
    name: "sample_template",
    language: "en_US"
};

Další příklady sestavení MessageTemplate a vytvoření vlastní šablony najdete v následujícím prostředku:

Další požadavky WhatsAppu na šablony najdete v referenčních informacích k rozhraní WhatsApp Business Platform API:

// Send template message
const templateMessageResult = await client.path("/messages/notifications:send").post({
    contentType: "application/json",
    body: {
        channelRegistrationId: channelRegistrationId,
        to: recipientList,
        kind: "template",
        template: template
    }
});

// Process result
if (templateMessageResult.status === "202") {
    templateMessageResult.body.receipts.forEach((receipt) => {
        console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
    });
} else {
    throw new Error("Failed to send message");
}

Teď musí uživatel odpovědět na zprávu šablony. Z uživatelského účtu WhatsApp odpovězte na zprávu šablony přijaté z účtu WhatsApp Business. Obsah zprávy je pro tento scénář irelevantní.

Důležité

Příjemce musí odpovědět na zprávu šablony a zahájit konverzaci před doručením textové nebo mediální zprávy příjemci.

(Možnost 2) Zahájení konverzace od uživatele

Druhou možností, jak zahájit konverzaci mezi účtem WhatsApp Business a uživatelem WhatsApp, je nechat uživatele zahájit konverzaci. Uděláte to tak, že ze svého osobního účtu WhatsApp odešlete zprávu na vaše firemní číslo (ID odesílatele).

Konverzace WhatsApp zobrazená na webu zobrazující zprávu uživatele poslanou na číslo obchodního účtu 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. K odesílání textových zpráv jsou potřeba následující podrobnosti:

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 "Děkujeme za vaši zpětnou vazbu.\n Ze sady SDK pro zasílání oznámení".

Sestavte a odešlete zprávu média:

// 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í mediální zprávy uživateli WhatsApp

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat uživatelům Aplikace WhatsApp obrázky WhatsApp. K odesílání vložených zpráv obrázku jsou vyžadovány následující podrobnosti:

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.

Pokud chcete odeslat mediální zprávu, zadejte adresu URL obrázku. Například

const url = "https://aka.ms/acsicon1";

Sestavte a odešlete zprávu média:

// Send media 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");
}

Spuštění kódu

Pomocí příkazu node spusťte kód, který jste přidali do souboru send-messages.js.

node ./send-messages.js

Celý ukázkový kód

Ukázkovou aplikaci si můžete stáhnout z GitHubu.

Požadavky

Nastavení

Vytvoření nové aplikace v Pythonu

V okně terminálu nebo konzoly vytvořte pro aplikaci novou složku a přejděte na ni.

mkdir messages-quickstart && cd messages-quickstart

Nainstalujte balíček .

Musíte použít klientskou knihovnu Azure Communication Messages pro Python verze 1.0.0 nebo vyšší.

Z příkazového řádku konzoly spusťte následující příkaz:

pip install azure-communication-messages

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 Popis
NotificationMessagesClient Tato třída se připojuje k vašemu prostředku Azure Communication Services. Odesílá zprávy.
MessageTemplate Tato třída definuje, kterou šablonu použijete, a obsah vlastností šablony pro vaši zprávu.
TemplateNotificationContent Tato třída definuje "kdo" a "co" zprávy šablony, kterou chcete odeslat.
TextNotificationContent Tato třída definuje "kdo" a "co" textové zprávy, kterou chcete odeslat.
ImageNotificationContent Tato třída definuje "kdo" a "co" zprávy média obrázku, kterou chcete odeslat.

Příklady kódu

Podle těchto kroků přidejte potřebné fragmenty kódu do programu messages-quickstart.py Pythonu.

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}.

Snímek obrazovky znázorňující prostředek služby Azure Communication Services na webu Azure Portal, který zobrazuje pole Primární klíč v části Klíče

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

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.

Snímek obrazovky znázorňující prostředek Azure Communication Services na webu Azure Portal zobrazte kartu Kanály Pozornost je umístěna na akci kopírování pole

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 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 Telefon Formáty čí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.

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.

(Možnost 1) Zahájení konverzace z firmy – odeslání zprávy šablony

Zahajte konverzaci odesláním zprávy šablony.

Nejprve vytvořte MessageTemplate pomocí hodnot šablony.

Poznámka:

Pokud chcete zkontrolovat, které šablony máte k dispozici, podívejte se na pokyny v šablonách seznamu. Pokud nemáte šablonu, kterou chcete použít, přejděte k možnosti 2.

Zde je vytvoření MessageTemplate pomocí výchozí šablony, sample_template.
Pokud sample_template pro vás není k dispozici, přejděte na možnost 2. Pokročilé uživatele najdete na stránce Šablony , kde se dozvíte, jak odeslat jinou šablonu s možností 1.

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat šablonované zprávy WhatsApp uživatelům Aplikace WhatsApp. K odesílání zpráv šablony jsou potřeba následující podrobnosti:

Další příklady sestavení MessageTemplate a vytvoření vlastní šablony najdete v následujícím prostředku:

Další požadavky WhatsAppu na šablony najdete v referenčních informacích k rozhraní WhatsApp Business Platform API:

Pokud chcete odeslat zprávu šablony WhatsApp, přidejte do funkce send_template_message(self) následující kód.

        input_template: MessageTemplate = MessageTemplate(
            name="<<template_name>>",
            language="<<template_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")

Přidejte volání send_template_message() do hlavní metody.

    # Calling send_template_message()
    messages.send_template_message()

Teď musí uživatel odpovědět na zprávu šablony. Z uživatelského účtu WhatsApp odpovězte na zprávu šablony přijaté z účtu WhatsApp Business. Obsah zprávy je pro tento scénář irelevantní.

Důležité

Příjemce musí odpovědět na zprávu šablony a zahájit konverzaci před doručením textové nebo mediální zprávy příjemci.

(Možnost 2) Zahájení konverzace od uživatele

Druhou možností, jak zahájit konverzaci mezi účtem WhatsApp Business a uživatelem WhatsApp, je nechat uživatele zahájit konverzaci. Uděláte to tak, že ze svého osobního účtu WhatsApp odešlete zprávu na vaše firemní číslo (ID odesílatele).

Konverzace WhatsApp zobrazená na webu zobrazující zprávu uživatele poslanou na číslo obchodního účtu 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. K odesílání textových zpráv jsou potřeba následující podrobnosti:

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 "Děkujeme za vaši zpětnou vazbu.\n Ze sady SDK pro zasílání oznámení".

    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")

Aktualizace hlavní metody pro spuštění send_text_message()

    #Calling send_text_message()
    messages.send_text_message()

Odeslání mediální zprávy uživateli WhatsApp

Sada SDK pro zprávy umožňuje společnosti Contoso odesílat uživatelům Aplikace WhatsApp obrázky WhatsApp. K odesílání vložených zpráv obrázku jsou vyžadovány následující podrobnosti:

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.

Příklad media_uri použité při odesílání zpráv 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")

Aktualizace hlavní metody pro spuštění send_image_message()

    # 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 je váš messages-quickstart.py soubor.

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

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")

if __name__ == '__main__':
    messages = MessagesQuickstart()
    messages.send_template_message()
    messages.send_text_message()
    messages.send_image_message()

Další ukázky

Na GitHubu můžete zkontrolovat a stáhnout další vzorové kódy pro sadu Python Messages SDK.

Další kroky

V tomto rychlém startu jste vyzkoušeli sadu Advanced Messaging for WhatsApp SDK. Dále můžete chtít také zobrazit následující články: