Skip to content

09.02 HTTP Status Codes


📌 At a Glance

รายการรายละเอียด
TopicHTTP Status Codes
Difficulty⭐ Beginner
Reading Time8 นาที
TargetDeveloper, System Integrator
Related APIsAll APIs

🎯 Learning Objectives

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

  • เข้าใจความหมายของ HTTP Status Codes ที่ใช้ใน SISAHYGO API
  • แยกแยะการตอบกลับที่สำเร็จและข้อผิดพลาดได้
  • ออกแบบการจัดการ Response ใน Client System ได้อย่างเหมาะสม

Overview

SISAHYGO API ใช้มาตรฐาน HTTP Status Codes เพื่อระบุผลลัพธ์ของการประมวลผลแต่ละคำขอ

Client System ควรตรวจสอบ HTTP Status Code ทุกครั้งก่อนอ่านข้อมูลใน Response Body เพื่อให้สามารถดำเนินการต่อหรือจัดการข้อผิดพลาดได้อย่างถูกต้อง


Figure 9-2 HTTP Status Codes

Figure 9-2

Figure 9-2 แสดงการจัดกลุ่ม HTTP Status Codes ที่ใช้ใน SISAHYGO API พร้อมแนวทางการจัดการในฝั่ง Client System


HTTP Status Categories

CategoryRangeDescription
Success2xxการประมวลผลสำเร็จ
Client Error4xxคำขอไม่ถูกต้องหรือไม่ได้รับอนุญาต
Server Error5xxข้อผิดพลาดภายในระบบ

Success Responses

200 OK

ใช้เมื่อการเรียก API สำเร็จและส่งข้อมูลกลับ

ตัวอย่าง

http
HTTP/1.1 200 OK

ใช้กับ

  • GET /products
  • GET /shipments
  • GET /order-rejections
  • GET /receivers
  • GET /units

201 Created

ใช้เมื่อสร้างข้อมูลใหม่สำเร็จ

ตัวอย่าง

http
HTTP/1.1 201 Created

ใช้กับ

  • POST /order-checkings

Client Error Responses

400 Bad Request

Request ไม่ถูกต้อง เช่น รูปแบบ JSON ไม่สมบูรณ์ หรือส่งพารามิเตอร์ไม่ถูกต้อง

http
HTTP/1.1 400 Bad Request

แนวทาง

  • ตรวจสอบรูปแบบ Request
  • ตรวจสอบ Header และ Query Parameters

401 Unauthorized

API Key ไม่ถูกต้อง หรือไม่ได้ส่ง API Key

http
HTTP/1.1 401 Unauthorized

แนวทาง

  • ตรวจสอบ Header X-API-Key
  • ตรวจสอบว่า API Key ยังใช้งานได้

403 Forbidden

API Key ถูกต้อง แต่ไม่มีสิทธิ์ใช้งาน Resource นั้น

http
HTTP/1.1 403 Forbidden

แนวทาง

  • ตรวจสอบสิทธิ์ของ API Client
  • ติดต่อผู้ดูแลระบบหากต้องการสิทธิ์เพิ่มเติม

404 Not Found

ไม่พบ Resource ที่ร้องขอ

http
HTTP/1.1 404 Not Found

ตัวอย่าง

  • ไม่พบ client_reference_no
  • ไม่พบ Order ID
  • Endpoint ไม่ถูกต้อง

422 Unprocessable Entity

ข้อมูลผ่านการตรวจสอบรูปแบบ แต่ไม่ผ่าน Validation ของระบบ

http
HTTP/1.1 422 Unprocessable Entity

ตัวอย่าง

  • ไม่ส่ง Required Fields
  • product_id ไม่ถูกต้อง
  • customer_rec_id ไม่พบ
  • amount มีค่าไม่ถูกต้อง

แนวทาง

  • แก้ไขข้อมูลก่อนส่งใหม่
  • ไม่ควร Retry โดยไม่แก้ไขข้อมูล

429 Too Many Requests

Client ส่งคำขอถี่เกินกว่าที่ระบบกำหนด

http
HTTP/1.1 429 Too Many Requests

หมายเหตุ: ปัจจุบัน SISAHYGO API ยังไม่ได้เปิดใช้งานการจำกัดอัตราการเรียก (Rate Limiting) แต่ได้สงวน Status Code นี้ไว้สำหรับการรองรับในอนาคต

แนวทาง

  • ลดความถี่ในการเรียก API
  • ใช้การหน่วงเวลา (Backoff) ก่อนลองใหม่

Server Error Responses

500 Internal Server Error

เกิดข้อผิดพลาดภายในระบบ

http
HTTP/1.1 500 Internal Server Error

แนวทาง

  • บันทึก Error Log
  • ลองใหม่ภายหลัง
  • ติดต่อทีมสนับสนุนหากปัญหายังคงเกิดขึ้น

503 Service Unavailable

ระบบไม่พร้อมให้บริการชั่วคราว

http
HTTP/1.1 503 Service Unavailable

แนวทาง

  • รอสักระยะแล้วลองใหม่
  • ใช้ Retry Strategy ที่เหมาะสม

Recommended Client Actions

HTTP StatusRecommended Action
200ประมวลผลข้อมูลต่อ
201บันทึกข้อมูลที่สร้างใหม่
400ตรวจสอบ Request
401ตรวจสอบ API Key
403ตรวจสอบสิทธิ์การใช้งาน
404ตรวจสอบ Endpoint หรือ Resource
422แก้ไขข้อมูลก่อนส่งใหม่
429ลดความถี่ในการเรียก API
500Retry ภายหลังและบันทึก Log
503Retry เมื่อระบบพร้อมให้บริการ

Error Handling Flow

text
Receive HTTP Response





Check Status Code



        ├────────► 2xx

        │               │

        │               ▼

        │        Process Response





4xx / 5xx





Read Error Message





Handle Error





Retry or Correct Request

Best Practices

  • ตรวจสอบ HTTP Status Code ก่อนอ่านข้อมูลใน Response Body
  • แยกการจัดการ Error ตามประเภทของ Status Code
  • ไม่ Retry ทันทีสำหรับ Validation Errors (422)
  • บันทึก HTTP Status Code และ Error Response เพื่อช่วยในการวิเคราะห์ปัญหา

Related Sections

  • 09.03 Standard Error Response Format
  • 09.04 Authentication Errors
  • 09.05 Validation Errors

Summary

HTTP Status Codes เป็นกลไกมาตรฐานที่ SISAHYGO API ใช้ในการสื่อสารผลลัพธ์ของการประมวลผล การทำความเข้าใจความหมายของแต่ละ Status Code และการออกแบบ Client System ให้ตอบสนองต่อสถานการณ์ต่าง ๆ ได้อย่างเหมาะสม จะช่วยเพิ่มความเสถียรของระบบ ลดข้อผิดพลาดในการเชื่อมต่อ และยกระดับประสบการณ์ของผู้ใช้งาน


Next Step

➡️ 09.03 Standard Error Response Format

SISAHYGO API Integration Guide