ข้อมูลหลักของสินค้า (PIM) และหมวดหมู่
สินค้า
PIM
หมวดหมู่
SKU
การเชื่อมต่อข้อมูล
บทความนี้เหมาะสำหรับใคร
สำหรับนักพัฒนาที่ต้องการเชื่อมต่อข้อมูลหลักของสินค้า (PIM) ใช้สำหรับซิงค์กับ EC・POS・WMS
สำหรับนักพัฒนาที่ต้องการเชื่อมต่อข้อมูลหลักของสินค้า (PIM) ใช้สำหรับซิงค์กับ EC・POS・WMS
สินค้า (product) ของ ReceiptRoller หมายถึงหน่วยการขายที่เล็กที่สุดในระดับ SKU กรณีที่มีวาเรียนต์ (เช่น ขนาด・สี) จะใช้โครงสร้าง 2 ระดับคือสินค้าแม่และวาเรียนต์ลูก
ฟิลด์หลัก
| ฟิลด์ | เนื้อหา |
|---|---|
id | รหัสสินค้า (prd_) |
sku | รหัส SKU ที่ไม่ซ้ำภายในร้าน |
jan_code | บาร์โค้ด JAN/EAN/UPC (ไม่บังคับ) |
name | ชื่อสินค้า |
price | ราคามาตรฐาน |
tax_rate | อัตราภาษี |
category_id | หมวดหมู่ |
parent_id | สินค้าแม่ (กรณีเป็นวาเรียนต์) |
attributes | คุณสมบัติ เช่น ขนาด・สี (JSON อิสระ) |
images[] | URL รูปภาพสินค้า |
สโคปที่เกี่ยวข้อง
product.read— อ่านข้อมูลหลักของสินค้าproduct.write— สร้าง・อัปเดต・ลบสินค้าcategory.read/category.write— จัดการหมวดหมู่
เอนด์พอยต์หลัก
GET /v1/products ← รายการ (กรองได้)
GET /v1/products/{id} ← รายตัว
POST /v1/products ← สร้าง
PATCH /v1/products/{id} ← อัปเดตบางส่วน
DELETE /v1/products/{id} ← ลบ (ลบเชิงตรรกะ)
POST /v1/products/batch ← สร้าง・อัปเดตแบบแบตช์
GET /v1/categories ← ต้นไม้หมวดหมู่
แนวปฏิบัติที่ดีในการจัดการ SKU
- SKU ต้องไม่ซ้ำภายในร้าน กำหนดกฎการตั้งชื่อไว้ล่วงหน้า
- เก็บ ID ของระบบภายนอกไว้ในแอตทริบิวต์
external_idจะช่วยให้ซิงค์ซ้ำได้ง่ายขึ้น - เมื่อขยายเป็นวาเรียนต์ ให้แยกกฎการตั้งชื่อระหว่าง SKU แม่และ SKU ลูก (เช่น
SHIRT-001/SHIRT-001-M-RED) - แนะนำปิดการเผยแพร่ (is_active=false)มากกว่าการลบ เพราะการเชื่อมโยงกับใบเสร็จในอดีตยังคงอยู่
รูปแบบการซิงค์กับ EC・POS
EC → ReceiptRoller (ให้ข้อมูลหลักเป็นจุดตั้งต้น)
ให้ข้อมูลหลักของสินค้าฝั่ง EC เป็นแหล่งที่ถูกต้อง แล้วสะท้อนเข้ามาที่ ReceiptRoller ผ่าน Webhook หรือแบตช์ตามรอบ โดย ReceiptRoller จะเป็นฝั่ง「อ่าน」
ReceiptRoller → POS
จัดการสินค้าแบบรวมศูนย์ที่ฝั่ง ReceiptRoller แล้วแอปที่เชื่อมต่อ POS จะรับ Webhook product.updated เพื่อกระจายไปยัง POS แต่ละเครื่อง
ซิงค์สองทาง (ข้อควรระวัง)
การซิงค์สองทางจำเป็นต้องมีลอจิกแก้ไขความขัดแย้ง ในทางปฏิบัติควรเปรียบเทียบ updated_at หรือกำหนดให้ฝั่งใดฝั่งหนึ่งเป็น「ช่วงเวลาที่เป็นข้อมูลหลัก」
หมวดหมู่
- มีโครงสร้างแบบต้นไม้ (ความสัมพันธ์แม่-ลูก)
- สินค้าแต่ละรายการอยู่ในหมวดหมู่เดียว
- สามารถตั้งอัตราภาษีให้กับหมวดหมู่เอง แล้วให้สินค้าสืบทอดได้เช่นกัน
คู่มือที่เกี่ยวข้อง
วันที่เผยแพร่: 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)