Skip to content

Stock (PowerBiz WMS)

Stock tidak disimpan di Exsport. Datanya datang dari sistem gudang PowerBiz (WMS). Backend meminta jumlah stock ke WMS dan memberi tahu WMS tentang order.

Cara halaman ini diverifikasi

Dibaca pada 2026-09-15 dari src/catalogs/services/wms.service.ts dan webhook-wms.service.ts.

Backend

WmsService (src/catalogs/services/wms.service.ts) ada di module catalogs. Base URL WMS_ENDPOINT_BASE_URL. Service ini login saat boot (WMS_USERNAME / WMS_PASSWORD) untuk mendapat bearer token dan login ulang otomatis saat kena 401. Service ini dibatasi oleh WMS_BUSINESS_ID dan WMS_WAREHOUSE_ID. Method:

  • wmsLogin
  • getInventoryDataFromArticleNo — jumlah stock untuk satu article (mengisi productArticleQuantity / frontProductSizes, jadi PDP menampilkan stock asli).
  • getOrderDetail, createOrder, cancelOrder, updateOrderStatus — sisi order, dipanggil saat checkout, cancel, dan cron expiry.

Inbound events

webhook-wms.service.ts menangani inbound WMS sales-order event (route webhooks/wms): ia memindah order ke shipped dan delivery ke processing. Di production callback masuk lewat webhook receiver → SNS di POST /inventory.

Di mana stock muncul

  • Storefront — PDP menampilkan ketersediaan per size dari frontProductSizes, yang mencerminkan jumlah WMS.
  • Admin — jumlah product dibaca lewat jalur yang sama; endpoint REST update-quantity di form product ada, tetapi sumber kebenarannya adalah WMS.

Hal yang perlu diwaspadai

  • Tidak ada tabel stock lokal. Bug "stock salah" biasanya masalah lookup atau mapping WMS, bukan baris database.
  • Bearer token diambil saat boot. Kalau credential atau endpoint WMS salah, service gagal login dan setiap lookup jumlah stock gagal.
  • Di dev, WMS adalah simulator, yang bisa memaksa /order/create jadi 500.