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 Status | Penyebab Umum | Solusi |
|---|---|---|
| 401 Unauthorized | Kunci API salah atau header otentikasi hilang | Verifikasi Consumer Key & Secret di WooCommerce > Settings > Advanced > REST API |
| 403 Forbidden | Blokir Firewall/ModSecurity atau izin akses | Cek log server (error_log) dan whitelist IP/User-Agent |
| 404 Not Found | Permalink tidak ter-flush atau endpoint salah | Simpan ulang (Resave) Permalink di Settings > Permalinks |
| 500 Internal Server Error | Konflik plugin atau limit memori PHP | Aktifkan 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.