Langsung ke konten utama

WhatsApp

Kirim pesan WhatsApp dari sistem apa pun dengan webhook

Toko online, CRM, atau aplikasi booking Anda sudah tahu kapan pesanan masuk, pembayaran gagal, atau janji temu dibuat. Webhook bisa mengubah setiap kejadian itu menjadi pesan WhatsApp, tanpa coding di sisi Anda. Berikut cara merencanakan, mengamankan, dan mengujinya.

Tim MonoChat Diperbarui: 7 menit baca

Di halaman ini
  1. Apa itu webhook, dan apa yang bukan
  2. Kejadian mana yang layak dikirimi pesan WhatsApp
  3. Aturan WhatsApp yang berlaku
  4. Amankan URL webhook
  5. Tempat membuat webhook di Shopify dan WooCommerce
  6. Uji dengan permintaan nyata sebelum live
  7. Cara melakukannya di MonoChat
  8. Sumber

Untuk mengirim pesan WhatsApp saat sesuatu terjadi di sistem lain, arahkan webhook dari sistem itu ke penerima yang mencari pelanggan berdasarkan nomor telepon lalu mengirim template WhatsApp yang sudah disetujui. Toko online, CRM, atau aplikasi booking Anda sudah mengirim webhook untuk pesanan, pembayaran, dan janji temu. Pekerjaan Anda adalah memilih kejadian mana yang layak dikirimi pesan, menulis template, mengamankan URL, dan menguji dengan permintaan nyata sebelum pelanggan melihat apa pun.

Panduan ini membahas perencanaannya, aturan WhatsApp yang memengaruhinya, dan cara membangunnya di MonoChat dengan alur yang dimulai dari URL webhook-nya sendiri.

Apa itu webhook, dan apa yang bukan

Webhook adalah permintaan HTTP yang dikirim satu sistem ke URL yang Anda berikan saat sebuah kejadian terjadi. Shopify bisa mengirimnya saat pesanan dibuat, WooCommerce saat pesanan diperbarui, CRM saat deal pindah tahap, dan aplikasi booking saat janji temu dibuat. Permintaan itu membawa detail kejadian, biasanya dalam format JSON: nomor pesanan, nominal, nama pelanggan, dan yang paling penting untuk WhatsApp, nomor telepon.

Webhook tidak mengirim apa pun ke pelanggan dengan sendirinya. Harus ada sesuatu yang menerima permintaan itu, memutuskan apa yang dilakukan, lalu memanggil WhatsApp Business API. “Sesuatu” itu bisa berupa kode yang Anda tulis dan host sendiri, atau platform otomatisasi yang memberi Anda URL webhook dan membiarkan Anda membangun sisanya tanpa coding.

Kejadian mana yang layak dikirimi pesan WhatsApp

Tidak semua kejadian perlu pesan. Pelanggan yang menerima lima notifikasi untuk satu pesanan akan mulai mengabaikan semuanya. Pilih momen yang benar-benar mereka tunggu:

KejadianPesanKategori template
Pesanan dibuat atau dibayarKonfirmasi dengan nomor pesanan dan langkah berikutnyaUtility
Pembayaran gagal atau tertundaCatatan singkat dan cara membayar ulangUtility
Pesanan dikirimNama kurir dan link pelacakan resiUtility
Pesanan COD dibuatPertanyaan: konfirmasi pesanan, ubah alamat, atau batalkanUtility
Janji temu dibuat, diubah, atau jatuh tempo besokTanggal, jam, lokasi, dan cara menjadwal ulangUtility
Deal menang atau kalah di CRMSerah terima ke account manager, atau pertanyaan masukanUtility atau marketing, tergantung teksnya
Keranjang ditinggalkanPengingat, mungkin dengan penawaranMarketing

Meta menentukan kategori dari isi template, bukan dari label yang Anda pilih. Pesan tentang pesanan, pembayaran, atau booking tertentu termasuk utility; apa pun yang mempromosikan, menawarkan, atau mencoba membujuk termasuk marketing dan membutuhkan persetujuan yang mencakup pesan marketing. Contoh template WhatsApp kami berisi contoh kalimat untuk kasus utility di atas.

Aturan WhatsApp yang berlaku

Sebagian besar pesan dari webhook butuh template

Jendela layanan pelanggan terbuka saat pelanggan mengirim pesan atau menelepon Anda, dan berlaku 24 jam sejak pesan terakhir mereka. Di dalamnya Anda bebas membalas; di luarnya Anda hanya bisa mengirim pesan template yang sudah disetujui. Kejadian dari toko dan CRM jarang terjadi di dalam jendela itu, jadi rencanakan setiap pesan webhook sebagai template, dan ajukan template untuk ditinjau sebelum Anda mengaktifkan apa pun.

Nomor telepon harus bisa dipakai

Webhook harus membawa nomor telepon yang bisa dijangkau WhatsApp: dalam format internasional, dengan kode negara (misalnya 62, bukan 0 di depan). Banyak toko membiarkan pelanggan mengetik nomor sesuka hati, jadi periksa beberapa pesanan nyata. Nomor tanpa kode negara adalah penyebab paling umum mengapa uji coba berhasil tetapi produksi gagal.

Harga berubah pada 1 Oktober 2026

Meta menagih per pesan terkirim sejak 1 Juli 2025. Sejak 1 Oktober 2026, template utility yang dikirim di dalam jendela layanan pelanggan yang masih terbuka kembali dikenakan biaya, setelah sempat gratis, dan setiap nomor telepon bisnis mendapat 1.000 pesan layanan gratis per bulan. Tarif bergantung pada kategori dan negara pelanggan. Dalam praktiknya: konfirmasi pesanan tetap berbayar, baik pelanggan baru saja menulis kepada Anda maupun tidak, jadi kirim pesan yang penting dan lewati yang tidak. Panduan harga WhatsApp API menjelaskan kartu tarifnya.

Amankan URL webhook

Siapa pun yang tahu URL webhook bisa memanggilnya. Jika URL itu mengirim pesan WhatsApp, URL yang bocor berarti orang lain bisa mengirim pesan ke pelanggan Anda atas nama Anda, atau membuat tagihan Anda membengkak. Tiga kebiasaan ini mencegahnya:

  • Wajibkan secret. Sistem pengirim menambahkan secret ke header, atau menandatangani body permintaan dengan secret itu (HMAC-SHA256) sehingga penerima bisa memastikan permintaan tidak diubah di perjalanan. Permintaan tanpa secret atau tanda tangan yang valid ditolak.
  • Satu URL untuk satu keperluan. Alur pesanan dan alur booking sebaiknya punya URL dan secret yang berbeda, agar Anda bisa mengganti salah satunya tanpa menyentuh yang lain.
  • Pantau kegagalan di sisi pengirim. WooCommerce menonaktifkan webhook setelah lebih dari lima kali pengiriman gagal berturut-turut, dan Shopify menghapus langganan webhook yang tujuannya berulang kali mengembalikan respons selain 200. Penerima yang mati atau salah konfigurasi bisa diam-diam menghentikan notifikasi Anda.

Tempat membuat webhook di Shopify dan WooCommerce

  • Shopify: Settings › Notifications › Webhooks, lalu Create webhook. Pilih satu event (Order creation, Order payment, Fulfillment creation, dan banyak lagi), format JSON, dan URL https://. Event tidak bisa diubah setelah webhook dibuat, jadi buat satu webhook per event. Send test memastikan webhook sampai ke URL.
  • WooCommerce: WooCommerce › Settings › Advanced › Webhooks, lalu Add webhook. Pilih topic (event order, customer, coupon, atau product), isi delivery URL dan secret; WooCommerce menambahkan hash payload yang dibuat dengan secret itu ke header permintaan.
  • CRM atau aplikasi booking: cari menu “webhooks”, “automations”, atau “outgoing integrations”. Jika hanya tersedia format tetap, cek field mana yang berisi nomor telepon pelanggan sebelum Anda membangun apa pun.

Uji dengan permintaan nyata sebelum live

Payload webhook panjang, dan setiap platform memberi nama field yang berbeda: nomor telepon bisa berada di phone, billing.phone, atau customer.default_address.phone. Jangan menebak. Kirim permintaan uji yang nyata, lihat apa yang masuk, dan petakan field dari situ. Lalu uji kasus-kasus khusus:

  • pesanan tanpa nomor telepon, atau dengan nomor tanpa kode negara;
  • kejadian yang sama terkirim dua kali, yang terjadi saat platform mencoba ulang;
  • pesanan yang masuk pukul 3 dini hari, jika Anda lebih suka pesannya menunggu sampai pagi;
  • pelanggan yang membalas notifikasi, sehingga tim Anda atau asisten AI siap menjawab.

Cara melakukannya di MonoChat

MonoChat adalah Meta Business Partner resmi. Sejak versi 3.8.37 (Oktober 2026), sebuah alur bisa dimulai dari webhook, sehingga toko online atau CRM Anda bisa memicu pesan WhatsApp tanpa coding di sisi Anda.

1. Mulai alur dengan node Webhook Diterima. Tambahkan dari node event. Node ini mendapat URL webhook dan secret sendiri. Pilih kanal, misalnya nomor WhatsApp Anda, dan Path Identitas, yaitu letak nomor telepon pelanggan di dalam permintaan (request.body.phone secara default). MonoChat mencari pelanggan di kanal itu, atau membuatnya, lalu menjalankan alur untuknya. Node menjawab pengirim dengan 202 setelah alur masuk antrean, dan dengan pesan error yang jelas jika kanal atau nomor telepon tidak ditemukan.

2. Aktifkan Wajibkan Secret. Pengirim bisa meletakkan secret di header token (Authorization secara default, langsung atau sebagai Bearer <secret>), atau mengirim tanda tangan HMAC-SHA256 dari body mentah di header tanda tangan (X-Signature secara default). Kedua nama header bisa diubah sesuai sistem pengirim.

3. Tangkap permintaan nyata. Tambahkan /test di akhir URL webhook dan arahkan webhook uji dari toko Anda ke sana. Selama pengaturan node terbuka, permintaan muncul di Permintaan yang Diterima lengkap dengan body, query, dan header-nya, tanpa memulai alur. Gunakan untuk menemukan path yang Anda butuhkan, lalu simpan sebagai variabel alur, misalnya request.body.orderId sebagai orderId.

4. Kirim pesannya. Tambahkan node Kirim Pesan Templat dengan template yang sudah disetujui, dan isi variabelnya dari variabel alur: nomor pesanan, nominal, link pelacakan. Gunakan kondisi untuk mengirim template berbeda untuk status yang berbeda.

5. Panggil balik jika perlu. Node Permintaan HTTP bisa mengambil data tambahan dari sistem Anda sendiri, atau menulis balik jawaban pelanggan, misalnya “dikonfirmasi” pada pesanan COD. Node ini lanjut ke Keluaran saat panggilan berhasil dan ke Saat Gagal saat tidak, sehingga Anda bisa mengirim pesan cadangan atau menugaskan percakapan ke seseorang di tim.

Saat pelanggan membalas, percakapan masuk ke inbox MonoChat yang sama dengan chat WhatsApp, Instagram, dan Messenger Anda lainnya, tempat tim Anda atau asisten AI bisa mengambil alih. Untuk membangun alur, lihat otomatisasi alur kerja.

Dua jalur lain, tergantung siapa yang mengerjakannya:

  • Developer Anda sudah terbiasa memanggil API. Aplikasi WhatsApp Template API mengirim template yang disetujui dengan satu panggilan API, dan balasan masuk ke inbox.
  • Anda memakai Shopify dan ingin data pesanan ada di chat. Otomatisasi chat Shopify menyinkronkan produk dan pesanan sehingga tim dan asisten AI bisa menjawab pertanyaan tentang pesanan.

Untuk memulai, buat akun gratis di app.monochat.ai, hubungkan nomor WhatsApp Anda, dan bandingkan paket di halaman harga.

Sumber

FAQ

Pertanyaan yang sering diajukan

Apakah webhook bisa mengirim pesan WhatsApp sendiri?

Tidak. Webhook hanya memberi tahu sistem lain bahwa sesuatu terjadi, misalnya pesanan baru dibuat. Anda membutuhkan penerima yang membaca permintaan itu, menemukan pelanggan, lalu mengirim pesan melalui WhatsApp Business API. Di MonoChat, penerima itu adalah alur (flow) yang dimulai dari URL webhook-nya sendiri.

Apakah saya perlu template untuk mengirim pesan ke pelanggan dari webhook?

Hampir selalu. Kejadian di toko, CRM, atau sistem booking biasanya terjadi saat pelanggan tidak mengirim pesan kepada Anda dalam 24 jam terakhir. Artinya jendela layanan pelanggan sudah tertutup dan hanya template WhatsApp yang disetujui yang boleh dikirim. Jika pelanggan menulis dalam 24 jam terakhir, pesan biasa diperbolehkan.

Kejadian Shopify atau WooCommerce apa yang layak dikirim ke WhatsApp?

Mulailah dari kejadian yang ditunggu pelanggan: pesanan dikonfirmasi, pembayaran gagal atau tertunda, pesanan dikirim beserta nomor resi, serta janji temu dibuat atau diubah. Tunda pesan promosi, dan kirim hanya ke pelanggan yang sudah setuju menerima pesan marketing.

Bagaimana mencegah orang asing memicu pesan WhatsApp saya?

Rahasiakan URL webhook dan wajibkan secret. Sistem pengirim lalu harus menyertakan secret itu, atau tanda tangan HMAC-SHA256 dari body permintaan yang dibuat dengan secret tersebut. Permintaan tanpa secret ditolak.

Apakah notifikasi pesanan WhatsApp gratis?

Tidak. Meta mengenakan biaya per pesan template yang terkirim, berdasarkan kategori dan negara. Sejak 1 Oktober 2026, template utility yang dikirim di dalam jendela layanan pelanggan yang masih terbuka kembali dikenakan biaya, dan setiap nomor telepon bisnis mendapat 1.000 pesan layanan gratis per bulan.

Bulan pertama Growth gratis dari kami

Kelola WhatsApp, Instagram, dan Messenger dari satu inbox

Mulai gratis dengan MonoChat: inbox tim bersama, asisten AI, template, dan kampanye di API resmi Meta.

Satu kode per bisnis • 30 hari untuk menukarkan • Tanpa kartu kredit

$150 untuk memulai.

Klaim