คู่มือเกี่ยวกับโควตาและขีดจำกัดอัตรา

FedEx API ทำงานตามกลไกการจำกัดปริมาณการส่งคำขอสามแบบคือ โควตา ขีดจำกัดอัตรา และเทรสโฮลด์

โควตา

โควตาการทำรายการคือจำนวนคำขอ API สูงสุดที่องค์กรสามารถส่งได้ภายในหนึ่งวัน ซึ่งหมายความว่าผู้บริโภค API ควรคำนึงถึงจำนวนคำขอ API ทั้งหมดที่เริ่มต้นสำหรับโครงการทั้งหมดภายในองค์กรของตน ทั้งนี้ คำขอแต่ละรายการจะนับเป็นหนึ่งคำขอเหมือนกันโดยไม่ได้คำนึงถึงปริมาณข้อมูลที่ส่งคืนในการตอบกลับ FedEx API

ตัวอย่าง: องค์กรมีโควตาคำขอ API ที่ 500,000 รายการต่อวัน ภายในสองสามชั่วโมงแรกของวัน องค์กรนี้ได้ส่งคำขอ 500,000 รายการและใช้โควตาครบกำหนดของวันแล้ว สำหรับในช่วงเวลาที่เหลือของวัน ระบบจะส่งรหัสข้อผิดพลาด “429 – คำขอมากเกินไป – เกินโควตาการทำรายการต่อวัน กรุณาลองอีกครั้งหลัง 12.00 น. GMT” สำหรับแต่ละคำขอจนกว่าจะถึงวันถัดไป

ขีดจำกัดอัตรา

แต่ละโครงการมีขีดจำกัดอัตราการทำรายการที่ 1400 รายการต่อ 10 วินาที โดยข้อจำกัดในการจำกัดปริมาณการส่งคำขอจะมีผลหากทำรายการเกินขีดจำกัดนี้ในช่วง 10 วินาที

หากถึงขีดจำกัดนี้ในสองสามวินาทีแรก การทำรายการใดๆ ที่ส่งในวินาทีที่เหลือของหน้าต่าง 10 วินาทีดังกล่าวจะถูกจำกัดปริมาณการส่งคำขอ โดยในช่วงที่จำกัดปริมาณการส่งคำขอนี้ ระบบจะส่งรหัสข้อผิดพลาด “429 – คำขอมากเกินไป”

หาก FedEx ได้รับคำขอ 1400 รายการใน 2 วินาทีแรก การทำรายการใดๆ ต่อจากนั้นจะถูกจำกัดปริมาณการส่งคำขอในช่วง 8 วินาทีถัดไป และระบบจะส่งข้อความแสดงข้อผิดพลาด “429 – คำขอมากเกินไป – เราได้รับคำขอมากเกินไปในระยะเวลาสั้นๆ กรุณารอสักครู่เพื่อลองอีกครั้ง”

หลังจากผ่านไป 10 วินาที ข้อจำกัดในการจำกัดปริมาณการส่งคำขอจะถูกยกเลิกและตัวนับอื่นจะเริ่มติดตามจำนวนคำขอในช่วง 10 วินาทีถัดไป

เทรสโฮลด์

เทรสโฮลด์จะใช้ที่ระดับที่อยู่ IP เพื่อให้กระบวนการให้สิทธิ์อนุญาต FedEx API มีความยืดหยุ่น ซึ่งกลไกนี้ใช้ได้กับบริการสร้างโทเค็น OAuth เท่านั้น โดยเทรสโฮลด์มีสองประเภทดังนี้

  1. เทรสโฮลด์เบิร์ส: 3 ฮิตต่อวินาที ต่อเนื่อง ในช่วง 5 วินาที
  2. เทรสโฮลด์เฉลี่ย: 1 ฮิตต่อวินาที ต่อเนื่อง ในช่วง 2 นาที

เมื่อที่อยู่ IP สาธารณะละเมิดขีดจำกัดเทรสโฮลด์ใดๆ เหล่านี้ จะถูกลงโทษเป็นเวลา 10 นาที และคำขอต่อไปทั้งหมดในช่วงเวลา 10 นาทีนี้จะได้รับรหัสสถานะ "403 ไม่อนุญาตให้เข้าถึง"

หากผู้บริโภค API ยังคงละเมิดเทรสโฮลด์ใดๆ ในช่วงเวลาที่มีโทษปรับนี้ ช่วงเวลาที่มีโทษปรับจะขยายออกไปอีก ผู้ใช้ API สามารถยุติการลงโทษได้โดยไม่ละเมิดขีดจำกัดเทรสโฮลด์สำหรับช่วง 10 นาทีถัดไป

กลไกเทรสโฮลด์ขึ้นอยู่กับที่อยู่ IP สาธารณะของผู้ใช้ หากผู้ใช้ตั้งค่าอินสแตนซ์เครื่องคอมพิวเตอร์เสมือน 10 รายการหลัง IP สาธารณะหนึ่งรายการ คำขอทั้งหมดจากที่อยู่ IP ดังกล่าวจะนับรวมในขีดจำกัดเทรสโฮลด์

การจัดการการรับส่งข้อมูล

กลไกทั้งสามนี้ระบุการจัดการกับการรับส่งข้อมูลที่แตกต่างกันดังนี้

  • โควตาจะใช้ที่ระดับองค์กร กล่าวคือ การรับส่งข้อมูลแบบรวมที่สร้างโดย API ทั้งหมดภายในองค์กรจะต้องเป็นไปตามโควตาการทำธุรกรรมนี้

  • ขีดจำกัดอัตราจะใช้ที่ระดับโครงการ กล่าวคือ การรับส่งข้อมูลแบบรวมที่สร้างโดย API ทั้งหมดภายในโครงการจะต้องเป็นไปตามขีดจำกัดอัตรานี้

  • เทรสโฮลด์จะใช้ที่ระดับที่อยู่ IP

หมายเหตุ: FedEx อาจลดขีดจำกัดของกลไกการจำกัดปริมาณการส่งคำขอที่ระบุข้างต้นเพื่อป้องกันการใช้ที่ไม่ถูกต้อง การใช้มากเกินไป และการใช้ในทางที่ผิด โดย FedEx ขอสงวนสิทธิ์ในการเปลี่ยนแปลงการจัดสรรโดยไม่ต้องแจ้งให้ทราบล่วงหน้า เพื่อรักษาการเข้าถึงที่เท่าเทียมกันระหว่างผู้บริโภค API และเพื่อจัดสรรทรัพยากรของ FedEx อย่างมีประสิทธิภาพและมีประสิทธิผล


คำถามที่พบบ่อย

การทำรายการ API ทั้งหมดขององค์กรจากโครงการต่างๆ ถูกนับในโควตาหรือไม่
โควตาจะใช้ในระดับองค์กร โดยภายใต้องค์กรเดียว คุณสามารถมีได้หนึ่งโครงการขึ้นไป และภายใต้แต่ละโครงการ คุณสามารถมี API ได้ตั้งแต่หนึ่งรายการขึ้นไป ด้วยเหตุนี้ การรับส่งข้อมูลแบบรวมที่สร้างโดย API ทั้งหมดจากโครงการต่างๆ — ที่ซึ่งทั้งหมดอยู่ภายใต้องค์กรเดียวกัน — จะถูกนับในโควตารายวัน

หากมีการส่งคืนข้อผิดพลาด 429 เดียวกันสำหรับทั้งการละเมิดโควตาและการละเมิดขีดจำกัดอัตรา ฉันจะรู้ได้อย่างไรว่าฉันละเมิดอะไร
คุณสามารถอ่านข้อความแสดงข้อผิดพลาดได้ ซึ่งจะระบุประเภทการละเมิดที่เกิดขึ้น

การละเมิด ข้อความแสดงข้อผิดพลาด
โควตา ส่งคำขอจำนวนมากเกินไป – เกินโควตาการทำรายการรายวัน กรุณาลองอีกครั้งหลัง 12.00 น. GMT
ขีดจำกัดอัตรา เราได้รับคำขอมากเกินไปในระยะเวลาสั้นๆ กรุณารอสักครู่แล้วลองใหม่อีกครั้ง

วิธีแก้ไขเมื่อละเมิดขีดจำกัดของเทรสโฮลด์
โทเค็น OAuth มีอายุ 1 ชั่วโมง เราแนะนำให้ผู้บริโภค API ใช้โทเค็นนี้เต็มชั่วโมง จากนั้นให้ขอโทเค็นใหม่เฉพาะเมื่อโทเค็นก่อนหน้าหมดอายุ

ตัวอย่างเมื่อเกินขีดจำกัดของเทรสโฮลด์
ทั้ง 5 วินาทีและ 2 นาทีเป็นหน้าต่างการสังเกตสำหรับเทรสโฮลด์เบิร์สและเทรสโฮลด์เฉลี่ยตามลำดับ โดยในระหว่างเปิดหน้าต่างใดหน้าต่างหนึ่งเหล่านี้ หากละเมิดขีดจำกัดของเทรสโฮลด์ใดจากที่อยู่ IP จะมีการเรียกเก็บค่าปรับ

ตัวอย่าง: หากที่อยู่ IP เป็นแบบ 3 ฮิตต่อวินาทีที่ 2 วินาที แต่แล้วอัตราฮิตลดลงต่ำกว่า 3 ฮิตต่อวินาที เทรสโฮลด์เบิร์สจะไม่ถูกละเมิด อย่างไรก็ตาม หากที่อยู่ IP เป็นแบบ 3 ฮิตต่อวินาที ต่อเนื่อง 5 วินาที (เช่น อย่างน้อย 15 ฮิตใน 5 วินาทีโดยที่อัตราฮิตนี้คงเดิม) เทรสโฮลด์เบิร์สจะถูกละเมิด