Troubleshoot WooCommerce API: Solusi Error Koneksi & Respon

Diagnosa Awal Masalah WooCommerce API

Masalah pada WooCommerce REST API umumnya bersumber dari konfigurasi permalink yang tidak terbaca, konflik plugin keamanan, atau kesalahan otentikasi kunci API (Consumer Key & Secret). Langkah pertama adalah memastikan server Anda mendukung metode HTTP PUT, POST, DELETE, dan GET yang sering diblokir oleh firewall atau konfigurasi server Apache/Nginx.

Tabel Matriks Error API

Kode StatusPenyebab UmumSolusi
401 UnauthorizedKunci API salah atau header otentikasi hilangVerifikasi Consumer Key & Secret di WooCommerce > Settings > Advanced > REST API
403 ForbiddenBlokir Firewall/ModSecurity atau izin aksesCek log server (error_log) dan whitelist IP/User-Agent
404 Not FoundPermalink tidak ter-flush atau endpoint salahSimpan ulang (Resave) Permalink di Settings > Permalinks
500 Internal Server ErrorKonflik plugin atau limit memori PHPAktifkan WP_DEBUG dan cek log error

Langkah Teknis Troubleshooting

Jika Anda mengalami kendala koneksi, ikuti urutan perbaikan berikut:

1. Perbaikan Permalink

WooCommerce API sangat bergantung pada struktur permalink. Buka dashboard WordPress, masuk ke Settings > Permalinks, lalu klik Save Changes tanpa mengubah apapun. Ini akan memaksa WordPress menulis ulang file .htaccess.

2. Debugging dengan WP_DEBUG

Aktifkan mode debug untuk melihat pesan error spesifik yang tersembunyi. Edit file wp-config.php Anda:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Setelah mengaktifkan ini, periksa file wp-content/debug.log setelah melakukan request API yang gagal.

3. Verifikasi Header Otentikasi

Pastikan aplikasi klien Anda mengirimkan otentikasi dengan benar. Jika menggunakan Basic Auth, pastikan koneksi menggunakan HTTPS. Jika menggunakan OAuth 1.0a, pastikan parameter oauth_signature dihasilkan dengan algoritma yang tepat sesuai dokumentasi WooCommerce.

4. Cek Konfigurasi Server (Nginx/Apache)

Jika Anda menggunakan Nginx, pastikan konfigurasi server mengizinkan request API. Tambahkan aturan berikut pada blok server Anda:

location /wp-json/ {
  try_files $uri $uri/ /index.php?$args;
}

Tips Keamanan & Optimasi

  • HTTPS Wajib: Jangan pernah menggunakan API WooCommerce melalui HTTP biasa karena kunci API akan terkirim dalam bentuk teks polos (plain text).
  • Limitasi Rate: Jika Anda melakukan banyak request, gunakan sistem caching atau antrean (queue) agar tidak membebani database.
  • Plugin Keamanan: Beberapa plugin seperti Wordfence sering memblokir request API. Pastikan untuk menambahkan pengecualian (whitelist) pada pengaturan firewall plugin tersebut.