รหัสข้อผิดพลาดและสถานะอ้างอิง
คู่มือฉบับสมบูรณ์เกี่ยวกับรหัสข้อผิดพลาด Smart Money API รหัสสถานะ HTTP และขั้นตอนการแก้ไขปัญหา ทำความเข้าใจการตอบสนองข้อผิดพลาดและแก้ไขปัญหาการรวมระบบได้อย่างรวดเร็ว
รหัสสถานะ 2xx สำเร็จ
การตอบสนองสำเร็จแสดงว่าคำขอได้รับการประมวลผลเรียบร้อยแล้ว
| รหัส | สถานะ | ความหมาย |
|---|---|---|
| 200 | OK | คำขอสำเร็จ เนื้อหาการตอบสนองประกอบด้วยข้อมูลที่ร้องขอ |
| 201 | Created | สร้างทรัพยากรสำเร็จ การตอบสนองรวมถึงทรัพยากรใหม่ |
| 204 | No Content | คำขอสำเร็จแต่ไม่มีเนื้อหาให้ส่งกลับ (เช่น DELETE) |
ตัวอย่างการตอบสนอง 200
รหัสข้อผิดพลาด 4xx จากผู้ใช้
ข้อผิดพลาดจากผู้ใช้แสดงว่าคำขอมีรูปแบบไม่ถูกต้องหรือไม่สมบูรณ์ แก้ไขคำขอของคุณและลองอีกครั้ง
| รหัส | สถานะ | สาเหตุ |
|---|---|---|
| 400 | Bad Request | รูปแบบคำขอไม่ถูกต้อง ตรวจสอบพารามิเตอร์คำขอ ส่วนหัว และเนื้อหาคำขอ |
| 401 | Unauthorized | ขาดหรือข้อมูลยืนยันตัวตนไม่ถูกต้อง ตรวจสอบ API key หรือ JWT token ของคุณ |
| 402 | Payment Required | การชำระเงินการสมัครสมาชิกล้มเหลว อัปเดตข้อมูลการชำระเงินในบัญชีของคุณ |
| 403 | Forbidden | ยืนยันตัวตนแล้วแต่ไม่มีสิทธิ์เข้าถึงทรัพยากรนี้ แผนของคุณไม่รวมคุณลักษณะนี้ |
| 404 | Not Found | ไม่พบทรัพยากร ตรวจสอบ URL ปลายทางและพารามิเตอร์ |
| 429 | Too Many Requests | เกินขีดจำกัดอัตราการใช้งาน รอก่อนลองอีกครั้ง ตรวจสอบส่วนหัว Retry-After |
| 422 | Unprocessable Entity | การตรวจสอบล้มเหลว พารามิเตอร์คำขอไม่ถูกต้องหรือขาดฟิลด์ที่จำเป็น |
ตัวอย่างข้อผิดพลาดการยืนยันตัวตน
ขาด API Key (401)
API Key ไม่ถูกต้อง (401)
การจำกัดอัตราการใช้งาน (429)
เมื่อคุณเกินโควต้า API เซิร์ฟเวอร์จะส่งกลับ 429 Too Many Requests ตรวจสอบส่วนหัวการตอบสนองสำหรับข้อมูลการจำกัดอัตราการใช้งาน:
การตอบสนองข้อผิดพลาดการจำกัดอัตราการใช้งาน
ข้อผิดพลาดการตรวจสอบความถูกต้อง (422)
ข้อผิดพลาดการตรวจสอบความถูกต้องเกิดขึ้นเมื่อพารามิเตอร์คำขอของคุณไม่ถูกต้องหรือขาดฟิลด์ที่จำเป็น
รหัสข้อผิดพลาด 5xx จากเซิร์ฟเวอร์
ข้อผิดพลาดจากเซิร์ฟเวอร์แสดงว่ามีปัญหาที่ฝั่งเรา ปัญหาเหล่านี้เป็นชั่วคราวและมักจะแก้ไขได้อย่างรวดเร็ว ให้ใช้ลอจิกการลองใหม่แบบ exponential backoff
| รหัส | สถานะ | การดำเนินการ |
|---|---|---|
| 500 | Internal Error | ข้อผิดพลาดเซิร์ฟเวอร์ที่ไม่คาดคิด ลองใหม่ด้วย exponential backoff |
| 502 | Bad Gateway | การขัดข้องของบริการชั่วคราว ลองใหม่หลังจากผ่านไปไม่กี่วินาที |
| 503 | Service Unavailable | กำลังบำรุงรักษาหรือขัดข้องชั่วคราว ตรวจสอบหน้าสถานะ ลองใหม่หลังจากช่วงเวลา Retry-After |
| 504 | Gateway Timeout | คำขอใช้เวลานานเกินไป เซิร์ฟเวอร์อาจประมวลผลเรียบร้อยแล้ว ตรวจสอบ idempotency |
ตัวอย่างข้อผิดพลาดเซิร์ฟเวอร์ (503)
คู่มือการแก้ไขปัญหา
401 Unauthorized - API Key ไม่ถูกต้อง
ปัญหา: ได้รับข้อผิดพลาด 401 แม้มี API key
วิธีแก้ไข:
- ตรวจสอบว่า API key อยู่ในส่วนหัว Authorization และมีคำนำหน้า "Bearer"
- ตรวจสอบว่า API key ของคุณยังไม่หมดอายุหรือถูกยกเลิก
- ตรวจสอบว่าคุณใช้ key ที่ถูกต้อง (production, staging หรือ development)
- สร้าง API key ใหม่จากคอนโซลหาก key ปัจจุบันสูญหาย
403 Forbidden - คุณลักษณะไม่พร้อมใช้งาน
ปัญหา: ได้รับข้อผิดพลาด 403 บางปลายทาง
วิธีแก้ไข:
- ตรวจสอบระดับ API ของคุณ บางปลายทางต้องการแผน Trader หรือ Pro
- อัปเกรดแผนของคุณที่ /pricing.html เพื่อเข้าถึงคุณลักษณะพรีเมียม
- ตรวจสอบว่า API key มี scope ที่จำเป็นเปิดใช้งาน
- ติดต่อฝ่ายสนับสนุนหากคุณคิดว่าคุณควรมีสิทธิ์เข้าถึง
429 Too Many Requests - ถูกจำกัดอัตราการใช้งาน
ปัญหา: ได้รับข้อผิดพลาด 429 และถูกจำกัดอัตราการใช้งาน
วิธีแก้ไข:
- ใช้ลอจิกการลองใหม่แบบ exponential backoff (รอ 1 วินาที 2 วินาที 4 วินาที ฯลฯ)
- เก็บผลลัพธ์ในแคชเพื่อหลีกเลี่ยงการเรียก API ซ้ำซ้อน
- ใช้ WebSocket สำหรับข้อมูลแบบเรียลไทม์แทนการ polling REST endpoints
- อัปเกรดแผนของคุณเพื่อเพิ่มโควต้า (Trader 1,000/วัน Pro 5,000/วัน)
- รวมคำขอหลายรายการเป็นคำขอเดียวหากเป็นไปได้
400 Bad Request - พารามิเตอร์ไม่ถูกต้อง
ปัญหา: ได้รับข้อผิดพลาด 400 กับคำขอที่มีรูปแบบไม่ถูกต้อง
วิธีแก้ไข:
- ตรวจสอบเอกสาร API สำหรับพารามิเตอร์ที่จำเป็นและไม่จำเป็น
- ตรวจสอบประเภทพารามิเตอร์ (สตริงกับตัวเลข อาร์เรย์กับอ็อบเจกต์)
- ตรวจสอบว่า JSON ถูกต้องและมีรูปแบบเหมาะสม
- ใช้ URL ปลายทางที่ถูกต้องพร้อมพารามิเตอร์เส้นทางที่เหมาะสม
- ตรวจสอบการพิมพ์ผิดในชื่อพารามิเตอร์ของคำขอ
ข้อผิดพลาดเซิร์ฟเวอร์ 5xx - การหยุดทำงานชั่วคราว
ปัญหา: ได้รับข้อผิดพลาด 500, 502, 503, หรือ 504
วิธีแก้ไข:
- ตรวจสอบสถานะบริการที่ https://status.smartmoneyapi.com
- นำการลองใหม่อัตโนมัติมาใช้พร้อมการถอยหลังแบบเอ็กซ์โพเนนเชียล (สูงสุด 5-10 ครั้ง)
- รอ 30-60 วินาทีก่อนลองใหม่สำหรับข้อผิดพลาด 503
- ใช้ส่วนหัว Retry-After เพื่อกำหนดเวลาลองใหม่
- สมัครรับการแจ้งเตือนเหตุการณ์ที่หน้าสถานะ
รูปแบบการตอบกลับข้อผิดพลาด
การตอบกลับข้อผิดพลาดทั้งหมดมีรูปแบบที่สม่ำเสมอ:
ต้องการความช่วยเหลือเพิ่มเติมหรือไม่?
ตรวจสอบเอกสาร API ของเราหรือติดต่อฝ่ายสนับสนุนด้วยรหัสข้อผิดพลาดและรายละเอียดคำขอของคุณ
เอกสารอ้างอิง API