Megosztás a következőn keresztül:


Rövid útmutató: WhatsApp-üzenetek küldése speciális üzenetek használatával

Az Azure Communication Services lehetővé teszi WhatsApp-üzenetek küldését és fogadását. Ebben a rövid útmutatóban kezdje el integrálni az alkalmazást az Azure Communication Advanced Messages SDK-val, és kezdje el a WhatsApp-üzenetek küldését/fogadását. A rövid útmutató elvégzése néhány cent (USD) vagy még kevesebb költséggel jár az Azure-fiókját illetően.

Előfeltételek

Beállítás

A .NET-projekt létrehozása

A projekt létrehozásához kövesse a .NET-konzolalkalmazás létrehozása a Visual Studióval című oktatóanyagot.

A kód fordításához nyomja le a Ctrl F7 billentyűkombinációt+.

Telepítse a(z) csomagot

Telepítse az Azure.Communication.Messages NuGet-csomagot a C# projektbe.

  1. Nyissa meg a NuGet-Csomagkezelő a következő helyenProject>Manage NuGet Packages...: .
  2. Keresse meg a csomagot Azure.Communication.Messages.
  3. Telepítse a legújabb kiadást.

Az alkalmazás-keretrendszer beállítása

Nyissa meg a Program.cs fájlt egy szövegszerkesztőben.

Cserélje le a Program.cs tartalmát a következő kódra:

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

A speciális üzenetkezelési funkciók használatához egy using irányelvvel bővítjük a Azure.Communication.Messages névteret.

using Azure.Communication.Messages;

Objektummodell

Az alábbi osztályok és felületek kezelik az Azure Communication Services Advance Messaging SDK for .NET főbb funkcióit.

Név Leírás
NotificationMessagesClient Ez az osztály csatlakozik az Azure Communication Services-erőforráshoz. Elküldi az üzeneteket.
MessageTemplate Ez az osztály határozza meg a használt sablont és az üzenet sablontulajdonságainak tartalmát.
TemplateNotificationContent Ez az osztály határozza meg a küldeni kívánt sablonüzenet "ki" és "what" szövegét.
TextNotificationContent Ez az osztály határozza meg a küldeni kívánt szöveges üzenet "ki" és "what" szövegét.
MediaNotificationContent Ez az osztály határozza meg a küldeni kívánt médiaüzenet "ki" és "mit" szövegét.

Kódpéldák

Az alábbi lépéseket követve adja hozzá a szükséges kódrészleteket a Program.cs fájl fő függvényéhez.

Az ügyfél hitelesítése

Ez NotificationMessagesClient az Azure Communication Services-erőforráshoz való csatlakozásra szolgál.

Az egyszerűség kedvéért ez a rövid útmutató egy kapcsolati sztring használ a hitelesítéshez. Éles környezetben a szolgáltatásnevek használatát javasoljuk.

Kérje le a kapcsolati sztring az Azure Communication Services-erőforrásból az Azure Portalon. A bal oldalon lépjen a Keys lapra. Másolja ki az Connection string elsődleges kulcs mezőjét. A kapcsolati sztring formátuma endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, az Elsődleges kulcs szakaszban található

Állítsa a környezeti változót COMMUNICATION_SERVICES_CONNECTION_STRING a kapcsolati sztring értékére.
Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

A környezeti változó hozzáadása után előfordulhat, hogy újra kell indítania a futó programokat, amelyeknek be kell olvasniuk a környezeti változót, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Ha többet szeretne tudni arról, hogyan állíthat be környezeti változót a rendszeréhez, kövesse a kapcsolati sztring tárolása környezeti változóban című témakör lépéseit.

A példányosításhoz NotificationMessagesClientadja hozzá a következő kódot a Main metódushoz:

// Retrieve connection string from environment variable
string connectionString = 
    Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);

Csatornaregisztrációs azonosító beállítása

A csatornaregisztráció során létrejött a csatornaregisztrációs azonosító GUID azonosítója. Ezt az Azure Communication Services-erőforrás Csatornák lapján, a portálon tekintheti meg.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, a Csatornák lap megtekintésével. A program a

Rendelje hozzá egy channelRegistrationId nevű változóhoz.

var channelRegistrationId = new Guid("<your channel registration ID GUID>");

Címzettlista beállítása

Meg kell adnia egy valós telefonszámot, amelyhez whatsApp-fiók van társítva. Ez a WhatsApp-fiók megkapja az ebben a rövid útmutatóban elküldött sablont, szöveget és médiaüzeneteket. Ebben a rövid útmutatóban ez a telefonszám lehet a személyes telefonszáma.

A címzett telefonszáma nem lehet a WhatsApp-csatornaregisztrációhoz társított üzleti telefonszám (feladó azonosítója). A feladó azonosítója a címzettnek küldött szöveges és médiaüzenetek feladójaként jelenik meg.

A telefonszámnak tartalmaznia kell az országkódot. A telefonszámok formázásáról további információt a Telefonszámformátumok WhatsApp dokumentációjában talál.

Feljegyzés

Jelenleg csak egy telefonszám támogatott a címzettek listájában.

Hozza létre a következőhöz hasonló címzettlistát:

var recipientList = new List<string> { "<to WhatsApp phone number>" };

Példa:

// Example only
var recipientList = new List<string> { "+14255550199" };

Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetések kétféleképpen kezdeményezhetők:

  • A vállalat sablonüzenetet küld a WhatsApp-felhasználónak.
  • A WhatsApp-felhasználó bármilyen üzenetet küld az üzleti számnak.

A beszélgetés indításától függetlenül a vállalat csak addig küldhet sablonüzeneteket, amíg a felhasználó nem küld üzenetet a vállalkozásnak. A vállalat csak akkor küldhet szöveges vagy médiaüzeneteket a felhasználónak az aktív beszélgetés során, ha a felhasználó üzenetet küld a vállalatnak. A 24 órás beszélgetési időszak lejárta után a beszélgetést újra kell újraindulnia. A beszélgetésekkel kapcsolatos további információkért tekintse meg a WhatsApp Business Platform definícióját.

(1. lehetőség) Beszélgetés kezdeményezése a vállalattól – Sablonüzenet küldése

Beszélgetés kezdeményezése sablonüzenet küldésével.

Először hozzon létre egy MessageTemplate-ot egy sablon értékeinek használatával.

Feljegyzés

A rendelkezésre álló sablonok ellenőrzéséhez tekintse meg a Listasablonok című témakör utasításait. Ha nem rendelkezik sablonnal, folytassa a 2. lehetőséggel.

A MessageTemplate létrehozása alapértelmezett sablon használatával. sample_template
Ha sample_template nem érhető el, ugorjon a 2. lehetőségre. A speciális felhasználók számára a lapsablonok című témakörben megtudhatja , hogyan küldhet másik sablont az 1. lehetőséggel.

Az Üzenetek SDK lehetővé teszi, hogy a Contoso sablonalapú WhatsApp-üzeneteket küldjön a WhatsApp-felhasználóknak. Sablonüzenet küldéséhez a következőkre van szüksége:

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

A MessageTemplate összeállítására és saját sablon létrehozására vonatkozó további példákért tekintse meg a következő erőforrást:

A sablonokra vonatkozó További WhatsApp-követelményekért tekintse meg a WhatsApp Business Platform API-referenciáit:

Szerelje össze, majd küldje el a sablonüzenetet:

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

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

A felhasználónak most válaszolnia kell a sablonüzenetre. A WhatsApp felhasználói fiókjából válaszoljon a WhatsApp Business-fióktól kapott sablonüzenetre. Az üzenet tartalma ebben a forgatókönyvben irreleváns.

Fontos

A címzettnek válaszolnia kell a sablonüzenetre, hogy kezdeményezhesse a beszélgetést, mielőtt szöveges vagy médiaüzenetet küldhet a címzettnek.

(2. lehetőség) Beszélgetés kezdeményezése a felhasználótól

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetés másik lehetősége, ha a felhasználó kezdeményezi a beszélgetést. Ehhez a személyes WhatsApp-fiókjából küldjön egy üzenetet az üzleti számára (feladóazonosító).

A Weben megtekintett WhatsApp-beszélgetés a WhatsApp üzleti fiókszámára küldött felhasználói üzenetet jeleníti meg.

Szöveges üzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso WhatsApp szöveges üzeneteket küldjön, amelyek kezdeményezték a WhatsApp-felhasználókat. Szöveges üzenet küldéséhez a következőkre van szüksége:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Ebben a példában a WhatsApp-felhasználónak a következő szöveggel válaszolunk: "Köszönjük a visszajelzést.\n A Notification Messaging SDK-tól".

Szerelje össze, majd küldje el a következő szöveges üzenetet:

// 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);

Médiaüzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi a Contoso számára, hogy WhatsApp-médiaüzeneteket küldjön a WhatsApp felhasználóinak. Beágyazott médiaüzenet küldéséhez a következőkre van szüksége:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Példaként hozzon létre egy URI-t:

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

Szerelje össze, majd küldje el a médiaüzenetet:

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

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

A kód futtatása

Hozza létre és futtassa a programot.

Ha szöveges vagy médiaüzenetet szeretne küldeni egy WhatsApp-felhasználónak, aktív beszélgetésnek kell lennie a WhatsApp Business-fiók és a WhatsApp-felhasználó között.
Ha nincs aktív beszélgetése, a rövid útmutató alkalmazásában várjon a sablonüzenet elküldése és a szöveges üzenet küldése között. Ez a hozzáadott késés elegendő időt biztosít a felhasználó WhatsApp-fiókjában lévő vállalkozásnak való válaszadásra. Referenciaként a mintakód teljes példája manuális felhasználói bevitelt kér a következő üzenet elküldése előtt.

Ha sikeres, három üzenetet kap a felhasználó WhatsApp-fiókjában.

  1. A kód fordításához nyomja le a Ctrl F7 billentyűkombinációt+.
  2. Ha hibakeresés nélkül szeretné futtatni a programot, nyomja le a Ctrl F5 billentyűkombinációt.+

Teljes mintakó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");
        }
    }
}

Előfeltételek

Beállítás

Az üzenetek küldésére szolgáló környezet beállításához kövesse az alábbi szakaszok lépéseit.

Új Java-alkalmazás létrehozása

Nyissa meg a terminált vagy a parancsablakot, és lépjen arra a könyvtárra, ahol létre szeretné hozni a Java-alkalmazást. Futtassa a következő parancsot a Java-projekt létrehozásához a maven-archetype-quickstart sablonból.

mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"

A generate cél létrehoz egy olyan könyvtárat, amelynek neve megegyezik az artifactId értékkel. Ebben a könyvtárban az src/main/java könyvtár tartalmazza a projekt forráskódját, az src/test/java könyvtár a tesztforrást, a pom.xml fájl pedig a projekt projektobjektum-modelljét (POM).

Telepítse a(z) csomagot

Nyissa meg a pom.xml fájlt a szövegszerkesztőben. Adja hozzá a következő függőségi elemet a függőségek csoportjához.

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

Az alkalmazás-keretrendszer beállítása

Nyissa meg a /src/main/java/com/communication/quickstart/App.java szövegszerkesztőben, adjon hozzá importálási irányelveket, és távolítsa el az utasítást System.out.println("Hello world!"); :

package com.communication.quickstart;

import com.azure.communication.messages.*;
import com.azure.communication.messages.models.*;

import java.util.ArrayList;
import java.util.List;
public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

Objektummodell

Az alábbi osztályok és felületek kezelik az Azure Communication Services Advance Messaging SDK for Java főbb funkcióit.

Név Leírás
NotificationMessagesClientBuilder Ez az osztály létrehozza az Értesítési üzenetek ügyfelet. Adjon meg egy végpontot és egy hitelesítő adatot.
NotificationMessagesClient Ez az osztály a WhatsApp-üzenetek küldéséhez és médiafájlok letöltéséhez szükséges.
NotificationMessagesAsyncClient Ez az osztály a WhatsApp-üzenetek küldéséhez és a médiafájlok aszinkron letöltéséhez szükséges.
SendMessageResult Ez az osztály az értesítési üzenetek küldéséhez használt Advance Messaging szolgáltatás eredményét tartalmazza.
MessageTemplateClientBuilder Ez az osztály létrehozza az üzenetsablon-ügyfelet. Adjon meg egy végpontot és egy hitelesítő adatot.
MessageTemplateClient Ez az osztály a WhatsApp-sablonok listájának lekéréséhez szükséges.
MessageTemplateAsyncClient Ez az osztály szükséges a WhatsApp-sablonok aszinkron listájának lekéréséhez.

Kódpéldák

Az alábbi lépéseket követve adja hozzá a szükséges kódrészleteket a App.java fájl fő függvényéhez.

Az ügyfél hitelesítése

Az üzenetügyfél hitelesítéséhez többféle lehetőség is rendelkezésre áll:

Az ügyfél hitelesítéséhez példányt kell létrehoznia NotificationMessagesClient MessageTemplateClient vagy a kapcsolati sztring. Az ügyfelet inicializálhatja bármely egyéni HTTP-ügyféllel is, amely implementálja a com.azure.core.http.HttpClient felületet.

Az egyszerűség kedvéért ez a rövid útmutató egy kapcsolati sztring használ a hitelesítéshez. Éles környezetben a szolgáltatásnevek használatát javasoljuk.

Kérje le a kapcsolati sztring az Azure Communication Services-erőforrásból az Azure Portalon. A bal oldalon lépjen a Keys lapra. Másolja ki a Connection string mező értékét.Primary key A kapcsolati sztring formátuma endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, az Elsődleges kulcs szakaszban található

Állítsa a környezeti változót COMMUNICATION_SERVICES_CONNECTION_STRING a kapcsolati sztring értékére.
Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Ha többet szeretne tudni arról, hogyan állíthat be környezeti változót a rendszeréhez, kövesse a kapcsolati sztring tárolása környezeti változóban című témakör lépéseit.

NotificationMessagesClient példányosításához adja hozzá a következő kódot a main metódushoz:

// 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();

Csatornaregisztrációs azonosító beállítása

A csatornaregisztráció során létrejött a csatornaregisztrációs azonosító GUID azonosítója. Ezt az Azure Communication Services-erőforrás Csatornák lapján, a portálon tekintheti meg.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, a Csatornák lap megtekintésével. A program a

Rendelje hozzá egy channelRegistrationId nevű változóhoz.

String channelRegistrationId = "<your channel registration id GUID>";

Címzettlista beállítása

Meg kell adnia egy valós telefonszámot, amelyhez whatsApp-fiók van társítva. Ez a WhatsApp-fiók megkapja az ebben a rövid útmutatóban küldött szöveges és médiaüzeneteket. Ebben a rövid útmutatóban ez a telefonszám lehet a személyes telefonszáma.

A címzett telefonszáma nem lehet a WhatsApp-csatornaregisztrációhoz társított üzleti telefonszám (feladó azonosítója). A feladó azonosítója a címzettnek küldött szöveges és médiaüzenetek feladójaként jelenik meg.

A telefonszámnak tartalmaznia kell az országkódot. A telefonszámok formázásáról további információt a Telefonszámformátumok WhatsApp dokumentációjában talál.

Feljegyzés

Jelenleg csak egy telefonszám támogatott a címzettek listájában.

Hozza létre a következőhöz hasonló címzettlistát:

List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");

Példa:

// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");

Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetések kétféleképpen kezdeményezhetők:

  • A vállalat sablonüzenetet küld a WhatsApp-felhasználónak.
  • A WhatsApp-felhasználó bármilyen üzenetet küld az üzleti számnak.

A beszélgetés indításától függetlenül a vállalat csak addig küldhet sablonüzeneteket, amíg a felhasználó nem küld üzenetet a vállalkozásnak. A vállalat csak akkor küldhet szöveges vagy médiaüzeneteket a felhasználónak az aktív beszélgetés során, ha a felhasználó üzenetet küld a vállalatnak. A 24 órás beszélgetési időszak lejárta után a beszélgetést újra kell újraindulnia. A beszélgetésekkel kapcsolatos további információkért tekintse meg a WhatsApp Business Platform definícióját.

(1. lehetőség) Beszélgetés kezdeményezése a vállalattól – Sablonüzenet küldése

Beszélgetés kezdeményezése sablonüzenet küldésével.

Először hozzon létre egy MessageTemplate-ot egy sablon értékeinek használatával.

Feljegyzés

A rendelkezésre álló sablonok ellenőrzéséhez tekintse meg a Listasablonok című témakör utasításait. Ha nem rendelkezik sablonnal, folytassa a 2. lehetőséggel.

A MessageTemplate létrehozása alapértelmezett sablon használatával. sample_template
Ha sample_template nem érhető el, ugorjon a 2. lehetőségre. A speciális felhasználók számára a lapsablonok című témakörben megtudhatja , hogyan küldhet másik sablont az 1. lehetőséggel.

Az Üzenetek SDK lehetővé teszi, hogy a Contoso sablonalapú WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. A sablonüzenetek elküldéséhez az alábbi részletek szükségesek:

// 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());
}

A felhasználónak most válaszolnia kell a sablonüzenetre. A WhatsApp felhasználói fiókjából válaszoljon a WhatsApp Business-fióktól kapott sablonüzenetre. Az üzenet tartalma ebben a forgatókönyvben irreleváns.

Fontos

A címzettnek válaszolnia kell a sablonüzenetre, hogy kezdeményezhesse a beszélgetést, mielőtt szöveges vagy médiaüzenetet küldhet a címzettnek.

(2. lehetőség) Beszélgetés kezdeményezése a felhasználótól

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetés másik lehetősége, ha a felhasználó kezdeményezi a beszélgetést. Ehhez a személyes WhatsApp-fiókjából küldjön egy üzenetet az üzleti számára (feladóazonosító).

A Weben megtekintett WhatsApp-beszélgetés a WhatsApp üzleti fiókszámára küldött felhasználói üzenetet jeleníti meg.

Szöveges üzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso szöveges WhatsApp-üzeneteket küldjön, amelyek kezdeményezték a WhatsApp-felhasználókat. A szöveges üzenetek küldéséhez az alábbi részletekre van szükség:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Ebben a példában a WhatsApp-felhasználónak a következő szöveggel válaszolunk: "Köszönjük a visszajelzést.\n A Notification Messaging SDK-tól".

Szerelje össze, majd küldje el a következő szöveges üzenetet:

// 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());
}

Médiaüzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso image WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. Képbe ágyazott üzenetek küldéséhez az alábbi részletek szükségesek:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Példaként hozzon létre egy URI-t:

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

Szerelje össze, majd küldje el a médiaüzenetet:

// 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());
}

A kód futtatása

  1. Lépjen a pom.xml fájlt tartalmazó könyvtárra, és fordítsa le a projektet a mvn parancs használatával.

    mvn compile
    
  2. Futtassa az alkalmazást a következő mvn parancs végrehajtásával.

    mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
    

Teljes mintakód

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Előfeltételek

Beállítás

Az üzenetek küldésére szolgáló környezet beállításához kövesse az alábbi szakaszok lépéseit.

Új Node.js-alkalmazás létrehozása

  1. Hozzon létre egy új könyvtárat az alkalmazáshoz, és nyissa meg a terminált vagy a parancsablakot, majd futtassa a következő parancsot.

    mkdir advance-messages-quickstart && cd advance-messages-quickstart
    
  2. Futtassa a következő parancsot egy alapértelmezett beállításokkal rendelkező package.json fájl létrehozásához.

    npm init -y
    
  3. Szövegszerkesztővel hozzon létre egy send-messages.js nevű fájlt a projekt gyökérkönyvtárában.

  4. Adja hozzá a következő kódrészletet a fájlhoz send-messages.js.

    async function main() {
        // Quickstart code goes here.
    }
    
    main().catch((error) => {
        console.error("Encountered an error while sending message: ", error);
        process.exit(1);
    });
    

A következő szakaszokban a rövid útmutató összes forráskódját hozzáadta a létrehozott send-messages.js fájlhoz.

Telepítse a(z) csomagot

npm install A parancs használatával telepítse az Azure Communication Services Advance Messaging SDK for JavaScriptet.

npm install @azure-rest/communication-messages --save

A --save beállítás függőségként sorolja fel a tárat a package.json fájlban.

Objektummodell

Az alábbi osztályok és felületek kezelik a JavaScripthez készült Azure Communication Services Advance Messaging SDK főbb funkcióit.

Név Leírás
MessageClient Ez az osztály csatlakozik az Azure Communication Services-erőforráshoz. Elküldi az üzeneteket.
MessageTemplate Ez az osztály határozza meg a használt sablont és az üzenet sablontulajdonságainak tartalmát.

Kódpéldák

Az alábbi lépéseket követve adja hozzá a szükséges kódrészleteket a send-messages.js fájl fő függvényéhez.

Az ügyfél hitelesítése

Az alábbi kód lekéri az erőforrás kapcsolati sztring egy, a dotenv-csomag használatával elnevezett COMMUNICATION_SERVICES_CONNECTION_STRING környezeti változóból.

Az egyszerűség kedvéért ez a rövid útmutató egy kapcsolati sztring használ a hitelesítéshez. Éles környezetben a szolgáltatásnevek használatát javasoljuk.

Kérje le a kapcsolati sztring az Azure Communication Services-erőforrásból az Azure Portalon. A bal oldalon lépjen a Keys lapra. Másolja ki a Connection string mező értékét.Primary key A kapcsolati sztring formátuma endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, az Elsődleges kulcs szakaszban található

Állítsa a környezeti változót COMMUNICATION_SERVICES_CONNECTION_STRING a kapcsolati sztring értékére.
Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Ha többet szeretne tudni arról, hogyan állíthat be környezeti változót a rendszeréhez, kövesse a kapcsolati sztring tárolása környezeti változóban című témakör lépéseit.

A MessageClient példányosításához adja hozzá a következő kódot a Main metódushoz:

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

Csatornaregisztrációs azonosító beállítása

A csatornaregisztráció során létrejött a csatornaregisztrációs azonosító GUID azonosítója. Ezt az Azure Communication Services-erőforrás Csatornák lapján, a portálon tekintheti meg.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, a Csatornák lap megtekintésével. A program a

Rendelje hozzá egy channelRegistrationId nevű változóhoz.

const channelRegistrationId = "<your channel registration id GUID>";

Címzettlista beállítása

Meg kell adnia egy valós telefonszámot, amelyhez whatsApp-fiók van társítva. Ez a WhatsApp-fiók megkapja az ebben a rövid útmutatóban elküldött sablont, szöveget és médiaüzeneteket. Ebben a rövid útmutatóban ez a telefonszám lehet a személyes telefonszáma.

A címzett telefonszáma nem lehet a WhatsApp-csatornaregisztrációhoz társított üzleti telefonszám (feladó azonosítója). A feladó azonosítója a címzettnek küldött szöveges és médiaüzenetek feladójaként jelenik meg.

A telefonszámnak tartalmaznia kell az országkódot. A telefonszámok formázásáról további információt a Telefonszámformátumok WhatsApp dokumentációjában talál.

Feljegyzés

Jelenleg csak egy telefonszám támogatott a címzettek listájában.

Hozza létre a következőhöz hasonló címzettlistát:

const recipientList = ["<to WhatsApp phone number>"];

Példa:

// Example only
const recipientList = ["+14255550199"];

Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetések kétféleképpen kezdeményezhetők:

  • A vállalat sablonüzenetet küld a WhatsApp-felhasználónak.
  • A WhatsApp-felhasználó bármilyen üzenetet küld az üzleti számnak.

A beszélgetés indításától függetlenül a vállalat csak addig küldhet sablonüzeneteket, amíg a felhasználó nem küld üzenetet a vállalkozásnak. A vállalat csak akkor küldhet szöveges vagy médiaüzeneteket a felhasználónak az aktív beszélgetés során, ha a felhasználó üzenetet küld a vállalatnak. A 24 órás beszélgetési időszak lejárta után a beszélgetést újra kell újraindulnia. A beszélgetésekkel kapcsolatos további információkért tekintse meg a WhatsApp Business Platform definícióját.

(1. lehetőség) Beszélgetés kezdeményezése a vállalattól – Sablonüzenet küldése

Beszélgetés kezdeményezése sablonüzenet küldésével.

Először hozzon létre egy MessageTemplate-ot egy sablon értékeinek használatával.

Feljegyzés

A rendelkezésre álló sablonok ellenőrzéséhez tekintse meg a Listasablonok című témakör utasításait. Ha nem rendelkezik sablonnal, folytassa a 2. lehetőséggel.

A MessageTemplate létrehozása alapértelmezett sablon használatával. sample_template
Ha sample_template nem érhető el, ugorjon a 2. lehetőségre. A speciális felhasználók számára a lapsablonok című témakörben megtudhatja , hogyan küldhet másik sablont az 1. lehetőséggel.

Az Üzenetek SDK lehetővé teszi, hogy a Contoso sablonalapú WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. A sablonüzenetek elküldéséhez az alábbi részletek szükségesek:

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

A MessageTemplate összeállítására és saját sablon létrehozására vonatkozó további példákért tekintse meg a következő erőforrást:

A sablonokra vonatkozó További WhatsApp-követelményekért tekintse meg a WhatsApp Business Platform API-referenciáit:

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

A felhasználónak most válaszolnia kell a sablonüzenetre. A WhatsApp felhasználói fiókjából válaszoljon a WhatsApp Business-fióktól kapott sablonüzenetre. Az üzenet tartalma ebben a forgatókönyvben irreleváns.

Fontos

A címzettnek válaszolnia kell a sablonüzenetre, hogy kezdeményezhesse a beszélgetést, mielőtt szöveges vagy médiaüzenetet küldhet a címzettnek.

(2. lehetőség) Beszélgetés kezdeményezése a felhasználótól

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetés másik lehetősége, ha a felhasználó kezdeményezi a beszélgetést. Ehhez a személyes WhatsApp-fiókjából küldjön egy üzenetet az üzleti számára (feladóazonosító).

A Weben megtekintett WhatsApp-beszélgetés a WhatsApp üzleti fiókszámára küldött felhasználói üzenetet jeleníti meg.

Szöveges üzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso szöveges WhatsApp-üzeneteket küldjön, amelyek kezdeményezték a WhatsApp-felhasználókat. A szöveges üzenetek küldéséhez az alábbi részletekre van szükség:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Ebben a példában a WhatsApp-felhasználónak a következő szöveggel válaszolunk: "Köszönjük a visszajelzést.\n A Notification Messaging SDK-tól".

Állítsa össze és küldje el a médiaüzenetet:

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

Médiaüzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso image WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. Képbe ágyazott üzenetek küldéséhez az alábbi részletek szükségesek:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Médiaüzenet küldéséhez adjon meg egy URL-címet egy képnek. Például a következő:

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

Állítsa össze és küldje el a médiaüzenetet:

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

A kód futtatása

A csomópont paranccsal futtassa a send-messages.js fájlhoz hozzáadott kódot.

node ./send-messages.js

Teljes mintakód

A mintaalkalmazást a GitHubról töltheti le.

Előfeltételek

Beállítás

Új Python-alkalmazás létrehozása

Egy terminál- vagy konzolablakban hozzon létre egy új mappát az alkalmazás számára, és keresse meg.

mkdir messages-quickstart && cd messages-quickstart

Telepítse a(z) csomagot

A Python 1.0.0-s vagy újabb verziójához az Azure Communication Messages ügyfélkódtárát kell használnia .

Egy konzol parancssorából hajtsa végre a következő parancsot:

pip install azure-communication-messages

Az alkalmazás-keretrendszer beállítása

Hozzon létre egy új fájlt, messages-quickstart.py és adja hozzá az alapszintű programstruktúrát.

type nul > messages-quickstart.py   

Alapszintű programstruktúra

import os

class MessagesQuickstart(object):
    print("Azure Communication Services - Advanced Messages SDK Quickstart")

if __name__ == '__main__':
    messages = MessagesQuickstart()

Objektummodell

A következő osztályok és felületek kezelik a Pythonhoz készült Azure Communication Services Messages SDK főbb funkcióit.

Név Leírás
NotificationMessagesClient Ez az osztály csatlakozik az Azure Communication Services-erőforráshoz. Elküldi az üzeneteket.
MessageTemplate Ez az osztály határozza meg a használt sablont és az üzenet sablontulajdonságainak tartalmát.
TemplateNotificationContent Ez az osztály határozza meg a küldeni kívánt sablonüzenet "ki" és "what" szövegét.
TextNotificationContent Ez az osztály határozza meg a küldeni kívánt szöveges üzenet "ki" és "what" szövegét.
ImageNotificationContent Ez az osztály határozza meg a küldeni kívánt képmédia-üzenet "ki" és "what" szövegét.

Kódpéldák

Az alábbi lépéseket követve adja hozzá a szükséges kódrészleteket a messages-quickstart.py Python-programhoz.

Az ügyfél hitelesítése

Az üzenetek küldése a NotificationMessagesClient használatával történik. A NotificationMessagesClient hitelesítése az Azure Portal Azure Communication Services-erőforrásából beszerzett kapcsolati sztring használatával történik. A kapcsolati sztring további információkért lásd: access-your-connection-strings-and-service-endpoints.

Az Azure Communication Resource kapcsolati sztring lekérése az Azure Portalról a képernyőképen látható módon. A bal oldalon lépjen a Keys lapra. Másolja ki az Connection string elsődleges kulcs mezőjét. A kapcsolati sztring formátuma endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, a Kulcsok szakasz

Állítsa a környezeti változót COMMUNICATION_SERVICES_CONNECTION_STRING a kapcsolati sztring értékére.
Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

A környezeti változó hozzáadása után előfordulhat, hogy újra kell indítania a futó programokat, amelyeknek be kell olvasniuk a környezeti változót, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Ha többet szeretne tudni arról, hogyan állíthat be környezeti változót a rendszeréhez, kövesse a kapcsolati sztring tárolása környezeti változóban című témakör lépéseit.

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

Csatornaregisztrációs azonosító beállítása

A csatornaregisztráció során létrejött a csatornaregisztrációs azonosító GUID azonosítója. Ezt az Azure Communication Services-erőforrás Csatornák lapján, a portálon tekintheti meg.

Képernyőkép egy Azure Communication Services-erőforrásról az Azure Portalon, a Csatornák lap megtekintésével. A program a

Rendelje hozzá egy channelRegistrationId nevű változóhoz.

    channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")

Címzettlista beállítása

Meg kell adnia egy valós telefonszámot, amelyhez whatsApp-fiók van társítva. Ez a WhatsApp-fiók megkapja az ebben a rövid útmutatóban elküldött sablont, szöveget és médiaüzeneteket. Ebben a rövid útmutatóban ez a telefonszám lehet a személyes telefonszáma.

A címzett telefonszáma nem lehet a WhatsApp-csatornaregisztrációhoz társított üzleti telefonszám (feladó azonosítója). A feladó azonosítója a címzettnek küldött szöveges és médiaüzenetek feladójaként jelenik meg.

A telefonszámnak tartalmaznia kell az országkódot. A telefonszámok formázásáról további információt a Telefonszámformátumok WhatsApp dokumentációjában talál.

Feljegyzés

Jelenleg csak egy telefonszám támogatott a címzettek listájában.

A címzettek listájának beállítása a következő módon:

    phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")

Használati példa:

    # Example only
    to=[self.phone_number],

Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetések kétféleképpen kezdeményezhetők:

  • A vállalat sablonüzenetet küld a WhatsApp-felhasználónak.
  • A WhatsApp-felhasználó bármilyen üzenetet küld az üzleti számnak.

A beszélgetés indításától függetlenül a vállalat csak addig küldhet sablonüzeneteket, amíg a felhasználó nem küld üzenetet a vállalkozásnak. A vállalat csak akkor küldhet szöveges vagy médiaüzeneteket a felhasználónak az aktív beszélgetés során, ha a felhasználó üzenetet küld a vállalatnak. A 24 órás beszélgetési időszak lejárta után a beszélgetést újra kell újraindulnia. A beszélgetésekkel kapcsolatos további információkért tekintse meg a WhatsApp Business Platform definícióját.

(1. lehetőség) Beszélgetés kezdeményezése a vállalattól – Sablonüzenet küldése

Beszélgetés kezdeményezése sablonüzenet küldésével.

Először hozzon létre egy MessageTemplate-ot egy sablon értékeinek használatával.

Feljegyzés

A rendelkezésre álló sablonok ellenőrzéséhez tekintse meg a Listasablonok című témakör utasításait. Ha nem rendelkezik sablonnal, folytassa a 2. lehetőséggel.

A MessageTemplate létrehozása alapértelmezett sablon használatával. sample_template
Ha sample_template nem érhető el, ugorjon a 2. lehetőségre. A speciális felhasználók számára a lapsablonok című témakörben megtudhatja , hogyan küldhet másik sablont az 1. lehetőséggel.

Az Üzenetek SDK lehetővé teszi, hogy a Contoso sablonalapú WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. A sablonüzenetek elküldéséhez az alábbi részletek szükségesek:

A MessageTemplate összeállítására és saját sablon létrehozására vonatkozó további példákért tekintse meg a következő erőforrást:

A sablonokra vonatkozó További WhatsApp-követelményekért tekintse meg a WhatsApp Business Platform API-referenciáit:

A WhatsApp-sablonüzenet küldéséhez adja hozzá az alábbi kódot a send_template_message(saját) függvényhez.

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

Adjon hozzá send_template_message() hívást a fő metódushoz.

    # Calling send_template_message()
    messages.send_template_message()

A felhasználónak most válaszolnia kell a sablonüzenetre. A WhatsApp felhasználói fiókjából válaszoljon a WhatsApp Business-fióktól kapott sablonüzenetre. Az üzenet tartalma ebben a forgatókönyvben irreleváns.

Fontos

A címzettnek válaszolnia kell a sablonüzenetre, hogy kezdeményezhesse a beszélgetést, mielőtt szöveges vagy médiaüzenetet küldhet a címzettnek.

(2. lehetőség) Beszélgetés kezdeményezése a felhasználótól

A WhatsApp Business-fiók és a WhatsApp-felhasználó közötti beszélgetés másik lehetősége, ha a felhasználó kezdeményezi a beszélgetést. Ehhez a személyes WhatsApp-fiókjából küldjön egy üzenetet az üzleti számára (feladóazonosító).

A Weben megtekintett WhatsApp-beszélgetés a WhatsApp üzleti fiókszámára küldött felhasználói üzenetet jeleníti meg.

Szöveges üzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso szöveges WhatsApp-üzeneteket küldjön, amelyek kezdeményezték a WhatsApp-felhasználókat. A szöveges üzenetek küldéséhez az alábbi részletekre van szükség:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Ebben a példában a WhatsApp-felhasználónak a következő szöveggel válaszolunk: "Köszönjük a visszajelzést.\n A Notification Messaging SDK-tól".

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

A fő metódus frissítése a send_text_message() futtatásához

    #Calling send_text_message()
    messages.send_text_message()

Médiaüzenet küldése WhatsApp-felhasználónak

Az Üzenetek SDK lehetővé teszi, hogy a Contoso image WhatsApp-üzeneteket küldjön a WhatsApp felhasználóinak. Képbe ágyazott üzenetek küldéséhez az alábbi részletek szükségesek:

Fontos

Ha szöveges üzenetet szeretne küldeni egy WhatsApp-felhasználónak, a WhatsApp-felhasználónak először üzenetet kell küldenie a WhatsApp Business-fióknak. További információ: Üzenetek küldése az üzlet és a WhatsApp-felhasználó között.

Példa a media_uri a média WhatsApp-üzenet küldésére.

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

A fő metódus frissítése a send_image_message() futtatásához

    # Calling send_image_message()
    messages.send_image_message()

A kód futtatása

A kód futtatásához győződjön meg arról, hogy azon a könyvtáron van, ahol a messages-quickstart.py fájl található.

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

Teljes mintakó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()

Egyéb példák

A Python Messages SDK-hoz tartozó egyéb mintakódokat a GitHubon tekintheti át és töltheti le.

Következő lépések

Ebben a rövid útmutatóban kipróbálta a WhatsApp SDK speciális üzenetkezelését. A következő cikkeket is érdemes megtekintenie: