ข้ามไปยังเนื้อหา

จัดการข้อจำกัดอัตราการเรียกและข้อผิดพลาดของเซิร์ฟเวอร์

หยุดรอหลังได้รับการตอบกลับ 429 และลองคำขอที่ปลอดภัยอีกครั้งอย่างระมัดระวังหลังเกิดข้อผิดพลาดชั่วคราวของเซิร์ฟเวอร์

อัปเดตเมื่อ

จัดการการตอบกลับ 429

คำขอที่ถูกจำกัดอัตราจะตอบกลับด้วย 429 Too Many Requests และตั้งค่า detail.status เป็น rate_limit_exceeded อ่านเฮดเดอร์การตอบกลับก่อนลองอีกครั้ง:

  • Retry-After ระยะเวลาขั้นต่ำเป็นวินาทีที่ต้องรอก่อนส่งคำขอที่ถูกปฏิเสธอีกครั้ง
  • X-RateLimit-Limit จำนวนคำขอสูงสุดในบักเก็ต
  • X-RateLimit-Remaining จำนวนคำขอที่ยังเหลือ
  • X-RateLimit-Reset เวลาที่บักเก็ตรีเซ็ต

รอให้ครบตาม Retry-After แล้วลองใหม่โดยเพิ่มเวลารอแบบทวีคูณและสุ่มหน่วงเวลา ลดจำนวนคำขอพร้อมกันและจัดคิวงาน แทนการส่งคำขอเป็นชุดทันทีที่หน้าต่างรีเซ็ต

จัดการข้อผิดพลาดของเซิร์ฟเวอร์

สำหรับการตอบกลับ 500 เนื้อหาสาธารณะมีข้อผิดพลาดทั่วไปและ request_id โดยไม่ส่งรายละเอียดข้อยกเว้นภายในกลับมา ส่วน 503 อาจหมายถึงบริการที่จำเป็นใช้งานไม่ได้ชั่วคราว

ลองคำขออ่านอย่างเดียวอีกครั้งโดยจำกัดจำนวนครั้งและเพิ่มเวลารอ ก่อนลองคำขอสร้าง อัปเดต ชำระเงิน หรือคำขออื่นที่เปลี่ยนสถานะ ให้ตรวจสอบว่าความพยายามครั้งแรกดำเนินการสำเร็จหรือไม่ การหมดเวลาหรือการตอบกลับ 5xx ไม่ได้ยืนยันว่าการเปลี่ยนแปลงล้มเหลว และการส่งซ้ำทันทีอาจทำให้งานซ้ำ

เก็บข้อมูลตรวจสอบปัญหา

บันทึกเวลา เมธอด พาธ สถานะ เนื้อหาการตอบกลับ และ X-Request-Id อย่าบันทึกค่า x-api-key หยุดลองอัตโนมัติหลังจำนวนครั้งที่จำกัด แล้วแจ้งความล้มเหลวให้ผู้รับผิดชอบตรวจสอบ