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
Az Azure Communication Services-erőforrásban regisztrált WhatsApp Business-fiók
Aktív WhatsApp-telefonszám üzenetek fogadásához
.NET fejlesztői környezet (például Visual Studio, Visual Studio Code vagy .NET CLI)
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.
- Nyissa meg a NuGet-Csomagkezelő a következő helyen
Project
>Manage NuGet Packages...
: . - Keresse meg a csomagot
Azure.Communication.Messages
. - 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
- Csatornaregisztrációs azonosító beállítása
- Címzettlista beállítása
- Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között
- Szöveges üzenet küldése WhatsApp-felhasználónak
- Médiaüzenet küldése WhatsApp-felhasználónak
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}
.
Á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 NotificationMessagesClient
adja 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.
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:
- Hitelesített NotificationMessagesClient
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Sablon részletei
- Név, mint a "sample_template"
- Olyan nyelv, mint a "en_us"
- Paraméterek, ha vannak
// 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ó).
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:
- Hitelesített NotificationMessagesClient
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Elküldendő üzenettörzs/szöveg
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:
- Hitelesített NotificationMessagesClient
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- A kép MediaUri-ja
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.
- A kód fordításához nyomja le a Ctrl F7 billentyűkombinációt+.
- 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
Az Azure Communication Services-erőforrásban regisztrált WhatsApp Business-fiók
Aktív WhatsApp-telefonszám üzenetek fogadásához
Java Development Kit (JDK) 8-es vagy újabb verzió
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
- Csatornaregisztrációs azonosító beállítása
- Címzettlista beállítása
- Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között
- Szöveges üzenet küldése WhatsApp-felhasználónak
- Médiaüzenet küldése WhatsApp-felhasználónak
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}
.
Á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.
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Sablon részletei
- Név, mint a "sample_template"
- Olyan nyelv, mint a "en_us"
- Paraméterek, ha vannak
// 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ó).
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Elküldendő üzenettörzs/szöveg
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- A kép MediaUri-ja
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
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
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
Az Azure Communication Services-erőforrásban regisztrált WhatsApp Business-fiók
Aktív WhatsApp-telefonszám üzenetek fogadásához
Node.js Active LTS és maintenance LTS verzió (8.11.1 és 10.14.1 ajánlott)
- Terminál- vagy parancsablakban futtassa
node --version
a Node.js telepítésének ellenőrzéséhez
- Terminál- vagy parancsablakban futtassa
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
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
Futtassa a következő parancsot egy alapértelmezett beállításokkal rendelkező package.json fájl létrehozásához.
npm init -y
Szövegszerkesztővel hozzon létre egy send-messages.js nevű fájlt a projekt gyökérkönyvtárában.
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
- Csatornaregisztrációs azonosító beállítása
- Címzettlista beállítása
- Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között
- Szöveges üzenet küldése WhatsApp-felhasználónak
- Médiaüzenet küldése WhatsApp-felhasználónak
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}
.
Á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.
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Sablon részletei
- Név, mint a "sample_template"
- Olyan nyelv, mint a "en_us"
- Paraméterek, ha vannak
// 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ó).
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Elküldendő üzenettörzs/szöveg
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- A kép MediaUri-ja
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
Az Azure Communication Services-erőforrásban regisztrált WhatsApp Business-fiók.
Aktív WhatsApp-telefonszám az üzenetek fogadásához.
Python 3.7+ az operációs rendszerhez.
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
- Csatornaregisztrációs azonosító beállítása
- Címzettlista beállítása
- Üzenetek küldése egy vállalat és egy WhatsApp-felhasználó között
- Szöveges üzenet küldése WhatsApp-felhasználónak
- Médiaüzenet küldése WhatsApp-felhasználónak
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}
.
Á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.
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Sablon részletei
- Név, mint a "sample_template"
- Olyan nyelv, mint a "en_us"
- Paraméterek, ha vannak
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ó).
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- Elküldendő üzenettörzs/szöveg
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:
- WhatsApp-csatorna azonosítója
- Címzett telefonszáma E16 formátumban
- A kép MediaUri-ja
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: