Skip to content

05.02 Products API


📌 At a Glance

รายการรายละเอียด
TopicProducts API
EndpointGET /products
MethodGET
AuthenticationAPI Key
Difficulty⭐ Beginner
Reading Time10 นาที
TargetDeveloper

🎯 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

Figure 5-2 แสดงขั้นตอนการดึงข้อมูลสินค้าจาก SISAHYGO API ตั้งแต่ Client System ส่งคำขอผ่าน HTTPS พร้อม API Key ระบบตรวจสอบสิทธิ์ และส่งข้อมูลสินค้าในรูปแบบ JSON กลับไปยัง Client System


Business Purpose

Products API มีวัตถุประสงค์เพื่อ

  • Synchronize รายการสินค้า
  • ลดการสร้างข้อมูลซ้ำ
  • ใช้ Product ID เดียวกันทั้งสองระบบ
  • รองรับการค้นหาสินค้าก่อนสร้าง Order

Endpoint

http
GET /products

Base URL

text
https://app.sisahygo.online/api/v1/products

Authentication

Header

http
X-API-Key: {your_api_key}

Accept: application/json

Query Parameters

ParameterTypeRequiredDescription
searchstringNoค้นหาจากชื่อสินค้า หรือ Product ID
product_idstringNoค้นหาจาก Product ID

Sample Request

http
GET /products?search=น้ำดื่ม

หรือ

http
GET /products?product_id=P0001

Sample 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

FieldTypeDescription
product_idStringรหัสสินค้า
product_nameStringชื่อสินค้า
unit_idIntegerรหัสหน่วยนับ
unit_nameStringชื่อหน่วยนับ

Business Rules

  • แสดงเฉพาะสินค้าที่ลูกค้ารายนั้นเคยส่งผ่าน SISAHYGO
  • ไม่แสดง Order ที่ถูกยกเลิก (order_status <> cancel)
  • ผลลัพธ์เรียงตามชื่อสินค้า
  • ส่งกลับข้อมูลสูงสุด 200 รายการต่อคำขอ

Validation Rules

RuleDescription
searchค้นหาได้ทั้งชื่อสินค้าและ Product ID
product_idต้องเป็น Product ID ที่มีอยู่ในระบบ
API Keyต้องถูกต้องและเปิดใช้งาน

Error Response

HTTP StatusDescription
401Invalid API Key
403Permission Denied
500Internal 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

SISAHYGO API Integration Guide