Mulai Cepat: Mengirim Pesan WhatsApp menggunakan Pesan Tingkat Lanjut
Azure Communication Services memungkinkan Anda mengirim dan menerima pesan WhatsApp. Dalam mulai cepat ini, mulai mengintegrasikan aplikasi Anda dengan Azure Communication Advanced Messages SDK dan mulai mengirim/menerima pesan WhatsApp. Menyelesaikan panduan mulai cepat ini dikenakan biaya kecil berupa beberapa sen USD atau kurang di akun Azure Anda.
Prasyarat
Akun WhatsApp Business yang terdaftar di sumber daya Azure Communication Services Anda
Nomor telepon WhatsApp aktif untuk menerima pesan
Lingkungan pengembangan .NET (seperti Visual Studio, Visual Studio Code, atau .NET CLI)
Menyiapkan
Membuat proyek .NET
Untuk membuat proyek Anda, ikuti tutorial di Membuat aplikasi konsol .NET menggunakan Visual Studio.
Untuk mengkompilasi kode Anda, tekan Ctrl+F7.
Pasang paket
Instal paket NuGet Azure.Communication.Messages ke proyek C# Anda.
- Buka Manajer Paket NuGet di
Project
>Manage NuGet Packages...
. - Cari paket
Azure.Communication.Messages
. - Instal rilis terbaru.
Menyiapkan kerangka kerja aplikasi
Di editor teks, buka file Program.cs.
Ganti konten Program.cs Anda dengan kode berikut:
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
}
}
}
Untuk menggunakan fitur Pesan Tingkat Lanjut, kami menambahkan using
direktif untuk menyertakan Azure.Communication.Messages
namespace layanan.
using Azure.Communication.Messages;
Model objek
Kelas dan antarmuka berikut menangani beberapa fitur utama Azure Communication Services Advance Messaging SDK untuk .NET.
Nama | Deskripsi |
---|---|
NotificationMessagesClient | Kelas ini tersambung ke sumber daya Azure Communication Services Anda. Ini mengirim pesan. |
MessageTemplate | Kelas ini menentukan templat mana yang Anda gunakan dan konten properti templat untuk pesan Anda. |
TemplateNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan templat yang ingin Anda kirim. |
TextNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan teks yang ingin Anda kirim. |
MediaNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan media yang ingin Anda kirim. |
Contoh kode
Ikuti langkah-langkah ini untuk menambahkan cuplikan kode yang diperlukan ke fungsi Utama file Program.cs Anda.
- Autentikasi klien
- Atur ID pendaftaran saluran
- Atur daftar penerima
- Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
- Mengirim pesan teks ke pengguna WhatsApp
- Mengirim pesan media ke pengguna WhatsApp
Mengautentikasi klien
NotificationMessagesClient
digunakan untuk menyambungkan ke sumber daya Azure Communication Services Anda.
Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi untuk mengautentikasi. Di lingkungan produksi, sebaiknya gunakan perwakilan layanan.
Dapatkan string koneksi dari sumber daya Azure Communication Services Anda di portal Azure. Di sebelah kiri, navigasi ke Keys
tab. Salin Connection string
bidang untuk kunci primer. string koneksi dalam format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Atur variabel COMMUNICATION_SERVICES_CONNECTION_STRING
lingkungan ke nilai string koneksi Anda.
Buka jendela konsol dan masukkan perintah berikut:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum menjalankan contoh.
Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan untuk sistem Anda, ikuti langkah-langkah di Menyimpan string koneksi Anda dalam variabel lingkungan.
Untuk membuat instans NotificationMessagesClient
, tambahkan kode berikut ke Main
metode :
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Atur ID pendaftaran saluran
GUID ID Pendaftaran Saluran dibuat selama pendaftaran saluran. Anda dapat mencarinya di portal pada tab Saluran sumber daya Azure Communication Services Anda.
Tetapkan ke variabel yang disebut channelRegistrationId.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Atur daftar penerima
Anda perlu menyediakan nomor telepon nyata yang memiliki akun WhatsApp yang terkait dengannya. Akun WhatsApp ini menerima pesan templat, teks, dan media yang dikirim dalam mulai cepat ini. Untuk mulai cepat ini, nomor telepon ini mungkin nomor telepon pribadi Anda.
Nomor telepon penerima tidak boleh berupa nomor telepon bisnis (ID Pengirim) yang terkait dengan pendaftaran saluran WhatsApp. ID Pengirim muncul sebagai pengirim pesan teks dan media yang dikirim ke penerima.
Nomor telepon harus menyertakan kode negara. Untuk informasi selengkapnya tentang pemformatan nomor telepon, lihat Dokumentasi WhatsApp untuk Format Nomor Telepon.
Catatan
Hanya satu nomor telepon yang saat ini didukung dalam daftar penerima.
Buat daftar penerima seperti ini:
var recipientList = new List<string> { "<to WhatsApp phone number>" };
Contoh:
// Example only
var recipientList = new List<string> { "+14255550199" };
Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
Percakapan antara Akun WhatsApp Business dan pengguna WhatsApp dapat dimulai dengan salah satu dari dua cara:
- Bisnis mengirim pesan templat ke pengguna WhatsApp.
- Pengguna WhatsApp mengirim pesan apa pun ke nomor bisnis.
Terlepas dari bagaimana percakapan dimulai, bisnis hanya dapat mengirim pesan templat hingga pengguna mengirim pesan ke bisnis. Hanya setelah pengguna mengirim pesan ke bisnis, bisnis diizinkan untuk mengirim pesan teks atau media kepada pengguna selama percakapan aktif. Setelah jendela percakapan 24 jam kedaluwarsa, percakapan harus diinisiasi kembali. Untuk mempelajari selengkapnya tentang percakapan, lihat definisi di WhatsApp Business Platform.
(Opsi 1) Memulai percakapan dari bisnis - Mengirim pesan templat
Mulai percakapan dengan mengirim pesan templat.
Pertama, buat MessageTemplate menggunakan nilai untuk templat.
Catatan
Untuk memeriksa templat mana yang tersedia, lihat instruksi di Mencantumkan templat. Jika Anda tidak memiliki templat untuk digunakan, lanjutkan ke Opsi 2.
Berikut pembuatan MessageTemplate menggunakan templat default, sample_template
.
Jika sample_template
tidak tersedia untuk Anda, lewati ke Opsi 2. Untuk pengguna tingkat lanjut, lihat halaman Templat untuk memahami cara mengirim templat lain dengan Opsi 1.
SDK Pesan memungkinkan Contoso mengirim pesan WhatsApp yang di-template ke pengguna WhatsApp. Untuk mengirim pesan templat di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Detail templat
- Nama seperti 'sample_template'
- Bahasa seperti 'en_us'
- Parameter jika ada
// Assemble the template content
string templateName = "sample_template";
string templateLanguage = "en_us";
var messageTemplate = new MessageTemplate(templateName, templateLanguage);
Untuk contoh selengkapnya tentang cara merakit MessageTemplate Anda dan cara membuat templat Anda sendiri, lihat sumber daya berikut:
Untuk persyaratan WhatsApp lebih lanjut tentang templat, lihat referensi WHATSApp Business Platform API:
Rakit lalu kirim pesan templat:
// Assemble template message
var templateContent =
new TemplateNotificationContent(channelRegistrationId, recipientList, messageTemplate);
// Send template message
Response<SendMessageResult> sendTemplateMessageResult =
await notificationMessagesClient.SendAsync(templateContent);
Sekarang, pengguna perlu menanggapi pesan templat. Dari akun pengguna WhatsApp, balas pesan templat yang diterima dari Akun WhatsApp Business. Konten pesan tidak relevan untuk skenario ini.
Penting
Penerima harus merespons pesan templat untuk memulai percakapan sebelum pesan teks atau media dapat dikirimkan ke penerima.
(Opsi 2) Memulai percakapan dari pengguna
Opsi lain untuk memulai percakapan antara Akun WhatsApp Business dan pengguna WhatsApp adalah meminta pengguna memulai percakapan. Untuk melakukannya, dari akun WhatsApp pribadi Anda, kirim pesan ke nomor bisnis Anda (ID Pengirim).
Mengirim pesan teks ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso untuk mengirim pesan WhatsApp teks, yang memulai pengguna WhatsApp yang dimulai. Untuk mengirim pesan teks di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Isi/teks pesan yang akan dikirim
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Dalam contoh ini, kami membalas pengguna WhatsApp dengan teks "Terima kasih atas umpan balik Anda.\n Dari SDK Olahpesan Pemberitahuan".
Rakit lalu kirim pesan teks:
// 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);
Mengirim pesan media ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso mengirim pesan Image WhatsApp ke pengguna WhatsApp. Untuk mengirim pesan yang disematkan Gambar di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- MediaUri Gambar
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Sebagai contoh, buat URI:
var uri = new Uri("https://aka.ms/acsicon1");
Rakit lalu kirim pesan media:
// Assemble media message
var mediaContent =
new MediaNotificationContent(channelRegistrationId, recipientList, uri);
// Send media message
Response<SendMessageResult> sendMediaMessageResult =
await notificationMessagesClient.SendAsync(mediaContent);
Menjalankan kode
Membangun dan menjalankan program Anda.
Untuk mengirim pesan teks atau media ke pengguna WhatsApp, harus ada percakapan aktif antara Akun WhatsApp Business dan pengguna WhatsApp.
Jika Anda tidak memiliki percakapan aktif, untuk tujuan mulai cepat ini, Anda harus menambahkan tunggu antara mengirim pesan templat dan mengirim pesan teks. Penundaan tambahan ini memberi Anda cukup waktu untuk membalas bisnis di akun WhatsApp pengguna. Sebagai referensi, contoh lengkap di Contoh kode meminta input pengguna manual sebelum mengirim pesan berikutnya.
Jika berhasil, Anda menerima tiga pesan di akun WhatsApp pengguna.
- Untuk mengkompilasi kode Anda, tekan Ctrl+F7.
- Untuk menjalankan program tanpa penelusuran kesalahan, tekan Ctrl+F5.
Kode sampel penuh
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");
}
}
}
Prasyarat
Akun WhatsApp Business yang terdaftar di sumber daya Azure Communication Services Anda
Nomor telepon WhatsApp aktif untuk menerima pesan
Java Development Kit (JDK) versi 8 atau yang lebih baru
Menyiapkan
Untuk menyiapkan lingkungan untuk mengirim pesan, lakukan langkah-langkah di bagian berikut.
Membuat aplikasi Java baru
Buka terminal atau jendela perintah Anda dan arahkan ke direktori tempat Anda ingin membuat aplikasi Java. Jalankan perintah berikut untuk menghasilkan proyek Java dari templat maven-archetype-quickstart.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
Tujuannya generate
membuat direktori dengan nama artifactId
yang sama dengan nilai . Di bawah direktori ini, direktori src/main/java berisi kode sumber proyek, direktori src/test/java berisi sumber pengujian, dan file pom.xml adalah Project Object Model (POM) proyek.
Pasang paket
Buka file pom.xml di editor teks Anda. Tambahkan elemen dependensi berikut ke grup dependensi.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
<version>1.0.0</version>
</dependency>
Menyiapkan kerangka kerja aplikasi
Buka /src/main/java/com/communication/quickstart/App.java di editor teks, tambahkan arahan impor, dan hapus System.out.println("Hello world!");
pernyataan:
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.
}
}
Model objek
Kelas dan antarmuka berikut menangani beberapa fitur utama Azure Communication Services Advance Messaging SDK untuk Java.
Nama | Deskripsi |
---|---|
NotificationMessagesClientBuilder | Kelas ini membuat Klien Pesan Pemberitahuan. Anda menyediakannya dengan titik akhir dan kredensial. |
NotificationMessagesClient | Kelas ini diperlukan untuk mengirim pesan WhatsApp dan mengunduh file media. |
NotificationMessagesAsyncClient | Kelas ini diperlukan untuk mengirim pesan WhatsApp dan mengunduh file media secara asinkron. |
SendMessageResult | Kelas ini berisi hasil dari layanan Pesan Tingkat Lanjut untuk mengirim pesan pemberitahuan. |
MessageTemplateClientBuilder | Kelas ini membuat Klien Templat Pesan. Anda menyediakannya dengan titik akhir dan kredensial. |
MessageTemplateClient | Kelas ini diperlukan untuk mendapatkan daftar templat WhatsApp. |
MessageTemplateAsyncClient | Kelas ini diperlukan untuk mendapatkan daftar templat WhatsApp secara asinkron. |
Contoh kode
Ikuti langkah-langkah ini untuk menambahkan cuplikan kode yang diperlukan ke fungsi utama file App.java Anda.
- Autentikasi klien
- Atur ID pendaftaran saluran
- Atur daftar penerima
- Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
- Mengirim pesan teks ke pengguna WhatsApp
- Mengirim pesan media ke pengguna WhatsApp
Mengautentikasi klien
Ada beberapa opsi berbeda yang tersedia untuk mengautentikasi klien Pesan:
Untuk mengautentikasi klien, Anda membuat instans NotificationMessagesClient
atau MessageTemplateClient
dengan string koneksi Anda. Anda juga dapat menginisialisasi klien dengan klien HTTP kustom apa pun yang mengimplementasikan com.azure.core.http.HttpClient
antarmuka.
Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi untuk mengautentikasi. Di lingkungan produksi, sebaiknya gunakan perwakilan layanan.
Dapatkan string koneksi dari sumber daya Azure Communication Services Anda di portal Azure. Di sebelah kiri, navigasi ke Keys
tab. Salin Connection string
bidang untuk Primary key
. string koneksi dalam format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Atur variabel COMMUNICATION_SERVICES_CONNECTION_STRING
lingkungan ke nilai string koneksi Anda.
Buka jendela konsol dan masukkan perintah berikut:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan untuk sistem Anda, ikuti langkah-langkah di Menyimpan string koneksi Anda dalam variabel lingkungan.
Untuk membuat instans NotificationMessagesClient, tambahkan kode berikut ke main
metode :
// 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();
Atur ID pendaftaran saluran
GUID ID Pendaftaran Saluran dibuat selama pendaftaran saluran. Anda dapat mencarinya di portal pada tab Saluran sumber daya Azure Communication Services Anda.
Tetapkan ke variabel yang disebut channelRegistrationId.
String channelRegistrationId = "<your channel registration id GUID>";
Atur daftar penerima
Anda perlu menyediakan nomor telepon nyata yang memiliki akun WhatsApp yang terkait dengannya. Akun WhatsApp ini menerima teks dan pesan media yang dikirim dalam mulai cepat ini. Untuk mulai cepat ini, nomor telepon ini mungkin nomor telepon pribadi Anda.
Nomor telepon penerima tidak boleh berupa nomor telepon bisnis (ID Pengirim) yang terkait dengan pendaftaran saluran WhatsApp. ID Pengirim muncul sebagai pengirim pesan teks dan media yang dikirim ke penerima.
Nomor telepon harus menyertakan kode negara. Untuk informasi selengkapnya tentang pemformatan nomor telepon, lihat Dokumentasi WhatsApp untuk Format Nomor Telepon.
Catatan
Hanya satu nomor telepon yang saat ini didukung dalam daftar penerima.
Buat daftar penerima seperti ini:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");
Contoh:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
Percakapan antara Akun WhatsApp Business dan pengguna WhatsApp dapat dimulai dengan salah satu dari dua cara:
- Bisnis mengirim pesan templat ke pengguna WhatsApp.
- Pengguna WhatsApp mengirim pesan apa pun ke nomor bisnis.
Terlepas dari bagaimana percakapan dimulai, bisnis hanya dapat mengirim pesan templat hingga pengguna mengirim pesan ke bisnis. Hanya setelah pengguna mengirim pesan ke bisnis, bisnis diizinkan untuk mengirim pesan teks atau media kepada pengguna selama percakapan aktif. Setelah jendela percakapan 24 jam kedaluwarsa, percakapan harus diinisiasi kembali. Untuk mempelajari selengkapnya tentang percakapan, lihat definisi di WhatsApp Business Platform.
(Opsi 1) Memulai percakapan dari bisnis - Mengirim pesan templat
Mulai percakapan dengan mengirim pesan templat.
Pertama, buat MessageTemplate menggunakan nilai untuk templat.
Catatan
Untuk memeriksa templat mana yang tersedia, lihat instruksi di Mencantumkan templat. Jika Anda tidak memiliki templat untuk digunakan, lanjutkan ke Opsi 2.
Berikut pembuatan MessageTemplate menggunakan templat default, sample_template
.
Jika sample_template
tidak tersedia untuk Anda, lewati ke Opsi 2. Untuk pengguna tingkat lanjut, lihat halaman Templat untuk memahami cara mengirim templat lain dengan Opsi 1.
SDK Pesan memungkinkan Contoso mengirim pesan WhatsApp yang di-template ke pengguna WhatsApp. Untuk mengirim pesan templat di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Detail templat
- Nama seperti 'sample_template'
- Bahasa seperti 'en_us'
- Parameter jika ada
// 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());
}
Sekarang, pengguna perlu menanggapi pesan templat. Dari akun pengguna WhatsApp, balas pesan templat yang diterima dari Akun WhatsApp Business. Konten pesan tidak relevan untuk skenario ini.
Penting
Penerima harus merespons pesan templat untuk memulai percakapan sebelum pesan teks atau media dapat dikirimkan ke penerima.
(Opsi 2) Memulai percakapan dari pengguna
Opsi lain untuk memulai percakapan antara Akun WhatsApp Business dan pengguna WhatsApp adalah meminta pengguna memulai percakapan. Untuk melakukannya, dari akun WhatsApp pribadi Anda, kirim pesan ke nomor bisnis Anda (ID Pengirim).
Mengirim pesan teks ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso untuk mengirim pesan WhatsApp teks, yang memulai pengguna WhatsApp yang dimulai. Untuk mengirim pesan teks di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Isi/teks pesan yang akan dikirim
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Dalam contoh ini, kami membalas pengguna WhatsApp dengan teks "Terima kasih atas umpan balik Anda.\n Dari SDK Olahpesan Pemberitahuan".
Rakit lalu kirim pesan teks:
// 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());
}
Mengirim pesan media ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso mengirim pesan Image WhatsApp ke pengguna WhatsApp. Untuk mengirim pesan yang disematkan Gambar di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- MediaUri Gambar
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Sebagai contoh, buat URI:
String mediaUrl = "https://aka.ms/acsicon1";
Rakit lalu kirim pesan media:
// 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());
}
Menjalankan kode
Navigasi ke direktori yang berisi file pom.xml dan kompilasi proyek dengan menggunakan
mvn
perintah .mvn compile
Jalankan aplikasi dengan menjalankan perintah berikut
mvn
.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Kode sampel penuh
Menemukan kode final untuk mulai cepat ini di GitHub.
Prasyarat
Akun WhatsApp Business yang terdaftar di sumber daya Azure Communication Services Anda
Nomor telepon WhatsApp aktif untuk menerima pesan
Node.js versi LTS Aktif dan Pemeliharaan LTS (8.11.1 dan 10.14.1 direkomendasikan)
- Di terminal atau jendela perintah, jalankan
node --version
untuk memeriksa apakah Node.js diinstal
- Di terminal atau jendela perintah, jalankan
Menyiapkan
Untuk menyiapkan lingkungan untuk mengirim pesan, lakukan langkah-langkah di bagian berikut.
Membuat aplikasi Node.js baru
Buat direktori baru untuk aplikasi Anda dan navigasikan ke direktori tersebut dengan membuka terminal atau jendela perintah Anda, lalu jalankan perintah berikut.
mkdir advance-messages-quickstart && cd advance-messages-quickstart
Jalankan perintah berikut untuk membuat file package.json dengan pengaturan default.
npm init -y
Gunakan editor teks untuk membuat file yang disebut send-messages.js di direktori akar proyek.
Tambahkan cuplikan kode berikut ke file 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); });
Di bagian berikut, Anda menambahkan semua kode sumber untuk mulai cepat ini ke file send-messages.js yang Anda buat.
Pasang paket
npm install
Gunakan perintah untuk menginstal Azure Communication Services Advance Messaging SDK untuk JavaScript.
npm install @azure-rest/communication-messages --save
Opsi --save
mencantumkan pustaka sebagai dependensi di file package.json Anda.
Model objek
Kelas dan antarmuka berikut menangani beberapa fitur utama Azure Communication Services Advance Messaging SDK untuk JavaScript.
Nama | Deskripsi |
---|---|
MessageClient | Kelas ini tersambung ke sumber daya Azure Communication Services Anda. Ini mengirim pesan. |
MessageTemplate | Kelas ini menentukan templat mana yang Anda gunakan dan konten properti templat untuk pesan Anda. |
Contoh kode
Ikuti langkah-langkah ini untuk menambahkan cuplikan kode yang diperlukan ke fungsi utama file send-messages.js Anda.
- Autentikasi klien
- Atur ID pendaftaran saluran
- Atur daftar penerima
- Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
- Mengirim pesan teks ke pengguna WhatsApp
- Mengirim pesan media ke pengguna WhatsApp
Mengautentikasi klien
Kode berikut mengambil string koneksi untuk sumber daya dari variabel lingkungan bernama COMMUNICATION_SERVICES_CONNECTION_STRING
menggunakan paket dotenv.
Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi untuk mengautentikasi. Di lingkungan produksi, sebaiknya gunakan perwakilan layanan.
Dapatkan string koneksi dari sumber daya Azure Communication Services Anda di portal Azure. Di sebelah kiri, navigasi ke Keys
tab. Salin Connection string
bidang untuk Primary key
. string koneksi dalam format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Atur variabel COMMUNICATION_SERVICES_CONNECTION_STRING
lingkungan ke nilai string koneksi Anda.
Buka jendela konsol dan masukkan perintah berikut:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan untuk sistem Anda, ikuti langkah-langkah di Menyimpan string koneksi Anda dalam variabel lingkungan.
Untuk membuat instans MessageClient, tambahkan kode berikut ke Main
metode :
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);
Atur ID pendaftaran saluran
GUID ID Pendaftaran Saluran dibuat selama pendaftaran saluran. Anda dapat mencarinya di portal pada tab Saluran sumber daya Azure Communication Services Anda.
Tetapkan ke variabel yang disebut channelRegistrationId.
const channelRegistrationId = "<your channel registration id GUID>";
Atur daftar penerima
Anda perlu menyediakan nomor telepon nyata yang memiliki akun WhatsApp yang terkait dengannya. Akun WhatsApp ini menerima pesan templat, teks, dan media yang dikirim dalam mulai cepat ini. Untuk mulai cepat ini, nomor telepon ini mungkin nomor telepon pribadi Anda.
Nomor telepon penerima tidak boleh berupa nomor telepon bisnis (ID Pengirim) yang terkait dengan pendaftaran saluran WhatsApp. ID Pengirim muncul sebagai pengirim pesan teks dan media yang dikirim ke penerima.
Nomor telepon harus menyertakan kode negara. Untuk informasi selengkapnya tentang pemformatan nomor telepon, lihat Dokumentasi WhatsApp untuk Format Nomor Telepon.
Catatan
Hanya satu nomor telepon yang saat ini didukung dalam daftar penerima.
Buat daftar penerima seperti ini:
const recipientList = ["<to WhatsApp phone number>"];
Contoh:
// Example only
const recipientList = ["+14255550199"];
Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
Percakapan antara Akun WhatsApp Business dan pengguna WhatsApp dapat dimulai dengan salah satu dari dua cara:
- Bisnis mengirim pesan templat ke pengguna WhatsApp.
- Pengguna WhatsApp mengirim pesan apa pun ke nomor bisnis.
Terlepas dari bagaimana percakapan dimulai, bisnis hanya dapat mengirim pesan templat hingga pengguna mengirim pesan ke bisnis. Hanya setelah pengguna mengirim pesan ke bisnis, bisnis diizinkan untuk mengirim pesan teks atau media kepada pengguna selama percakapan aktif. Setelah jendela percakapan 24 jam kedaluwarsa, percakapan harus diinisiasi kembali. Untuk mempelajari selengkapnya tentang percakapan, lihat definisi di WhatsApp Business Platform.
(Opsi 1) Memulai percakapan dari bisnis - Mengirim pesan templat
Mulai percakapan dengan mengirim pesan templat.
Pertama, buat MessageTemplate menggunakan nilai untuk templat.
Catatan
Untuk memeriksa templat mana yang tersedia, lihat instruksi di Mencantumkan templat. Jika Anda tidak memiliki templat untuk digunakan, lanjutkan ke Opsi 2.
Berikut pembuatan MessageTemplate menggunakan templat default, sample_template
.
Jika sample_template
tidak tersedia untuk Anda, lewati ke Opsi 2. Untuk pengguna tingkat lanjut, lihat halaman Templat untuk memahami cara mengirim templat lain dengan Opsi 1.
SDK Pesan memungkinkan Contoso mengirim pesan WhatsApp yang di-template ke pengguna WhatsApp. Untuk mengirim pesan templat di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Detail templat
- Nama seperti 'sample_template'
- Bahasa seperti 'en_us'
- Parameter jika ada
// Assemble the template content
const template = {
name: "sample_template",
language: "en_US"
};
Untuk contoh selengkapnya tentang cara merakit MessageTemplate Anda dan cara membuat templat Anda sendiri, lihat sumber daya berikut:
Untuk persyaratan WhatsApp lebih lanjut tentang templat, lihat referensi WHATSApp Business Platform API:
// Send template message
const templateMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "template",
template: template
}
});
// Process result
if (templateMessageResult.status === "202") {
templateMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Sekarang, pengguna perlu menanggapi pesan templat. Dari akun pengguna WhatsApp, balas pesan templat yang diterima dari Akun WhatsApp Business. Konten pesan tidak relevan untuk skenario ini.
Penting
Penerima harus merespons pesan templat untuk memulai percakapan sebelum pesan teks atau media dapat dikirimkan ke penerima.
(Opsi 2) Memulai percakapan dari pengguna
Opsi lain untuk memulai percakapan antara Akun WhatsApp Business dan pengguna WhatsApp adalah meminta pengguna memulai percakapan. Untuk melakukannya, dari akun WhatsApp pribadi Anda, kirim pesan ke nomor bisnis Anda (ID Pengirim).
Mengirim pesan teks ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso untuk mengirim pesan WhatsApp teks, yang memulai pengguna WhatsApp yang dimulai. Untuk mengirim pesan teks di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Isi/teks pesan yang akan dikirim
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Dalam contoh ini, kami membalas pengguna WhatsApp dengan teks "Terima kasih atas umpan balik Anda.\n Dari SDK Olahpesan Pemberitahuan".
Kumpulkan dan kirim pesan media:
// 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");
}
Mengirim pesan media ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso mengirim pesan Image WhatsApp ke pengguna WhatsApp. Untuk mengirim pesan yang disematkan Gambar di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- MediaUri Gambar
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Untuk mengirim pesan media, berikan URL ke gambar. Sebagai contoh,
const url = "https://aka.ms/acsicon1";
Kumpulkan dan kirim pesan media:
// 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");
}
Menjalankan kode
Gunakan perintah node untuk menjalankan kode yang Anda tambahkan ke file send-messages.js.
node ./send-messages.js
Kode sampel penuh
Anda dapat mengunduh aplikasi sampel dari GitHub.
Prasyarat
Akun WhatsApp Business yang terdaftar di sumber daya Azure Communication Services Anda.
Nomor telepon WhatsApp aktif untuk menerima pesan.
Python 3.7+ untuk sistem operasi Anda.
Menyiapkan
Membuat aplikasi Python baru
Di jendela terminal atau konsol, buat folder baru untuk aplikasi Anda dan navigasikan ke dalamnya.
mkdir messages-quickstart && cd messages-quickstart
Pasang paket
Anda perlu menggunakan pustaka klien Azure Communication Messages untuk Python versi 1.0.0 atau lebih tinggi.
Dari prompt konsol, jalankan perintah berikut:
pip install azure-communication-messages
Menyiapkan kerangka kerja aplikasi
Buat file baru yang disebut messages-quickstart.py
dan tambahkan struktur program dasar.
type nul > messages-quickstart.py
Struktur program dasar
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Model objek
Kelas dan antarmuka berikut menangani beberapa fitur utama SDK Pesan Azure Communication Services untuk Python.
Nama | Deskripsi |
---|---|
NotificationMessagesClient | Kelas ini tersambung ke sumber daya Azure Communication Services Anda. Ini mengirim pesan. |
MessageTemplate | Kelas ini menentukan templat mana yang Anda gunakan dan konten properti templat untuk pesan Anda. |
TemplateNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan templat yang ingin Anda kirim. |
TextNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan teks yang ingin Anda kirim. |
ImageNotificationContent | Kelas ini mendefinisikan "siapa" dan "apa" pesan media gambar yang ingin Anda kirim. |
Contoh kode
Ikuti langkah-langkah ini untuk menambahkan cuplikan kode yang diperlukan ke program python messages-quickstart.py.
- Autentikasi klien
- Atur ID pendaftaran saluran
- Atur daftar penerima
- Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
- Mengirim pesan teks ke pengguna WhatsApp
- Mengirim pesan media ke pengguna WhatsApp
Mengautentikasi klien
Pengiriman pesan dilakukan menggunakan NotificationMessagesClient. NotificationMessagesClient diautentikasi menggunakan string koneksi Anda yang diperoleh dari sumber daya Azure Communication Services di portal Azure. Untuk informasi selengkapnya tentang string koneksi, lihat titik akhir access-your-connection-strings-and-service-endpoints.
Dapatkan Azure Communication Resource string koneksi dari portal Azure seperti yang diberikan dalam cuplikan layar. Di sebelah kiri, navigasi ke Keys
tab. Salin Connection string
bidang untuk kunci primer. string koneksi dalam format endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Atur variabel COMMUNICATION_SERVICES_CONNECTION_STRING
lingkungan ke nilai string koneksi Anda.
Buka jendela konsol dan masukkan perintah berikut:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum menjalankan contoh.
Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan untuk sistem Anda, ikuti langkah-langkah di Menyimpan string koneksi Anda dalam variabel lingkungan.
# 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)
Atur ID pendaftaran saluran
GUID ID Pendaftaran Saluran dibuat selama pendaftaran saluran. Anda dapat mencarinya di portal pada tab Saluran sumber daya Azure Communication Services Anda.
Tetapkan ke variabel yang disebut channelRegistrationId.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Atur daftar penerima
Anda perlu menyediakan nomor telepon nyata yang memiliki akun WhatsApp yang terkait dengannya. Akun WhatsApp ini menerima pesan templat, teks, dan media yang dikirim dalam mulai cepat ini. Untuk mulai cepat ini, nomor telepon ini mungkin nomor telepon pribadi Anda.
Nomor telepon penerima tidak boleh berupa nomor telepon bisnis (ID Pengirim) yang terkait dengan pendaftaran saluran WhatsApp. ID Pengirim muncul sebagai pengirim pesan teks dan media yang dikirim ke penerima.
Nomor telepon harus menyertakan kode negara. Untuk informasi selengkapnya tentang pemformatan nomor telepon, lihat Dokumentasi WhatsApp untuk Format Nomor Telepon.
Catatan
Hanya satu nomor telepon yang saat ini didukung dalam daftar penerima.
Atur daftar penerima seperti ini:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Contoh Penggunaan:
# Example only
to=[self.phone_number],
Mulai mengirim pesan antara bisnis dan pengguna WhatsApp
Percakapan antara Akun WhatsApp Business dan pengguna WhatsApp dapat dimulai dengan salah satu dari dua cara:
- Bisnis mengirim pesan templat ke pengguna WhatsApp.
- Pengguna WhatsApp mengirim pesan apa pun ke nomor bisnis.
Terlepas dari bagaimana percakapan dimulai, bisnis hanya dapat mengirim pesan templat hingga pengguna mengirim pesan ke bisnis. Hanya setelah pengguna mengirim pesan ke bisnis, bisnis diizinkan untuk mengirim pesan teks atau media kepada pengguna selama percakapan aktif. Setelah jendela percakapan 24 jam kedaluwarsa, percakapan harus diinisiasi kembali. Untuk mempelajari selengkapnya tentang percakapan, lihat definisi di WhatsApp Business Platform.
(Opsi 1) Memulai percakapan dari bisnis - Mengirim pesan templat
Mulai percakapan dengan mengirim pesan templat.
Pertama, buat MessageTemplate menggunakan nilai untuk templat.
Catatan
Untuk memeriksa templat mana yang tersedia, lihat instruksi di Mencantumkan templat. Jika Anda tidak memiliki templat untuk digunakan, lanjutkan ke Opsi 2.
Berikut pembuatan MessageTemplate menggunakan templat default, sample_template
.
Jika sample_template
tidak tersedia untuk Anda, lewati ke Opsi 2. Untuk pengguna tingkat lanjut, lihat halaman Templat untuk memahami cara mengirim templat lain dengan Opsi 1.
SDK Pesan memungkinkan Contoso mengirim pesan WhatsApp yang di-template ke pengguna WhatsApp. Untuk mengirim pesan templat di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Detail templat
- Nama seperti 'sample_template'
- Bahasa seperti 'en_us'
- Parameter jika ada
Untuk contoh selengkapnya tentang cara merakit MessageTemplate Anda dan cara membuat templat Anda sendiri, lihat sumber daya berikut:
Untuk persyaratan WhatsApp lebih lanjut tentang templat, lihat referensi WHATSApp Business Platform API:
Untuk mengirim pesan templat WhatsApp, tambahkan kode di bawah ini dalam fungsi send_template_message(mandiri).
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")
Tambahkan panggilan send_template_message() ke metode utama.
# Calling send_template_message()
messages.send_template_message()
Sekarang, pengguna perlu menanggapi pesan templat. Dari akun pengguna WhatsApp, balas pesan templat yang diterima dari Akun WhatsApp Business. Konten pesan tidak relevan untuk skenario ini.
Penting
Penerima harus merespons pesan templat untuk memulai percakapan sebelum pesan teks atau media dapat dikirimkan ke penerima.
(Opsi 2) Memulai percakapan dari pengguna
Opsi lain untuk memulai percakapan antara Akun WhatsApp Business dan pengguna WhatsApp adalah meminta pengguna memulai percakapan. Untuk melakukannya, dari akun WhatsApp pribadi Anda, kirim pesan ke nomor bisnis Anda (ID Pengirim).
Mengirim pesan teks ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso untuk mengirim pesan WhatsApp teks, yang memulai pengguna WhatsApp yang dimulai. Untuk mengirim pesan teks di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- Isi/teks pesan yang akan dikirim
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Dalam contoh ini, kami membalas pengguna WhatsApp dengan teks "Terima kasih atas umpan balik Anda.\n Dari SDK Olahpesan Pemberitahuan".
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")
Perbarui metode utama untuk menjalankan send_text_message()
#Calling send_text_message()
messages.send_text_message()
Mengirim pesan media ke pengguna WhatsApp
SDK Pesan memungkinkan Contoso mengirim pesan Image WhatsApp ke pengguna WhatsApp. Untuk mengirim pesan yang disematkan Gambar di bawah ini, diperlukan detail:
- ID Saluran WhatsApp
- Nomor Telepon Penerima dalam format E16
- MediaUri Gambar
Penting
Untuk mengirim pesan teks ke pengguna WhatsApp, pengguna WhatsApp harus terlebih dahulu mengirim pesan ke Akun WhatsApp Business. Untuk informasi selengkapnya, lihat Mulai mengirim pesan antara bisnis dan pengguna WhatsApp.
Contoh media_uri digunakan dalam mengirim pesan WhatsApp media.
input_media_uri: str = "https://aka.ms/acsicon1"
def send_image_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( ImageNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "https://aka.ms/acsicon1"
image_message_options = ImageNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
Perbarui metode utama untuk menjalankan send_image_message()
# Calling send_image_message()
messages.send_image_message()
Menjalankan kode
Untuk menjalankan kode, pastikan Anda berada di direktori tempat file Anda messages-quickstart.py
berada.
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>>
Kode sampel penuh
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()
Sampel lainnya
Anda dapat meninjau dan mengunduh kode sampel lainnya untuk Python Messages SDK di GitHub.
Langkah berikutnya
Dalam mulai cepat ini, Anda mencoba Advanced Messaging for WhatsApp SDK. Selanjutnya Anda mungkin juga ingin melihat artikel berikut: