การเชื่อมต่อข้อมูลสต็อกสินค้า
สต็อก
WMS
คลังสินค้า
การเชื่อมต่อข้อมูล
บทความนี้เหมาะสำหรับใคร
สำหรับนักพัฒนาที่ต้องการเชื่อมต่อ WMS หรือระบบจัดการคลังสินค้าเข้ากับ ReceiptRoller
สำหรับนักพัฒนาที่ต้องการเชื่อมต่อ WMS หรือระบบจัดการคลังสินค้าเข้ากับ ReceiptRoller
สต็อกถูกจัดการด้วยการจับคู่ระหว่างสินค้า × คลังสินค้า สินค้าหนึ่งรายการสามารถมีสต็อกอยู่ในหลายคลังได้ โดยแต่ละคลังจะมีจำนวนสต็อกอิสระของตัวเอง การเปลี่ยนแปลงสต็อกทุกครั้งจะถูกบันทึกเป็นประวัติการรับ-จ่ายสินค้า (stock_movement) ครบทุกรายการ
ฟิลด์หลัก (inventory)
| ฟิลด์ | เนื้อหา |
|---|---|
product_id | สินค้าเป้าหมาย |
warehouse_id | คลังสินค้า |
quantity | จำนวนสต็อกปัจจุบัน |
reserved | จำนวนที่จองไว้แล้ว |
available | จำนวนที่ใช้ได้ (quantity - reserved) |
low_stock_threshold | ค่าเกณฑ์แจ้งเตือนสต็อกต่ำ |
updated_at | เวลาอัปเดตล่าสุด |
สโคปที่เกี่ยวข้อง
inventory.read— อ่านจำนวนสต็อกinventory.write— อัปเดตจำนวนสต็อก (บันทึกการรับ-จ่าย)warehouse.read/warehouse.write— จัดการข้อมูลหลักของคลังสินค้า
เอนด์พอยต์หลัก
GET /v1/inventory ← รายการสต็อก
GET /v1/inventory/{product_id} ← สต็อกของสินค้าแยกตามคลัง
PATCH /v1/inventory/{product_id} ← อัปเดตจำนวนสต็อก (แบบส่วนต่างหรือค่าสัมบูรณ์)
POST /v1/stock_movements ← บันทึกการรับ-จ่ายสินค้า
GET /v1/stock_movements ← ประวัติการรับ-จ่ายสินค้า
GET /v1/warehouses ← รายการคลังสินค้า
วิธีอัปเดต (ส่วนต่าง vs ค่าสัมบูรณ์)
// เขียนทับด้วยค่าสัมบูรณ์ (เมื่อตรวจนับสต็อก)
PATCH /v1/inventory/prd_a01
{ "warehouse_id": "wh_main", "quantity": 42 }
// เพิ่มลดด้วยส่วนต่าง (เมื่อรับ-จ่ายสินค้า, แนะนำ)
POST /v1/stock_movements
{
"product_id": "prd_a01",
"warehouse_id": "wh_main",
"delta": -3,
"reason": "sale",
"reference_id": "rcp_xyz789"
}
การระบุแบบส่วนต่างจะช่วยลดโอกาสการชนกันของการอัปเดตพร้อมกัน และยังเก็บประวัติไว้ จึงเป็นวิธีที่แนะนำ
เหตุการณ์ Webhook
inventory.changed— จำนวนสต็อกเปลี่ยนแปลงinventory.low_stock— ต่ำกว่าค่าเกณฑ์inventory.out_of_stock— สต็อกหมดstock_movement.created— บันทึกการรับ-จ่ายสินค้า
รูปแบบการเชื่อมต่อ WMS
ให้ WMS เป็นหลัก (แนะนำ)
- WMS เป็นแหล่งข้อมูลสต็อกที่ถูกต้อง
- ซิงค์โดย POST
stock_movementเข้ามาที่ ReceiptRoller - ตั้งค่าไม่ให้ฝั่ง ReceiptRoller หักสต็อกอัตโนมัติเมื่อออกใบเสร็จ
ให้ ReceiptRoller เป็นหลัก
- ReceiptRoller เป็นแหล่งข้อมูลสต็อกที่ถูกต้อง (เหมาะกับร้านขนาดเล็ก)
- หักสต็อกอัตโนมัติเมื่อออกใบเสร็จผ่านการเชื่อมต่อ POS
- WMS ติดตามการเปลี่ยนแปลงผ่าน Webhook
inventory.changed
วิธีใช้การจอง (reserved)
ในกรณีที่การรับออเดอร์ EC ต้องการกันสต็อกชั่วคราว เช่น「ใส่ตะกร้าแล้ว」「ก่อนชำระเงิน」ให้เพิ่มค่า reserved ไว้ก่อน เมื่อชำระเงินเสร็จให้หักออกจาก quantity และถ้ายกเลิกให้คืนค่า reserved กลับ
คู่มือที่เกี่ยวข้อง
วันที่เผยแพร่: 2569-04-27
วันที่อัปเดต: 2569-07-05
หมวดหมู่
แท็ก
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (8)
api (7)
oauth (5)
getting-started (4)
การลงทะเบียนแอป (4)
การแก้ปัญหา (4)