Cara hubungkan WooCommerce ke WhatsApp tanpa plugin tambahan: buat tiga webhook di WooCommerce yang mengarah ke URL dari platform pengirim pesan, lalu platform itu mengirim WhatsApp setiap kali order berubah. Panduan ini memakai Kirimi sebagai contoh dan butuh sekitar 15 menit. Webhook sendiri adalah cara satu sistem mengirim notifikasi otomatis ke alamat URL sistem lain begitu ada kejadian, misalnya order baru.
Ringkasnya: Sambungkan toko di Kirimi untuk mendapat Delivery URL dan Secret, buat tiga webhook order (created, updated, deleted) di WooCommerce, lalu tes dengan order transfer bank yang tidak dibayar. Setelah status berubah menjadi Terhubung, pengingat pembayaran dan notifikasi status berjalan otomatis.
Apa saja yang bisa dikirim ke WhatsApp dari WooCommerce?
Lewat Kirimi, ada tiga jenis pesan untuk toko WooCommerce. Contoh toko di artikel ini adalah "Toko Kaos Nusantara".
- Pengingat pembayaran untuk order berstatus Pending payment dan On hold, yang tipikal untuk transfer bank (BACS).
- Notifikasi status ketika order menjadi Processing (Diproses), Completed (Selesai), atau Cancelled (Dibatalkan). Tiap status punya toggle dan teks sendiri.
- Keranjang ditinggalkan, opsional, lewat plugin gratis Cart Abandonment Recovery dari CartFlows. Caranya dibahas di panduan keranjang ditinggalkan WooCommerce dengan CartFlows.
Untuk gambaran konsep notifikasi status secara umum, baca juga update status order otomatis via WhatsApp.
Pakai plugin atau webhook?
Webhook tidak memasang apa pun di WordPress: WooCommerce cukup memberi tahu layanan luar, dan layanan itulah yang mengirim pesan. Kelebihan dan kekurangan tiap jalur dibahas di plugin WhatsApp WooCommerce atau webhook.
Apa yang perlu disiapkan sebelum mulai?
- Akun Kirimi dengan paket berbayar (Lite, Basic, atau Pro). Integrasi toko tidak tersedia di paket Free. Per Oktober 2026, paket Lite mulai Rp29.000 per bulan.
- Akses admin WordPress untuk toko WooCommerce yang bisa dijangkau dari internet. Toko yang masih berjalan di localhost tidak bisa menerima atau mengirim webhook ke layanan luar.
- Nomor WhatsApp yang sudah tersambung sebagai Perangkat (scan QR) atau akun WABA, tergantung pengirim yang kamu pilih.
Bagaimana langkah 1: menyambungkan toko di Kirimi dan menyimpan Secret?
- Masuk ke dash.kirimi.id, buka menu Integrasi, pilih WooCommerce, lalu klik Sambungkan WooCommerce.
- Isi URL tokomu lengkap dengan protokol, misalnya
https://tokokaosnusantara.com. - Kirimi menampilkan Delivery URL dan Secret. Salin keduanya. Secret hanya muncul satu kali, jadi simpan di password manager sebelum menutup jendela.
Secret dipakai untuk tanda tangan. WooCommerce menghitung hash HMAC-SHA256 dari isi webhook dengan secret itu dan menaruhnya di header X-WC-Webhook-Signature. Kirimi menghitung ulang dan hanya memproses webhook yang cocok, sehingga orang lain tidak bisa mengirim order palsu ke URL-mu (dokumentasi webhook WooCommerce REST API v3).
Bagaimana langkah 2: membuat tiga webhook di WooCommerce?
Buka WordPress admin, lalu ke WooCommerce > Settings > Advanced > Webhooks dan klik Add webhook. Menurut dokumentasi resmi WooCommerce, form ini berisi Name, Status, Topic, Delivery URL, dan Secret. Buat tiga webhook dengan isian berikut.
| Name (bebas) | Topic | Status | Delivery URL dan Secret | API Version |
|---|---|---|---|---|
| Kirimi order created | Order created | Active | Dari Kirimi, sama untuk ketiganya | WP REST API Integration v3 |
| Kirimi order updated | Order updated | Active | Sama | WP REST API Integration v3 |
| Kirimi order deleted | Order deleted | Active | Sama | WP REST API Integration v3 |
Kenapa tiga topik? Order created menangkap order baru, Order updated menangkap perubahan status seperti Pending payment menjadi Processing, dan Order deleted memberi tahu Kirimi untuk membatalkan pengingat yang sudah dijadwalkan bila order dihapus.
Isian webhook dan ping pertama
Name hanya label untuk kamu. Kalau dikosongkan, WooCommerce mengisinya dengan "Webhook created on" diikuti tanggal dan jam. Secret yang kamu tempel harus persis sama dengan yang dari Kirimi, di ketiga webhook. Kalau Secret dikosongkan, WooCommerce memakai consumer secret milik user API, yang tidak akan cocok dengan Kirimi.
Saat webhook pertama kali disimpan dengan status Active, WooCommerce mengirim ping ke Delivery URL. Ping ini normal. Di Kirimi, ping tidak mengubah status toko menjadi Terhubung, karena status baru berubah oleh order sungguhan. Kalau ada pengiriman yang gagal, cek WooCommerce > Status > Logs lalu pilih sumber webhooks-delivery di dropdown All sources.
Satu hal yang perlu kamu tahu sejak awal: WooCommerce otomatis menonaktifkan webhook setelah lebih dari lima kegagalan pengiriman berturut-turut. Respons selain 2xx, 301, atau 302 dihitung gagal. Cara memperbaikinya dibahas di webhook WooCommerce disabled atau telat.
Bagaimana langkah 3: mengetes dengan order transfer bank yang tidak dibayar?
- Pastikan metode pembayaran transfer bank sudah aktif di tokomu.
- Di toko, buat order sebagai pembeli dengan nomor WhatsApp milikmu sendiri, pilih transfer bank, dan jangan dibayar.
- Kembali ke Kirimi. Status toko berubah dari "Menunggu webhook pertama" menjadi "Terhubung".
- Tunggu sesuai jeda pengingat, atau lihat jadwalnya di Riwayat pengingat dengan status Terjadwal.
Kalau status tidak berubah setelah beberapa menit, jangan langsung curiga ke pengaturan. pengiriman webhook WooCommerce bergantung pada penjadwal di WordPress (WP-Cron), dan WP-Cron hanya dipicu saat ada kunjungan ke halaman situs, sehingga di toko yang sepi pengiriman bisa tertunda (dokumentasi WordPress soal cron). Buka beberapa halaman tokomu, lalu periksa lagi. Perbaikan permanennya ada di artikel cron di atas.
Bagaimana alurnya bekerja di balik layar?
Urutannya begini. Pembeli menyelesaikan checkout di Toko Kaos Nusantara dan memilih transfer bank. WooCommerce membuat order, lalu menjadwalkan pengiriman webhook Order created ke Delivery URL dari Kirimi. Kirimi memeriksa tanda tangan, membaca nomor telepon, metode pembayaran, dan status order, lalu menjadwalkan pengingat sesuai jeda yang kamu atur. Kalau pembeli membayar sebelum jeda habis, WooCommerce mengirim webhook Order updated, dan Kirimi membatalkan pengingat itu. Kalau pembayaran tidak datang, pesan terkirim pada waktunya, dengan memperhatikan jam tenang.
Dua konsekuensi praktis. Pertama, semua yang kamu ubah di WooCommerce, misalnya mengganti status manual dari On hold ke Processing setelah mengecek mutasi rekening, ikut terbaca otomatis. Kedua, Kirimi hanya bereaksi pada order dan tidak membatalkan order di WooCommerce. Pembatalan tetap dilakukan WooCommerce atau kamu sendiri.
Bagaimana mengatur pengirim, jeda, dan teks pesan?
Setelah terhubung, atur tiga hal di kartu toko di Kirimi.
- Pengirim pesan. Pilih Perangkat (nomor WhatsApp lewat QR, teks bebas) atau WABA (wajib template yang disetujui Meta, biaya sesuai harga Meta).
- Jeda pengingat pembayaran. Bawaannya 45 menit, karena WooCommerce membatalkan order Pending payment setelah Hold stock (bawaannya 60 menit). Kalau Hold stock di tokomu lebih pendek, perpendek juga jeda ini. Hubungannya dibahas di pengingat pembayaran transfer bank WooCommerce.
- Teks per status. Nyalakan toggle Diproses, Selesai, atau Dibatalkan dan tulis teksnya, dengan variabel seperti {{customer_name}}, {{store_name}}, {{total}}, {{order_name}}, {{order_url}}, dan {{items}}. Status mana yang pantas memicu pesan dibahas di status pesanan WooCommerce dan notifikasi WhatsApp.
Aturan pengiriman apa yang berlaku?
Kirimi melewati order COD dan nomor non-Indonesia, menahan pesan di jam tenang, dan menghentikan pengingat begitu order dibayar. Semua alasan pesan dilewati tercatat di Riwayat pengingat; daftar lengkapnya ada di notifikasi WhatsApp WooCommerce tidak terkirim.
Apa checklist sebelum dianggap selesai?
- Ketiga webhook berstatus Active di daftar Webhooks WooCommerce, bukan Paused atau Disabled.
- Delivery URL dan Secret identik di ketiganya, tanpa spasi di awal atau akhir.
- Status toko di Kirimi sudah Terhubung setelah order tes.
- Pesan tes sampai ke nomor milikmu dan tampil dengan Terkirim di Riwayat pengingat.
- Hold stock di toko lebih panjang dari jeda pengingat.
Adakah panduan video?
Kirimi menyediakan video panduan 3 menit dan langkah tertulis di panduan integrasi WooCommerce. Kalau belum punya akun, daftar di dash.kirimi.id. Toko Shopify? Lihat cara menghubungkan Shopify ke WhatsApp.
Pertanyaan yang sering diajukan
Apakah saya perlu memasang plugin WhatsApp di WooCommerce?
Tidak untuk jalur webhook. Webhook sudah bawaan WooCommerce, jadi kamu cukup membuat tiga webhook di WooCommerce > Settings > Advanced > Webhooks yang mengarah ke URL dari Kirimi. Tidak ada plugin Kirimi yang perlu dipasang.
Kenapa status di Kirimi masih "Menunggu webhook pertama" padahal webhook sudah saya simpan?
Ping yang dikirim WooCommerce saat webhook pertama kali disimpan tidak mengubah status menjadi Terhubung. Status baru berubah setelah ada order sungguhan yang masuk dengan tanda tangan valid. Buat satu order tes dengan transfer bank dan jangan dibayar.
Secret dari Kirimi hilang, apa yang harus dilakukan?
Secret hanya ditampilkan satu kali, jadi simpan sejak awal. Kalau sudah hilang, hubungi dukungan Kirimi. Apa pun Secret yang akhirnya dipakai, isian Secret di ketiga webhook WooCommerce harus sama persis.
Apakah pembeli yang memilih COD akan menerima pengingat pembayaran?
Tidak. Kirimi tidak mengirim pengingat pembayaran untuk order dengan metode pembayaran yang namanya memuat COD, cash on delivery, atau bayar di tempat.
Apakah pembeli bisa menerima pesan di tengah malam?
Tidak. Pesan yang jatuh tempo antara pukul 21.00 dan 07.59 WIB dikirim antara pukul 08.00 dan 08.30 WIB, dengan waktu yang disebar.
Bisakah saya memakai integrasi ini bersama WABA?
Bisa. Pilih WABA sebagai pengirim pesan dan pakai template yang sudah disetujui Meta. Template dengan header gambar, video, atau dokumen, header berisi variabel, atau tombol tautan berisi variabel belum didukung. Biaya pesan WABA ditagih Meta sesuai harga Meta.
