Appearance
05.02 Products API
📌 At a Glance
| รายการ | รายละเอียด |
|---|---|
| Topic | Products API |
| Endpoint | GET /products |
| Method | GET |
| Authentication | API Key |
| Difficulty | ⭐ Beginner |
| Reading Time | 10 นาที |
| Target | Developer |
🎯 Learning Objectives
หลังจากศึกษาหัวข้อนี้แล้ว ผู้อ่านจะสามารถ
- ดึงข้อมูลสินค้า (Products) จาก SISAHYGO API
- ค้นหาสินค้าตาม Product ID หรือชื่อสินค้า
- Synchronize ข้อมูลสินค้าเข้าสู่ Client System
- นำ Product ID ไปใช้งานกับ Order Checking API
Overview
Products API ใช้สำหรับดึงรายการสินค้าที่ลูกค้ารายนั้นเคยใช้งานในระบบ SISAHYGO
ข้อมูลที่ได้รับสามารถนำไปใช้เป็น Master Data ใน Client System เพื่อเลือกสินค้าได้อย่างถูกต้อง และลดความผิดพลาดระหว่างการสร้าง Order Checking
Products API เป็น Read-only API ไม่มีผลกระทบต่อข้อมูลในระบบ
Figure 5-2 Products API Workflow

Figure 5-2 แสดงขั้นตอนการดึงข้อมูลสินค้าจาก SISAHYGO API ตั้งแต่ Client System ส่งคำขอผ่าน HTTPS พร้อม API Key ระบบตรวจสอบสิทธิ์ และส่งข้อมูลสินค้าในรูปแบบ JSON กลับไปยัง Client System
Business Purpose
Products API มีวัตถุประสงค์เพื่อ
- Synchronize รายการสินค้า
- ลดการสร้างข้อมูลซ้ำ
- ใช้ Product ID เดียวกันทั้งสองระบบ
- รองรับการค้นหาสินค้าก่อนสร้าง Order
Endpoint
http
GET /productsBase URL
text
https://app.sisahygo.online/api/v1/productsAuthentication
Header
http
X-API-Key: {your_api_key}
Accept: application/jsonQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | No | ค้นหาจากชื่อสินค้า หรือ Product ID |
| product_id | string | No | ค้นหาจาก Product ID |
Sample Request
http
GET /products?search=น้ำดื่มหรือ
http
GET /products?product_id=P0001Sample Response
json
{
"data": [
{
"product_id": "P0001",
"product_name": "น้ำดื่ม 600 ml",
"unit_id": 1,
"unit_name": "ขวด"
},
{
"product_id": "P0002",
"product_name": "น้ำดื่ม 1.5 L",
"unit_id": 1,
"unit_name": "ขวด"
}
]
}Response Fields
| Field | Type | Description |
|---|---|---|
| product_id | String | รหัสสินค้า |
| product_name | String | ชื่อสินค้า |
| unit_id | Integer | รหัสหน่วยนับ |
| unit_name | String | ชื่อหน่วยนับ |
Business Rules
- แสดงเฉพาะสินค้าที่ลูกค้ารายนั้นเคยส่งผ่าน SISAHYGO
- ไม่แสดง Order ที่ถูกยกเลิก (
order_status <> cancel) - ผลลัพธ์เรียงตามชื่อสินค้า
- ส่งกลับข้อมูลสูงสุด 200 รายการต่อคำขอ
Validation Rules
| Rule | Description |
|---|---|
| search | ค้นหาได้ทั้งชื่อสินค้าและ Product ID |
| product_id | ต้องเป็น Product ID ที่มีอยู่ในระบบ |
| API Key | ต้องถูกต้องและเปิดใช้งาน |
Error Response
| HTTP Status | Description |
|---|---|
| 401 | Invalid API Key |
| 403 | Permission Denied |
| 500 | Internal Server Error |
Implementation Notes
- Synchronize ข้อมูลสินค้าก่อนใช้งาน Order Checking
- เก็บ Product ID ไว้ใน Local Database
- ใช้ Product ID จาก SISAHYGO เป็นข้อมูลอ้างอิงหลัก
- หากค้นหาไม่พบ ให้ตรวจสอบข้อมูลในระบบ SISAHYGO ก่อน
Best Practices
- Synchronize Products ทุกวัน
- ใช้ Query Parameter
searchสำหรับการค้นหา - เก็บข้อมูลสินค้าไว้ใน Cache หรือ Local Database
- อัปเดตข้อมูลใหม่ก่อนเริ่มใช้งานแต่ละวัน
Related APIs
- GET /units
- GET /receivers
- POST /order-checkings
Summary
Products API เป็นจุดเริ่มต้นของการ Synchronize Master Data โดยช่วยให้ Client System ใช้ Product ID และ Unit เดียวกันกับ SISAHYGO ลดความผิดพลาดในการสร้าง Order และทำให้การเชื่อมต่อมีความถูกต้องมากยิ่งขึ้น
Next Step
➡️ 05.03 Units API
