Skip to content

06.07 Validation & Error Handling


📌 At a Glance

รายการรายละเอียด
TopicValidation & Error Handling
Difficulty⭐⭐⭐ Intermediate
Reading Time12 นาที
TargetDeveloper, System Integrator

🎯 Learning Objectives

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

  • เข้าใจการตรวจสอบข้อมูล (Validation) ของ Order Checking API
  • เข้าใจการตอบกลับเมื่อเกิดข้อผิดพลาด
  • จัดการ Error ของ Single Order และ Bulk Orders ได้อย่างถูกต้อง
  • ออกแบบระบบ Retry และ Recovery ได้อย่างเหมาะสม

Overview

ก่อนสร้างรายการตรวจรับสินค้า SISAHYGO จะตรวจสอบความถูกต้องของข้อมูลทุก Order ที่ได้รับจาก Client

การตรวจสอบประกอบด้วย

  • API Authentication
  • Required Fields
  • Master Data Validation
  • Business Rules Validation

หากพบข้อผิดพลาด ระบบจะส่งรายละเอียดกลับในรูปแบบมาตรฐาน JSON เพื่อให้ Client สามารถตรวจสอบและแก้ไขข้อมูลก่อนส่งใหม่


Figure 6-7 Validation & Error Handling

Figure 6-7

Figure 6-7 แสดงขั้นตอนการตรวจสอบข้อมูลของ Order Checking API ตั้งแต่การตรวจสอบ API Key การตรวจสอบข้อมูลอ้างอิง การสร้างรายการ และการตอบกลับเมื่อพบข้อผิดพลาด


📌 Key Point

สำหรับ Bulk Orders ระบบจะตรวจสอบทุก Order ภายใน Request และรายงานผลของแต่ละ Order แยกจากกัน เพื่อให้ Client สามารถแก้ไขเฉพาะรายการที่ผิดพลาดได้


Validation Flow

text
Receive Request





Authenticate API Key





Validate JSON Format





Validate Required Fields





Validate Master Data





Validate Business Rules





Create Order





Return Response

Required Field Validation

ตัวอย่างข้อมูลที่ระบบตรวจสอบ

FieldRequired
client_reference_no
customer_rec_id
order_header_date
items

Master Data Validation

ระบบจะตรวจสอบข้อมูลอ้างอิงก่อนสร้างรายการ

DataValidation
Receiverต้องมีอยู่ในระบบ
Productต้องมีอยู่ในระบบ
Unitต้องมีอยู่ในระบบ

หากไม่พบข้อมูล ระบบจะตอบกลับ Validation Error


Business Rule Validation

นอกจากการตรวจสอบข้อมูลพื้นฐาน ระบบยังตรวจสอบเงื่อนไขทางธุรกิจ เช่น

  • จำนวนสินค้า ต้องมากกว่า 0
  • รายการสินค้าอย่างน้อย 1 รายการ
  • client_reference_no ต้องไม่ซ้ำ
  • ลูกค้าต้องมีสิทธิ์ใช้งาน API

Common HTTP Status Codes

StatusDescription
201 Createdสร้างรายการสำเร็จ
400 Bad Requestรูปแบบ Request ไม่ถูกต้อง
401 UnauthorizedAPI Key ไม่ถูกต้อง
422 Unprocessable EntityValidation ไม่ผ่าน
500 Internal Server Errorเกิดข้อผิดพลาดภายในระบบ

Error Response Example

json
{
    "message": "Validation failed.",
    "errors": {
        "customer_rec_id": [
            "The selected receiver does not exist."
        ]
    }
}

Bulk Validation

สำหรับ Bulk Orders

text
Request

├── Order 1 ✔

├── Order 2 ✖ Validation Error

├── Order 3 ✔

└── Order 4 ✔

ระบบจะส่งผลการตรวจสอบของแต่ละ Order กลับไปยัง Client

ทำให้สามารถแก้ไขเฉพาะ Order ที่ผิดพลาดได้


Recommended Client Strategy

เมื่อได้รับ Error

  1. ตรวจสอบ HTTP Status
  2. อ่านรายละเอียด Error Message
  3. แก้ไขข้อมูลที่ผิดพลาด
  4. ส่ง Request ใหม่เฉพาะรายการที่แก้ไขแล้ว
  5. บันทึก Log สำหรับการตรวจสอบย้อนหลัง

Best Practices

  • ตรวจสอบ Master Data ก่อนส่ง Request
  • ใช้ client_reference_no ที่ไม่ซ้ำกัน
  • ตรวจสอบ HTTP Status ทุกครั้ง
  • บันทึก Error Response ลง Log
  • สำหรับ Bulk Orders ให้ Retry เฉพาะรายการที่ผิดพลาด

Related Sections

  • 06.05 Response Structure
  • 06.06 Response Fields
  • Chapter 9 Error Handling & Response Codes

Summary

Order Checking API มีการตรวจสอบข้อมูลหลายระดับก่อนสร้างรายการ ได้แก่ Authentication, Required Fields, Master Data และ Business Rules หากพบข้อผิดพลาด ระบบจะตอบกลับรายละเอียดในรูปแบบมาตรฐาน JSON เพื่อให้ Client สามารถแก้ไขข้อมูลและส่งใหม่ได้อย่างถูกต้อง สำหรับ Bulk Orders ควรออกแบบระบบให้ประมวลผลและ Retry เฉพาะรายการที่ไม่ผ่านการตรวจสอบ เพื่อเพิ่มประสิทธิภาพและลดภาระของระบบ


Next Step

➡️ 06.08 Chapter Summary

SISAHYGO API Integration Guide