รหัสข้อผิดพลาด (Errors)
API ใช้รหัสสถานะ HTTP มาตรฐาน และตอบกลับข้อผิดพลาดเป็น JSON รูปแบบเดียวกัน
{
"statusCode": 403,
"message": "Write API requires the Starter plan or higher.",
"error": "Forbidden"
}
รหัสสถานะที่พบบ่อย
| สถานะ | ความหมาย | สาเหตุที่พบบ่อย |
|-------|----------|------------------|
| 400 Bad Request | คำขอไม่ถูกต้อง | พารามิเตอร์ขาด/ผิดรูปแบบ (เช่น วันที่ไม่ใช่ YYYY-MM-DD, checkout ไม่หลัง checkin) |
| 401 Unauthorized | ไม่ได้ยืนยันตัวตน | ไม่ได้ส่ง X-Api-Key หรือคีย์ไม่ถูกต้อง |
| 403 Forbidden | ไม่มีสิทธิ์ | เรียก endpoint แบบ write ด้วยคีย์แพ็กฟรี |
| 402 Payment Required | เกินขีดจำกัดแพ็ก | เกินจำนวนห้องของแพ็ก (เช่น PLAN_CAP_EXCEEDED) |
| 404 Not Found | ไม่พบข้อมูล | id ของห้อง/การจองไม่ถูกต้อง |
| 429 Too Many Requests | เรียกถี่เกินไป | เกิน ขีดจำกัดการเรียกใช้ |
แนวทางจัดการ
- 400 / 404 — ตรวจสอบและแก้พารามิเตอร์ก่อนส่งใหม่ (ไม่ควร retry แบบเดิมซ้ำ)
- 401 / 403 — ตรวจสอบคีย์และแพ็ก ดู การยืนยันตัวตน
- 429 — รอแล้วลองใหม่ด้วย exponential backoff
- 5xx — เป็นปัญหาฝั่งเซิร์ฟเวอร์ชั่วคราว ลองใหม่ภายหลังได้อย่างปลอดภัยเมื่อใช้ Idempotency-Key กับการสร้างการจอง