Bab 5 · Teknis & Pemecahan Masalah

Cara Kerja Teknis

Bagian ini untuk pengembang dan tim dukungan: apa yang disimpan plugin, bagaimana ongkir gudang sampai ke server AgenWebsite, dan hook apa yang tersedia. Pengguna toko…

  • 2 menit baca
  • 8 bagian
  • Diperbarui 27 Sep 2026
Di halaman ini 8 bagian
  1. Alur Data Ongkir
  2. Model Keamanan Override
  3. Tabel Database
  4. Data pada Pesanan
  5. Pilihan Pembeli: Sesi dan Cookie
  6. Layanan yang Dipanggil dari Browser
  7. Hook untuk Pengembang
  8. Perintah Pemeriksaan Cepat

Bagian ini untuk pengembang dan tim dukungan: apa yang disimpan plugin, bagaimana ongkir gudang sampai ke server AgenWebsite, dan hook apa yang tersedia. Pengguna toko tidak perlu membaca bagian ini untuk memakai plugin.

Alur Data Ongkir

Multi Warehouse tidak memanggil server ongkir sendiri. Ia hanya mengganti alamat asal yang dibaca AgenWebsite Shipping, lalu plugin itulah yang memanggil API.

Keranjang / Pesanan
   -> Multi Warehouse menentukan gudang
   -> mengganti origin + zipcode pada pengaturan AgenWebsite Shipping (sementara)
   -> AgenWebsite Shipping memanggil api-v2.agenwebsite.com/v2/shipping/price
   -> tarif kurir kembali, dihitung dari kota asal gudang

Model Keamanan Override

Penggantian alamat asal itu hanya aktif selama perhitungan berlangsung, lalu dimatikan lagi. Ini bukan detail sepele: AgenWebsite Shipping menyimpan ulang seluruh blok pengaturannya setiap kali halaman pengaturannya disimpan. Bila penggantian dibiarkan aktif tanpa batas, alamat gudang akan ikut tersimpan permanen dan menimpa alamat toko.

  • Aktif saat WooCommerce menghitung ongkir keranjang, per paket.
  • Aktif saat permintaan Generate Resi berjalan, memakai gudang milik pesanan.
  • Aktif saat tab Cek Ongkir dipakai, memakai gudang utama.
  • Aktif saat packing slip satu pesanan dicetak.
  • Di luar itu selalu mati, termasuk pada setiap penyimpanan pengaturan.

Untuk memastikan tidak ada yang tersimpan diam-diam, periksa nilai aw_shipping_settings di database sebelum dan sesudah transaksi. Nilai origin tidak boleh berubah karena aktivitas checkout maupun Generate Resi.

Tabel Database

TabelIsi
{prefix}awmw_warehousesSatu baris per gudang: nama, kontak pengirim, alamat lengkap, kota asal ongkir, provinsi yang dilayani, titik lokasi (latitude/longitude, selalu berpasangan atau kosong), prioritas, status, penanda gudang utama, dan waktu penghapusan
{prefix}awmw_warehouse_stockStok per pasangan gudang dan produk. Baris milik gudang terhapus tetap disimpan, sehingga pemulihan mengembalikan catatan stoknya

Penghapusan gudang bersifat soft delete: baris tetap ada dan hanya diberi waktu penghapusan, agar pesanan lama tetap bisa menyebut nama dan alamat gudangnya.

Data pada Pesanan

KunciIsi
_awmw_warehouse_id / _awmw_warehouse_nameGudang utama pesanan, yaitu gudang yang akan dibuatkan resi
_awmw_split + _awmw_warehouse_idsPenanda pesanan terbagi dan daftar gudangnya
_awmw_warehouse_id pada setiap baris itemGudang yang melayani baris produk atau baris pengiriman tersebut
_awmw_stock_reducedPenanda bahwa stok gudang sudah dipotong, agar tidak terpotong dua kali
_awmw_reduced_stock + _awmw_reduced_warehouse_idPer baris item: berapa banyak yang masih terpotong dan dari gudang mana

Pasangan terakhir itulah yang membuat refund sebagian, pembatalan, dan pemindahan gudang setelah pembayaran tetap menghasilkan catatan stok yang benar di kedua gudang.

KunciIsi
awmw_selected_warehouse (sesi WooCommerce)Gudang pilihan pembeli untuk keranjang berjalan
Cookie awmw_warehousePilihan yang sama, bertahan lebih lama dari sesi 48 jam dan dibaca JavaScript pada halaman cache
Cookie awmw_picker_seenPopup pernah ditutup; 30 hari (filter awmw_selection_cookie_lifetime)

Toko memanggil dua endpoint wc-ajax tanpa nonce, seperti add_to_cart, supaya halaman yang di-cache tidak membawa nonce kedaluwarsa: awmw_picker_state (gudang terpilih + ketersediaan keranjang per gudang) dan awmw_select_warehouse (menyimpan pilihan, memicu action awmw_storefront_warehouse_selected). Di browser, event awmw_warehouse_changed dipicu pada body setelah pilihan berubah.

Layanan yang Dipanggil dari Browser

Halaman pengaturan memanggil dua endpoint publik AgenWebsite. Keduanya terbuka, tanpa kunci, dan tidak mengirim data toko:

EndpointDipakai untuk
GET https://api-public.agenwebsite.com/v1/shipping/originsMengisi daftar kota pada jendela Pilih Kota Asal Ongkir
POST https://api-public.agenwebsite.com/v1/shipping/searchMengisi hasil pada jendela Cari Lokasi Gudang
POST https://api-public.agenwebsite.com/v1/shipping/locationPencarian alamat pada peta Titik Lokasi Gudang (peta memakai Leaflet + OpenStreetMap)

Hook untuk Pengembang

FilterKegunaan
awmw_enabledMenyalakan atau mematikan seluruh integrasi
awmw_cart_planMengubah hasil pembagian keranjang ke gudang
awmw_split_enabledMengatur pemisahan pengiriman secara terprogram
awmw_shortfall_policyMengatur perilaku saat stok kurang
awmw_manage_capMengubah hak akses pengelolaan gudang (default manage_woocommerce)
awmw_warehouse_limitMembatasi jumlah gudang
awmw_wizard_warehouse_limitMembatasi jumlah gudang yang dibuat lewat panduan pengaturan
awmw_shipping_linkedMenentukan apakah Gudang Utama terkunci mengikuti AgenWebsite Shipping
awmw_province_optionsMengubah daftar provinsi yang dapat dipilih
awmw_warehouse_termMengubah sebutan gudang yang dilihat pembeli
awmw_picker_settingsMengubah judul, deskripsi, tombol, dan sakelar popup pemilih
awmw_selection_cookie_lifetimeMengubah masa simpan cookie pilihan pembeli
awmw_redirect_to_wizardMematikan pengalihan otomatis ke panduan pengaturan
agenwebsite_multi_warehouse_api_timeoutMengubah batas waktu panggilan lisensi

Perintah Pemeriksaan Cepat

wp option get agenwebsite_multi_warehouse_settings --format=json
wp db query "SELECT id, name, origin_city, latitude, longitude, status, is_default, deleted_at FROM wp_awmw_warehouses"
wp db query "SELECT * FROM wp_awmw_warehouse_stock LIMIT 20"
wp post meta get <order_id> _awmw_warehouse_id
wp option get aw_shipping_settings --format=json

Apakah halaman ini menjawab pertanyaan Anda? Jawaban Anda membantu kami memperbaiki panduan ini.

Lainnya di bab "Teknis & Pemecahan Masalah"

  1. 16 Pemecahan Masalah Menu tidak muncul, tombol Tambah Gudang nonaktif, ongkir tidak berubah, popup pilih gudang tidak muncul, dan stok tidak sesuai.
Masih butuh bantuan?

Belum ketemu jawabannya?

Tanyakan ke asisten AI kami soal pengaturan plugin, error, lisensi, atau saldo: dijawab langsung. Kalau masih buntu, tim support siap membantu lewat WhatsApp.

Chat tim support

Atau lewat halaman kontak.