Inbox/

Cara membuat bot WhatsApp untuk daftar tugas menggunakan Programmable Conversations API dari Bird

Cara membuat bot WhatsApp untuk daftar tugas menggunakan Programmable Conversations API dari Bird

Poin Penting

  • Programmable Conversations API dari Bird menyatukan WhatsApp, Messenger, dan SMS dalam satu lapisan komunikasi, menyederhanakan pengembangan bot multi-channel.
  • Anda dapat dengan cepat membuat prototipe bot daftar tugas WhatsApp menggunakan webhook dan request POST sederhana.
  • Alat seperti ngrok memungkinkan Anda mengekspos server lokal untuk pengujian webhook tanpa konfigurasi hosting yang rumit.
  • API menangani percakapan di berbagai channel, memungkinkan satu basis logika untuk WhatsApp, WeChat, dan aplikasi lainnya.
  • Gunakan endpoint archiveConversation untuk menutup percakapan atau “topics,” ideal untuk pelacakan dukungan atau alur kerja.
  • Logika bot dapat mengelola percakapan bersamaan secara aman di memori dengan struktur data sederhana.
  • Webhook handler yang sama berfungsi di semua channel. Bird secara otomatis merutekan balasan berdasarkan conversation ID asal.

Bird baru saja meluncurkan Programmable Conversations. Fitur ini memungkinkan perusahaan memadukan platform komunikasi seperti WhatsApp, Messenger, dan SMS ke dalam sistem mereka menggunakan satu API.

Saya ingin mencobanya, jadi saya membuat bot daftar tugas WhatsApp, karena siapa yang tidak butuh daftar tugas otomatis untuk membantu mengatur hari mereka? Kedengarannya mungkin rumit, tapi sebenarnya mudah, dan saya ingin menceritakan semuanya kepada Anda.

Saya bekerja di MessageBird, jadi saya bisa langsung mulai membangun. Jika Anda ingin mencobanya, Anda perlu meminta akses awal. Setelah Anda menyiapkan channel WhatsApp, Anda dapat masuk ke Dashboard di situs web MessageBird dan mulai bekerja.

Menyiapkan lingkungan bot WhatsApp Anda

Hal pertama yang saya lakukan adalah membaca dokumentasi. Saya mengetahui bahwa untuk menerima pesan dari bot, saya harus menggunakan webhook. Artinya bot saya harus dapat diakses dari internet. Saat membangun API seperti ini, penting untuk mengikuti praktik terbaik versioning API demi kemudahan pemeliharaan. Karena saya baru mulai menulis kodenya, saya memutuskan untuk menggunakan ngrok. Alat ini membuat tunnel dari internet publik ke localhost port 5007 Anda. Mulai!

ngrok http 5007 -region eu -subdomain todobot

Membuat webhook dan menghubungkan Bird

Selanjutnya, saya perlu melakukan panggilan ke Programmable Conversations API untuk membuat webhook. Ini adalah POST ke https://conversations.messagebird.com/v1/webhooks dan tampilannya kira-kira seperti ini:

Bagus. Sekarang Conversations API akan melakukan POST request ke:

https://todobot.eu.ngrok.io/create-hook setiap kali pesan baru dibuat di channel WhatsApp yang Anda siapkan sebelumnya.

Berikut tampilan payload webhook:

Kita ingin menjawab pesan-pesan tersebut. Mari mulai dengan mengembalikan pesan yang sama, bagaimana menurut Anda?

Mengirim respons dan menangani pesan

Sekarang, bagian yang menarik. Lakukan POST request ke:

https://conversations.messagebird.com/v1/conversations/<conversationID>/messages untuk menjawab request tersebut.

Selesai. Ini semua yang Anda butuhkan untuk membuat bot yang bertingkah seperti anak 5 tahun.

Berikut alasan mengapa menggunakan Conversations API dari Bird membuat pengembangan bot WhatsApp cepat dan skalabel:

FiturMasalah yang diselesaikan
Unified conversation IDMenjaga satu thread di berbagai aplikasi seperti WhatsApp, WeChat, Messenger
Satu API untuk semua channelGunakan ulang logika bot tanpa menulis ulang untuk setiap platform
Otomatisasi berbasis webhookPenanganan respons cepat tanpa polling
Arsipkan + buka ulang topikMengatur riwayat dukungan dan alur kerja
Struktur concurrency-safeMenangani banyak percakapan secara bersamaan dengan andal

Sekarang, mari kita lanjutkan membangun seluruh daftar tugas. Pertama, ubah sedikit fungsi createHookHandler agar memanggil fungsi handleMessage yang baru, bukan respond.

handle akan mem-parsing pesan secara sederhana, melakukan beberapa pekerjaan, dan memilih respons. Mari lihat perintah “add”:

Di sini, kita menyiapkan: list := manager.fetch(whp.Conversation.ID). Pada dasarnya, “manager” adalah map yang concurrency-safe yang memetakan conversation ID ke daftar tugas.

Daftar tugas adalah string slice yang concurrency-safe. Semuanya di memori!

Mengarsipkan percakapan dan menskalakan bot Anda

Hal penting lainnya! Anda dapat mengarsipkan percakapan. Di beberapa aplikasi, seperti CRM, penting untuk melacak interaksi tertentu, misalnya untuk mengukur efektivitas staf dukungan pelanggan. Conversations API memungkinkan Anda mengarsipkan percakapan untuk “close” topik tersebut. Jika pengguna/pelanggan mengirim pesan lagi, Conversations API akan membuka topik baru secara otomatis.

Mengelola siklus hidup percakapan

Selain itu, melakukan PATCH request ke https://conversations.messagebird.com/v1/conversations/{id} dengan status yang tepat di body memungkinkan Anda mengarsipkan percakapan dengan id tersebut. Kita melakukan ini dengan perintah “bye”:

archiveConversation akan melakukan PATCH request dan manager.close(whp.Conversation.ID) akan menghapus percakapan daftar tugas.

Tapi, Programmable Conversations adalah solusi omni-channel. Bagaimana jika Anda ingin menggunakan ulang kode bot untuk platform lain, seperti WeChat? Pendekatan multi-channel ini merupakan bagian dari strategi mengalihkan pertanyaan ke channel berbiaya lebih rendah. Bagaimana caranya?

Cukup buat webhook baru yang menargetkan channel tersebut! Webhook yang mengirim request ke URL https://todobot.eu.ngrok.io/create-hook yang sama dengan yang kita gunakan untuk WhatsApp!

Ini berfungsi karena kode handler selalu menggunakan conversationID dari payload webhook untuk menjawab pesan, bukan channelID yang di-hardcode. Conversations API dari MessageBird akan secara otomatis menentukan channel percakapan untuk mengirim pesan Anda.

Ingin membuat bot Anda sendiri? Lihat kode lengkapnya di Github: Wabot di Github, minta akses awal ke WhatsApp dengan mengunjungi halaman WhatsApp dan klik tombol Contact Sales untuk mengisi formulir. Selamat membuat bot!

Tanya Jawab

Seberapa sulit membuat bot WhatsApp menggunakan API dari Bird?

Sangat mudah. Dengan webhook dan beberapa panggilan API, Anda dapat membuat bot fungsional yang membaca dan membalas pesan dalam hitungan menit.

Apakah saya memerlukan konfigurasi khusus untuk menerima pesan?

Ya, bot harus dapat dijangkau dari internet. Alat seperti ngrok membantu membuat tunnel yang aman dari mesin lokal Anda.

Bisakah saya menggunakan codebase yang sama untuk aplikasi pesan yang berbeda?

Tentu saja. Conversations API mengabstraksi channel, sehingga bot Anda dapat berjalan di WhatsApp, WeChat, atau Messenger menggunakan logika yang sama.

Bagaimana cara menutup atau mereset thread percakapan?

Kirim PATCH request ke endpoint percakapan dengan status yang tepat untuk mengarsipkannya. Pesan baru secara otomatis membuka percakapan baru.

Di mana saya dapat menemukan contoh kode?

A: Demo lengkap yang berfungsi, Wabot di GitHub, menunjukkan implementasi penanganan pesan, concurrency, dan pengarsipan.

Ide Anda berikutnya.
Siap terhubung.