panduan28 Oktober 2026

Webhook WooCommerce Disabled atau Telat? Aktifkan dan Cek Cron

Webhook WooCommerce disabled berarti pengiriman berhenti setelah lebih dari lima kegagalan. Cek log, aktifkan ulang, dan rapikan WP-Cron agar tidak telat.

Webhook WooCommerce disabled berarti WooCommerce sudah berhenti mengirim karena lebih dari lima pengiriman gagal berturut-turut. Perbaiki penyebab kegagalannya, lalu ubah status webhook kembali ke Active. Kalau webhook-nya Active tetapi pesan WhatsApp datang terlambat, biasanya masalahnya ada di WP-Cron, bukan di webhook.

Ringkasnya: Disabled dan telat adalah dua masalah berbeda. Disabled datang dari kegagalan pengiriman berturut-turut dan diperbaiki dengan mengecek log lalu mengaktifkan ulang. Telat datang dari WP-Cron yang hanya jalan saat ada kunjungan, dan diperbaiki dengan cron server.

Webhook adalah kiriman data otomatis dari toko kamu ke alamat lain setiap kali ada kejadian, misalnya pesanan baru. Di WooCommerce, alamat tujuannya disebut Delivery URL. Kalau kamu belum membuat webhook-nya, mulai dari panduan menghubungkan WooCommerce ke WhatsApp lewat webhook. Artikel ini khusus untuk saat webhook sudah dibuat tetapi bermasalah.

Apa yang dicatat log webhooks-delivery di WooCommerce?

  1. Buka WooCommerce > Status > Logs.
  2. Di pilihan sumber log, pilih webhooks-delivery.
  3. Cari entri terbaru untuk webhook yang bermasalah. Log mencatat tiap pengiriman beserta respons dari server penerima.
  4. Lihat kode respons. Kode 2xx berarti sukses. Selain itu, catat kodenya.

Kode respons itu petunjuk terbaik kamu. Kode 404 biasanya berarti Delivery URL salah ketik, 5xx berarti server penerima bermasalah, dan 302 ke halaman login berarti ada redirect di depan alamat tujuan.

Kapan WooCommerce menonaktifkan webhook otomatis?

Menurut dokumentasi WooCommerce, webhook punya tiga status: Active (mengirim), Paused (berhenti sementara, diatur manual), dan Disabled (berhenti karena kegagalan). Sebuah webhook menjadi Disabled setelah lebih dari lima kali pengiriman gagal berturut-turut. Gagal artinya server tujuan menjawab dengan kode selain 2xx, 301, atau 302, jadi error 4xx dan 5xx ikut dihitung.

Artinya, satu gangguan singkat di sisi tujuan, misalnya situs penerima down selama beberapa pesanan beruntun, sudah cukup untuk mematikan webhook sampai ada yang menyalakannya lagi. Pesanan yang masuk selama webhook mati tidak otomatis terkirim ke penerima, jadi cek juga pesanan yang terlewat.

Apa penyebab umum webhook gagal kirim?

  • Delivery URL salah. Salah satu karakter atau spasi di awal dan akhir saat menempel. Samakan persis dengan URL yang diberikan layanan penerima.
  • Penerima sedang tidak terjangkau. Maintenance, down singkat, atau timeout. Hookdeck menyebut downtime sementara, masalah jaringan, dan redirect autentikasi sebagai penyebab yang sering.
  • Firewall atau plugin keamanan. Pengiriman keluar dari situs kamu atau permintaan masuk di sisi penerima bisa saja diblokir. Periksa pengaturan firewall hosting dan plugin keamanan.
  • Redirect. Respons 301 dan 302 tidak dihitung gagal, tetapi redirect ke halaman autentikasi bisa berujung pada respons error di ujungnya. Pakai alamat akhir yang langsung menjawab.
  • Masalah SSL. Sertifikat kedaluwarsa atau rantai sertifikat tidak lengkap di salah satu sisi membuat koneksi gagal sebelum data terkirim.
  • Secret tidak cocok. Secret dipakai untuk membuat tanda tangan di header X-WC-Webhook-Signature. Kalau penerima memeriksa tanda tangan dan secret-nya berbeda, penerima akan menolak permintaan. Ini bukan penyebab pasti, tetapi cek bahwa secret di WooCommerce sama dengan yang tersimpan di penerima.

Gejala di WooCommerce mengarah ke masalah yang mana?

Setelah membaca log, cocokkan gejalanya dengan tabel ini. Contohnya di "Toko Kaos Nusantara" yang pesanannya baru masuk tetapi WhatsApp belum terkirim.

GejalaDugaan pertamaCek di mana
Status webhook DisabledGagal kirim berturut-turutWooCommerce > Settings > Advanced > Webhooks, lalu log webhooks-delivery
Status Active, tetapi pesan telat belasan menitWP-Cron menunggu kunjunganWooCommerce > Status > Scheduled Actions
Webhook Active dan log sukses, tetapi pesan tidak adaPesan dilewati di sisi penerimaLihat alasan dilewati di riwayat pengingat

Urutan ini penting: baca log dulu, baru cron. Jangan langsung mengutak-atik cron kalau webhook-nya ternyata Disabled.

Bagaimana cara mengaktifkan kembali webhook yang Disabled?

Sumber resmi tidak sepenuhnya sejalan. Halaman REST API webhooks milik developer WooCommerce menyebut webhook yang Disabled harus diedit lewat REST API untuk diaktifkan lagi. Sementara itu halaman dokumentasi webhook tidak menjelaskan caranya, dan panduan Hookdeck menyebut aktivasi ulang manual di admin. Karena itu coba jalur admin dulu, dan lanjut ke REST API kalau tidak berhasil.

  1. Perbaiki penyebab kegagalan lebih dulu. Mengaktifkan ulang tanpa perbaikan hanya membuat webhook mati lagi setelah beberapa kegagalan.
  2. Buka WooCommerce > Settings > Advanced > Webhooks dan klik webhook yang Disabled.
  3. Ubah Status menjadi Active, lalu klik Save webhook.
  4. Muat ulang daftar webhook. Kalau statusnya kembali Disabled atau tidak berubah, ubah lewat REST API: kirim permintaan PUT ke endpoint webhook (/wp-json/wc/v3/webhooks/ID) dengan status bernilai active, memakai API key WooCommerce yang punya izin tulis.
  5. Buat satu pesanan tes dan cek log webhooks-delivery untuk memastikan responsnya 2xx.

Menyimpan webhook berstatus Active juga mengirim ping ke Delivery URL. Itu normal dan bukan tanda pesanan sungguhan sampai.

Kenapa webhook Active tetap telat?

WP-Cron adalah penjadwal bawaan WordPress. Menurut dokumentasi WordPress, WP-Cron tidak berjalan terus-menerus seperti cron sistem, hanya terpicu saat ada page load. Menurut dokumentasi developer WooCommerce, pengiriman webhook secara bawaan diproses di latar belakang lewat wp-cron. Maka toko yang sepi pengunjung, terutama dini hari, bisa menahan webhook sampai ada yang membuka situs.

Untuk melihat antrean, buka WooCommerce > Status > Scheduled Actions (Action Scheduler, penjadwal yang dipakai WooCommerce). Kalau di daftar Pending ada tugas dengan jadwal yang sudah lewat jauh, antreannya tidak berjalan tepat waktu.

Bagaimana menjalankan cron server supaya tepat waktu?

Idenya: biarkan server memanggil WP-Cron secara terjadwal, bukan menunggu pengunjung. Urutannya penting, seperti dijelaskan panduan G7 Cloud.

  1. Tambahkan cron di server terlebih dahulu. Di VPS dengan WP-CLI, contohnya berjalan tiap lima menit: */5 * * * * cd /var/www/tokokamu.com && /usr/local/bin/wp cron event run --due-now --quiet. Sesuaikan folder dan lokasi wp, dan pasang di crontab milik user situs (misalnya www-data), bukan root. Tanpa WP-CLI, panduan yang sama memberi alternatif lewat HTTP: */5 * * * * curl -sS -o /dev/null https://tokokamu.com/wp-cron.php?doing_wp_cron. Di hosting dengan panel, cari menu Cron Jobs dan isi jadwal serta perintah serupa.
  2. Pastikan cron berjalan, misalnya dengan melihat Scheduled Actions bergerak.
  3. Baru setelah itu buka wp-config.php dan tambahkan define('DISABLE_WP_CRON', true); di atas baris "That's all, stop editing!".
  4. Pantau Scheduled Actions beberapa hari. Tidak boleh ada tugas Pending yang jadwalnya sudah lewat lama.

Panduan tersebut menyebut interval lima menit cocok untuk hampir semua situs, dan satu menit hanya untuk toko yang butuh hampir instan. Sebagian hosting membatasi interval minimum, jadi cek aturan hostingmu.

Apakah cron server pasti menyelesaikan masalah telat?

Tidak ada jaminan hasil yang sama di semua situs. Sebagian hosting tidak memberi akses WP-CLI, sebagian membatasi cron, dan ada plugin atau pengaturan Action Scheduler yang mengubah cara antrean berjalan. Kalau setelah cron server pengiriman masih lambat, tanyakan ke penyedia hosting apakah cron berjalan sesuai jadwal dan apakah ada batas eksekusi.

Setelah webhook Active, ke mana mengecek sisi Kirimi?

Kalau toko terhubung ke Kirimi, cek status toko dan alasan pesan dilewati di panduan notifikasi WhatsApp WooCommerce tidak terkirim. Integrasi toko tersedia di paket berbayar Kirimi, mulai Rp29.000 per bulan untuk paket Lite per Oktober 2026, dan kamu bisa daftar di dash.kirimi.id.

Pertanyaan yang sering diajukan

Kenapa webhook WooCommerce berubah jadi Disabled?

WooCommerce menonaktifkan webhook otomatis setelah lebih dari lima kali pengiriman gagal berturut-turut. Respons selain 2xx, 301, atau 302 dihitung gagal. Penyebab umumnya URL tujuan salah, situs penerima sedang down atau lambat, firewall yang memblokir, atau redirect.

Bagaimana cara mengaktifkan lagi webhook WooCommerce yang Disabled?

Perbaiki dulu penyebab kegagalannya. Lalu buka WooCommerce > Settings > Advanced > Webhooks, buka webhook-nya, ubah Status ke Active, dan simpan. Dokumentasi developer WooCommerce menyebut webhook yang Disabled harus diedit lewat REST API, jadi kalau status kembali ke Disabled setelah disimpan, ubah lewat REST API.

Di mana melihat log pengiriman webhook WooCommerce?

Di WooCommerce > Status > Logs, pilih sumber log webhooks-delivery. Log mencatat tiap event yang memicu webhook dan respons dari server penerima.

Kenapa webhook WooCommerce terlambat padahal statusnya Active?

Secara bawaan WooCommerce mengirim webhook di latar belakang lewat WP-Cron, dan WP-Cron hanya berjalan ketika ada kunjungan ke situs. Di toko yang sepi, pengiriman bisa tertahan sampai ada pengunjung berikutnya. Cron server yang memanggil WP-Cron secara terjadwal mengatasi hal ini.

Apakah aman menambahkan DISABLE_WP_CRON?

Aman kalau cron server sudah berjalan lebih dulu. Tambahkan cron server, pastikan jalan, baru pasang define('DISABLE_WP_CRON', true) di wp-config.php. Kalau urutannya terbalik, tugas terjadwal tidak berjalan sama sekali sampai cron server aktif.

Apakah ping saat menyimpan webhook cukup untuk status Terhubung di Kirimi?

Tidak. Ping saat penyimpanan itu normal, tetapi status toko di Kirimi baru berubah dari Menunggu webhook pertama menjadi Terhubung setelah webhook pesanan sungguhan dengan tanda tangan valid tiba. Buat pesanan tes dengan transfer bank, tanpa dibayar.

Sumber

Bagikan artikel ini

Siap otomatisasi WhatsApp bisnis Anda?

Mulai gratis, tanpa kartu kredit. Setup dalam 5 menit.

Coba Gratis Sekarang

Butuh bantuan?

Tim CS siap membantu via WhatsApp

Chat CS