Chat App Message Service menyediakan API untuk membuat templat, mengirim pesan tunggal, dan mengirim pesan secara massal. Topik ini menggunakan channel WhatsApp sebagai contoh, dan prosesnya dapat dijadikan referensi untuk jenis channel lainnya.
Anda dapat memanggil API Chat App Message Service dengan cara berikut:
Portal OpenAPI Portal Alibaba Cloud
Cara ini cocok untuk developer yang lebih menyukai antarmuka pengguna interaktif atau yang baru mengenal produk Alibaba Cloud. Anda dapat melakukan debug API dan mendapatkan contoh permintaan SDK di OpenAPI Portal.
SDK tersedia untuk berbagai bahasa pemrograman, seperti Java, Go, PHP, dan Python. Menggunakan SDK untuk mengintegrasikan Chat App Message Service dapat meningkatkan efisiensi pengembangan Anda.
Enkapsulasi kustom (tidak disarankan)
SDK Alibaba Cloud menangani mekanisme seperti penandatanganan permintaan, timeout, dan retry. Kami menyarankan menggunakan SDK untuk mengurangi biaya pengembangan. Jika Anda ingin melakukan enkapsulasi sendiri untuk memanggil API, lihat SendChatappMessage dan Signature examples.
Topik ini menjelaskan cara menggunakan Chat App Message Service dengan SDK. Setelah meninjau API di OpenAPI Portal, Anda dapat mengikuti petunjuk dalam topik ini untuk mengintegrasikan Chat App Message Service. Alur keseluruhan adalah sebagai berikut:
Persiapan
Persiapan | Deskripsi | Referensi |
Daftarkan Akun Alibaba Cloud Lengkapi verifikasi identitas perusahaan |
| |
Aktifkan layanan | Login ke Konsol Chat App Message Service, lalu aktifkan layanan tersebut. | - |
Konfigurasikan izin pengguna | Akun Alibaba Cloud memiliki izin tingkat tinggi. Kami menyarankan menggunakan RAM user untuk panggilan API dan operasi harian. Anda dapat memeriksa izin pengguna dengan login ke Konsol RAM dan mengklik nama RAM user tersebut. Pastikan RAM user yang melakukan panggilan API memiliki izin yang diperlukan untuk Chat App Message Service:
| |
ID AccessKey | Login ke RAM console, lalu klik nama RAM user untuk melihat ID AccessKey. | |
Rahasia AccessKey | Rahasia AccessKey tidak dapat dilihat lagi setelah dibuat. Jika Anda tidak memiliki cadangan lokal, buatlah Pasangan Kunci Akses baru. |
Konfigurasi lingkungan
Topik ini menggunakan Java sebagai contoh. Untuk bahasa lain dan metode instalasi SDK-nya, lihat Installation Method.
Periksa lingkungan Java Anda: Versi Java Anda harus Java 8 atau lebih tinggi. Untuk petunjuk detail, lihat Siapkan lingkungan pengembangan Java di Windows.
Instal SDK dengan mengonfigurasi dependensi Maven.
Dalam file
pom.xmlproyek Maven Anda, tambahkan informasi berikut ke dalam tag<dependencies>dan gantithe-latest-versiondengan nomor versi terbaru. Setelah menyimpan file, muat ulang dependensi Maven.<dependency> <groupId>com.aliyun</groupId> <artifactId>alibabacloud-cams20200606</artifactId> <!-- Ganti 'the-latest-version' dengan nomor versi terbaru: https://mvnrepository.com/artifact/com.aliyun/alibabacloud-cams20200606 --> <version>the-latest-version</version> </dependency>Konfigurasikan variabel lingkungan: Untuk menghindari hardcoding Pasangan Kunci Akses Anda dalam kode dan mencegah kebocoran, kami menyarankan mengonfigurasi variabel lingkungan dan membaca Pasangan Kunci Akses dari sana. Setelah dikonfigurasi, restart atau refresh lingkungan pengembangan Anda, termasuk IDE, command-line interface, dan aplikasi lainnya, agar variabel lingkungan baru dimuat.
Konfigurasikan proxy (opsional). Untuk mengakses layanan melalui server proxy, konfigurasikan proxy menggunakan SDK. Untuk informasi selengkapnya, lihat Konfigurasi proxy.
Informasi dasar API
Versi API | |
RPC | |
(Endpoint) | Titik akhir publik: cams.ap-southeast-1.aliyuncs.com |
Bacalah spesifikasi parameter API dan petunjuk penggunaannya sebelum melakukan panggilan. Debug Online | Ikhtisar API
Alur kerja
Buat channel: Buka halaman Channel Management.
Channel adalah jenis jalur yang digunakan untuk mengirim pesan. Channel WhatsApp, Viber, Messenger, Instagram, dan Email didukung.
Pilih jenis channel yang sesuai, karena setiap channel hanya dapat mengirim jenis pesan yang sesuai dengannya.
Daftarkan dan bind WABA: Panggil API ChatappBindWaba untuk mengikat WhatsApp Business Account (WABA).
Sebelum memanggil API ini, Anda harus sudah memiliki WABA yang terdaftar. Anda tidak dapat mendaftarkan WABA melalui API. Jika belum memilikinya, daftarkan melalui halaman tersemat di Konsol Chat App Messaging Service.
WABA adalah akun bisnis resmi yang wajib didaftarkan perusahaan untuk mengirim pesan komersial WhatsApp. WABA yang telah diverifikasi oleh WhatsApp akan menerima lencana verifikasi, yang meningkatkan kepercayaan pelanggan dan memperkuat citra merek sekaligus mengurangi gangguan dari pesan penipuan.
Tambahkan nomor: Panggil API AddChatappPhoneNumber untuk menambahkan nomor. Nomor telepon ini akan digunakan untuk mengirim pesan WhatsApp.
Anda dapat menyinkronkan nomor di bawah WABA yang telah di-bind dan disetujui dengan platform Business Manager (BM) menggunakan API ChatappSyncPhoneNumber.
Fitur migrasi nomor memungkinkan Anda memindahkan nomor telepon yang terdaftar di BSP lain ke Alibaba Cloud. Nomor yang dimigrasikan akan mempertahankan nama tampilan aslinya, peringkat kualitas, batas pengiriman pesan, status akun bisnis resmi, serta semua templat pesan berkualitas tinggi yang sebelumnya telah disetujui. Gunakan API CreateChatappMigrationInitiate untuk memulai migrasi.
Verifikasi nomor: Panggil API GetChatappVerifyCode untuk mendapatkan kode verifikasi nomor tersebut. Lalu, gunakan operasi API ChatappVerifyAndRegistr untuk memverifikasi nomor tersebut. Setelah diverifikasi, gunakan operasi API GetPhoneNumberVerificationStatus untuk memeriksa status verifikasi.
Jika Anda menggunakan nomor yang dimigrasikan, panggil API GetMigrationVerifyCode untuk mendapatkan kode verifikasi. Kemudian, panggil API ChatappMigrationVerified untuk memverifikasi nomor yang dimigrasikan.
Buat dan desain templat: Panggil API CreateChatappTemplate untuk membuat templat. Setelah templat dibuat, templat tersebut akan otomatis diajukan untuk ditinjau. Lalu, gunakan API GetChatappTemplateDetail untuk menanyakan detail peninjauan templat.
Setelah templat diajukan untuk ditinjau, pantau status peninjauannya. Peninjauan biasanya selesai dalam waktu lima menit, tetapi kadang-kadang bisa memakan waktu lebih dari 24 jam.
Kategori templat pesan WhatsApp dapat berubah secara otomatis selama proses peninjauan. Saat memanggil API CreateChatappTemplate, Anda dapat mengatur parameter CategoryChangePaused menjadi true untuk menjeda pengiriman saat kategori berubah. Untuk informasi selengkapnya, lihat Tambahkan kontrol pengiriman saat kategori templat pesan WhatsApp berubah.
Kirim pesan: Panggil API SendChatappMessage atau SendChatappMassMessage untuk mengirim pesan.
Sebelum mengirim, pastikan saldo akun Anda mencukupi. Untuk informasi selengkapnya, lihat Harga.
Lihat detail pengiriman pesan: Terima laporan untuk pesan yang telah dikirim melalui callback ChatAppStatus (Simple Message Queue | HTTP URL).
Terima pesan mobile originated (MO): Terima pesan inbound melalui callback ChatAppInbound (Simple Message Queue | HTTP URL).
Untuk informasi selengkapnya tentang operasi API, lihat Ikhtisar API.
Kode contoh
Kode contoh berikut menunjukkan cara menggunakan SDK untuk mengirim pesan dengan memanggil API SendChatappMessage. Isi parameter sesuai komentar.
// File ini di-generate secara otomatis, jangan edit. Terima kasih.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* deskripsi :
* <p>Inisialisasi client menggunakan kredensial.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.cams20200606.Client createClient() throws Exception {
// Untuk lingkungan produksi, kami menyarankan metode yang lebih aman yang tidak melakukan hardcoding AccessKey. Untuk detailnya, kunjungi https://www.alibabacloud.com/help/doc-detail/2542825.html.
com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setCredential(credential);
// Titik akhir layanan. Untuk detailnya, kunjungi https://api.alibabacloud.com/product/cams.
config.endpoint = "cams.ap-southeast-1.aliyuncs.com";
return new com.aliyun.cams20200606.Client(config);
}
public static void main(String[] args_) throws Exception {
com.aliyun.cams20200606.Client client = Sample.createClient();
java.util.Map<String, String> templateParams = TeaConverter.buildMap(
// Ganti ini dengan nama variabel dan nilai dari templat Anda
new TeaPair("name", "Bob"),
new TeaPair("sex", "Male")
);
com.aliyun.cams20200606.models.SendChatappMessageRequest sendChatappMessageRequest = new com.aliyun.cams20200606.models.SendChatappMessageRequest()
// Parameter untuk mengirim pesan.
.setTemplateParams(templateParams)
.setTemplateCode("XXXXXXXXXXX")
.setChannelType("whatsapp")
.setType("template")
.setLanguage("en")
.setFrom("XXXXXXXX")
.setTo("XXXXXXXX")
.setCustSpaceId("XXXXXXXXXXX");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali API sendiri.
client.sendChatappMessageWithOptions(sendChatappMessageRequest, runtime);
} catch (TeaException error) {
// Ini hanya untuk pencetakan dan demonstrasi. Tangani exception dengan hati-hati dan jangan abaikan dalam proyek Anda.
// Pesan error.
System.out.println(error.getMessage());
// Alamat diagnostik.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Ini hanya untuk pencetakan dan demonstrasi. Tangani exception dengan hati-hati dan jangan abaikan dalam proyek Anda.
// Pesan error.
System.out.println(error.getMessage());
// Alamat diagnostik
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
Anda dapat mengunjungi OpenAPI Portal untuk melihat contoh permintaan SDK lengkap dalam berbagai bahasa. Jika ingin melakukan enkapsulasi untuk memanggil API, lihat SendChatappMessage dan Signature examples.
Pertanyaan umum
Mengapa tombol pendaftaran di halaman pendaftaran WABA berwarna abu-abu dan tidak dapat diklik?
Bagaimana cara melihat pesan yang dikirim pengguna akhir ke bisnis saya?
Mengapa saya tidak dapat menyelesaikan Verifikasi Bisnis Meta saat membuat WABA?
Dapatkah saya mengedit templat pesan WhatsApp setelah disetujui?
Apa yang harus saya lakukan jika akun Facebook saya diblokir?
Bagaimana cara menambahkan nomor telepon internasional di WhatsApp?
Apa saja aturan atau batasan bagi bisnis yang mengirim pesan dari nomor WhatsApp bisnis?
Dapatkah saya mengedit templat pesan Viber setelah templat dibuat?