info-icon


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

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

กำหนดโควตาต่อองค์กรและต่อโครงการ API

 

โควตาต่อองค์กร

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

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

 

โควตาต่อโครงการ API

โควตานี้ใช้กับสองระดับที่ต่างกัน ได้แก่ ระดับโครงการและระดับความสามารถ

ความสามารถที่เราหมายถึงคืออะไร

API แต่ละรายการจะถูกจัดกลุ่มตามความสามารถที่มี กลุ่มความสามารถแต่ละกลุ่มคือชุดของปลายทางตั้งแต่หนึ่งแห่งขึ้นไป ตัวอย่างเช่น ความสามารถในการติดตามสถานะแบบรวมระบบพื้นฐานมีปลายทาง API 6 แห่ง ในขณะที่ความสามารถในการตรวจสอบที่อยู่มีปลายทาง API เพียง 1 แห่ง

ตามค่าเริ่มต้น ขีดจำกัดโควตาต่อความสามารถต่อโครงการ (PCPP) สำหรับความสามารถในการติดตามคือ 100,000 คำขอต่อวัน นั่นหมายความว่าเมื่อการรับส่งข้อมูลจากโครงการใดๆ ภายในองค์กรไปยังปลายทาง 6 แห่งภายใต้ความสามารถในการติดตามเกินขีดจำกัดนี้ เราจะส่งรหัสข้อผิดพลาด "429 'ส่งคำขอมากเกินไป'" ถึงจนกว่าจะสิ้นสุดวันขีดจำกัดโควตานี้ใช้กับคำขอติดตามที่ตามมาทั้งหมดสำหรับปลายทางใดๆ 6 แห่ง

ตัวอย่างเช่น หากโครงการมีขีดจำกัด 100,000 รายการต่อความสามารถในการติดตาม (มีปลายทาง 6 แห่ง) จำนวนธุรกรรมทั้งหมดสำหรับปลายทาง 6 แห่งจะถูกนับจนถึงขีดจำกัด 100,000 รายการ หากโครงการของคุณเกินขีดจำกัดนั้น สำหรับธุรกรรมการติดตามครั้งต่อไป คุณจะได้รับรหัสข้อผิดพลาด "429 – ส่งคำขอมากเกินไป – เกินโควตาการทำรายการต่อวัน" ในช่วงที่เหลือของวัน 00:00 น. GMT

 

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

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

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

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

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

 

เทรสโฮลด์

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

  1. เทรสโฮลด์เบิร์ส: 3 ฮิตต่อวินาที ต่อเนื่อง ในช่วง 5 วินาที
  2. เทรสโฮลด์เฉลี่ย: 1 ฮิตต่อวินาที ต่อเนื่อง ในช่วง 2 นาที
  • เมื่อที่อยู่ IP สาธารณะละเมิดขีดจำกัดเทรสโฮลด์ใดๆ เหล่านี้ จะถูกลงโทษเป็นเวลา 10 นาที และคำขอต่อไปทั้งหมดในช่วงเวลา 10 นาทีนี้จะได้รับรหัสสถานะ "403 ไม่อนุญาตให้เข้าถึง"
  • หากผู้บริโภค API ยังคงละเมิดเทรสโฮลด์ใดๆ ในช่วงเวลาที่มีโทษปรับนี้ ช่วงเวลาที่มีโทษปรับจะขยายออกไปอีก ผู้ใช้ API สามารถยุติการลงโทษได้โดยไม่ละเมิดขีดจำกัดเทรสโฮลด์สำหรับช่วง 10 นาทีถัดไป
  • กลไกเทรสโฮลด์ขึ้นอยู่กับที่อยู่ IP สาธารณะของผู้ใช้ หากผู้ใช้ตั้งค่าอินสแตนซ์เครื่องคอมพิวเตอร์เสมือน 10 รายการหลัง IP สาธารณะหนึ่งรายการ คำขอทั้งหมดจากที่อยู่ IP ดังกล่าวจะนับรวมในขีดจำกัดเทรสโฮลด์

 

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

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

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

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

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

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

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


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

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

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

 

การละเมิด ข้อความแสดงข้อผิดพลาด
โควตาต่อองค์กร ส่งคำขอมากเกินไป เกินโควตาการทำรายการต่อวัน กรุณาลองอีกครั้งหลัง 00:00 น. GMT
โควตาต่อโครงการ API ส่งคำขอมากเกินไป: เกินโควตาการทำรายการต่อวัน กรุณาลองอีกครั้งหลัง 00:00 น. GMT
ขีดจำกัดอัตรา ส่งคำขอมากเกินไป: เกินเทรสโฮลด์ขีดจำกัดอัตรา กรุณาลองอีกครั้งหลัง 10 วินาที
   

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

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

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