คู่มือเกี่ยวกับโควตาและขีดจำกัดอัตรา
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 เท่านั้น โดยเทรสโฮลด์มีสองประเภทดังนี้
- เทรสโฮลด์เบิร์ส: 3 ฮิตต่อวินาที ต่อเนื่อง ในช่วง 5 วินาที
- เทรสโฮลด์เฉลี่ย: 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 วินาทีโดยที่อัตราฮิตนี้คงเดิม) เทรสโฮลด์เบิร์สจะถูกละเมิด