Skip to content

03.09 Error Handling & Business Error Codes


📌 At a Glance

รายการรายละเอียด
TopicError Handling & Business Error Codes
Difficulty⭐⭐ Intermediate
Reading Time8 นาที
TargetDeveloper

🎯 Learning Objectives

หลังจากศึกษาหัวข้อนี้แล้ว ผู้อ่านจะสามารถ

  • เข้าใจรูปแบบ Error Response ของ SISAHYGO API
  • เข้าใจ Business Error Codes
  • จัดการข้อผิดพลาดใน Client System ได้อย่างถูกต้อง

Overview

SISAHYGO API แยกการแจ้งข้อผิดพลาดออกเป็น 2 ระดับ

  1. HTTP Status Code
  2. Business Error Code

HTTP Status Code ใช้บอกผลของการสื่อสาร

Business Error Code ใช้ระบุสาเหตุของปัญหาในระดับธุรกิจ

การแยกสองส่วนนี้ทำให้ Client System สามารถวิเคราะห์ปัญหาได้ละเอียดและพัฒนา Error Handling ได้ง่าย


Figure 3-9 Error Handling Flow

(แทรกรูป Figure 3-9 : Error Handling Flow)

Figure 3-9

Figure 3-9 แสดงขั้นตอนการตรวจสอบ Request การตอบกลับ HTTP Status Code และ Business Error Code พร้อมแนวทางการจัดการข้อผิดพลาดใน Client System


Standard Error Response

json
{
    "success": false,
    "code": "ORD001",
    "message": "Duplicate Reference Number",
    "data": null,
    "timestamp": "2026-07-02T10:15:30+07:00",
    "version": "1.1"
}

Business Error Code Categories

PrefixDescription
AUTHAuthentication
ORDOrder Checking
PRDProduct
RCVReceiver
SHPShipment
SYSInternal System

Common Business Error Codes

CodeDescriptionSuggested Action
AUTH001Invalid API Keyตรวจสอบ API Key
AUTH002Missing API Keyส่ง Header X-API-Key
ORD001Duplicate Reference Numberเปลี่ยนเลขอ้างอิง
ORD002Order Not Foundตรวจสอบ Reference Number
PRD001Product Code Not FoundSynchronize Products
RCV001Receiver Code Not FoundSynchronize Receivers
SHP001Shipment Not Foundตรวจสอบ Shipment Reference
SYS001Internal Server ErrorRetry หรือติดต่อ Support

Error Handling Flow

Client System ควรจัดการตามลำดับดังนี้

  1. ตรวจสอบ HTTP Status Code
  2. อ่านค่า success
  3. อ่าน code
  4. แสดง message
  5. บันทึก Log

Key Points

ItemRecommendation
HTTP Statusตรวจสอบก่อน
successต้องเป็น true
codeใช้จัดการ Error
messageใช้แสดงผล
dataจะเป็น null เมื่อ Error

Implementation Notes

  • อย่าใช้ message เป็นเงื่อนไขใน Business Logic
  • ใช้ code สำหรับเขียนโปรแกรม
  • รองรับ Error Code ใหม่ในอนาคต
  • บันทึก HTTP Status และ Business Error Code ทุกครั้งที่เกิดข้อผิดพลาด

Best Practices

  • แยก Error Handling ตามประเภทของ Error
  • Retry เฉพาะกรณีที่เหมาะสม เช่น SYS001
  • แจ้งผู้ใช้งานเมื่อเกิด Validation Error
  • เก็บ Log เพื่อช่วยวิเคราะห์ปัญหา

Summary

SISAHYGO API ใช้มาตรฐาน Error Handling ที่แยก HTTP Status Code ออกจาก Business Error Code เพื่อให้ Client System สามารถจัดการข้อผิดพลาดได้อย่างมีประสิทธิภาพและรองรับการขยายระบบในอนาคต


Next Step

➡️ 03.10 API Best Practices

SISAHYGO API Integration Guide