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

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.

  1. Buka Manajer Paket NuGet di Project>Manage NuGet Packages....
  2. Cari paket Azure.Communication.Messages.
  3. 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.

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

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan bidang 'string Koneksi ion' di bagian 'Kunci primer'.

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.

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan tab 'Saluran'. Perhatian ditempatkan pada tindakan salin bidang 'ID Saluran'.

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:

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

Percakapan WhatsApp yang dilihat di web memperlihatkan pesan pengguna yang dikirim ke nomor Akun WhatsApp Business.

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:

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:

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.

  1. Untuk mengkompilasi kode Anda, tekan Ctrl+F7.
  2. 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

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.

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

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan bidang 'string Koneksi ion' di bagian 'Kunci primer'.

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.

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan tab 'Saluran'. Perhatian ditempatkan pada tindakan salin bidang 'ID Saluran'.

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:

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

Percakapan WhatsApp yang dilihat di web memperlihatkan pesan pengguna yang dikirim ke nomor Akun WhatsApp Business.

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:

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:

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

  1. Navigasi ke direktori yang berisi file pom.xml dan kompilasi proyek dengan menggunakan mvn perintah .

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

Menyiapkan

Untuk menyiapkan lingkungan untuk mengirim pesan, lakukan langkah-langkah di bagian berikut.

Membuat aplikasi Node.js baru

  1. 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
    
  2. Jalankan perintah berikut untuk membuat file package.json dengan pengaturan default.

    npm init -y
    
  3. Gunakan editor teks untuk membuat file yang disebut send-messages.js di direktori akar proyek.

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

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

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan bidang 'string Koneksi ion' di bagian 'Kunci primer'.

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.

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan tab 'Saluran'. Perhatian ditempatkan pada tindakan salin bidang 'ID Saluran'.

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:

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

Percakapan WhatsApp yang dilihat di web memperlihatkan pesan pengguna yang dikirim ke nomor Akun WhatsApp Business.

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:

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:

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

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.

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

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan bidang 'Kunci Primer' di bagian 'Kunci'.

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.

Cuplikan layar yang memperlihatkan sumber daya Azure Communication Services di portal Azure, menampilkan tab 'Saluran'. Perhatian ditempatkan pada tindakan salin bidang 'ID Saluran'.

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:

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

Percakapan WhatsApp yang dilihat di web memperlihatkan pesan pengguna yang dikirim ke nomor Akun WhatsApp Business.

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:

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:

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: