Gids voor quota en frequentielimieten

FedEx ontvangt vele duizenden API-verzoeken per dag. We gebruiken drie beperkingsmechanismen om zo'n groot volume aan te kunnen. Er zijn quota, frequentielimieten en drempels ingesteld om de middelen van FedEx effectief en efficiënt aan te kunnen wenden.

Quota worden per organisatie en per API-project vastgesteld.

 

Quota per organisatie

Het transactiequotum is het maximumaantal API-aanvragen voor een organisatie binnen een dag. Dit betekent dat API-gebruikers moeten kijken naar het totale aantal geïnitieerde API-aanvragen voor alle projecten binnen een bepaalde organisatie. Elke aanvraag telt even zwaar, ongeacht het volume van de gegevens in het antwoord van de FedEx-API.

Voorbeeld: Een organisatie heeft een quotum van 500.000 API-aanvragen per dag. Binnen de eerste paar uur van de dag heeft deze organisatie 500.000 aanvragen ingediend en is hun dagelijkse quotum bereikt. Gedurende de rest van de dag wordt de foutcode '429: Te veel aanvragen. Dagelijks transactiequotum overschreden. Probeer het opnieuw na 00.00 uur GMT' getoond bij elke aanvraag tot de volgende dag

 

Quota per API-project

Dit quotum wordt op twee verschillende niveaus toegepast: project en functie.

Wat bedoelen we met functies?

Elke API is ingedeeld in een groep op basis van de functies die de API biedt. Elke groep functies is verzameling van een of meer eindpunten. De API met de functie traceren heeft bijvoorbeeld 6 API-eindpunten, terwijl de functie adresvalidatie slechts 1 API-eindpunt heeft.

De standaardlimiet Per Capability Per Project (PCPP) (per mogelijkheid per project) voor de functie traceren is 100K aanvragen per dag. Dat betekent dat wanneer het verkeer vanaf een van de projecten binnen een organisatie naar een van de 6 eindpunten van de functie Traceren deze limiet overschrijdt, wij u een foutmelding sturen met de tekst "429: 'Te veel aanvragen.'" Deze melding blijft komen tot aan het einde van de dag. Dit geldt voor alle volgende traceringsaanvragen voor elk van de 6 eindpunten

Voorbeeld: Als een project een limiet van 100K per traceerfunctie heeft (met 6 eindpunten), dan wordt het totale aantal transacties voor alle 6 eindpunten meegeteld voor de limiet van 100K. Als uw project die limiet overschrijdt, dan zult u voor de daarop volgende traceertransacties gedurende dezelfde dag een foutmelding met de tekst “429 – Te veel aanvragen. Dagelijks transactiequotum overschreden” ontvangen tot 00:00 GMT.

 

Frequentielimieten

Elk project heeft een frequentielimiet van 1.400 transacties per 10 seconden. Er worden beperkingslimieten toegepast indien het aantal transacties deze limiet overschrijdt gedurende elk interval van 10 seconden.

Als deze limiet in de eerste paar seconden wordt bereikt, worden er beperkingen toegepast op de transacties die in de resterende seconden van die tijdsspanne van 10 seconden worden verstuurd. Tijdens deze beperkingsperiode wordt een foutcode met de tekst '429: te veel aanvragen' getoond.

Als FedEx in de eerste 2 seconden 1.400 aanvragen ontvangt, worden alle daaropvolgende transacties gedurende de volgende 8 seconden beperkt en wordt een foutmelding getoond met de tekst “429 – Te veel aanvragen. We hebben te veel aanvragen ontvangen in een korte tijd. Wacht even en probeer het daarna opnieuw.”

Na 10 seconden worden de beperkingslimieten opgeheven en start een andere teller met het bijhouden van het aantal aanvragen gedurende de volgende 10 seconden.

 

Drempels

Drempels worden toegepast op het niveau van het IP-adres om het autorisatieproces voor FedEx-API's flexibel te maken. Dit mechanisme is alleen van toepassing op de service voor het genereren van Auth-tokens. Er zijn twee soorten drempels:

  1. Burstdrempel: 3 treffers per seconde, ononderbroken, gedurende een periode van 5 seconden
  2. Gemiddelde drempel: 1 treffer per seconde, ononderbroken, gedurende een periode van 2 minuten
  • Zodra een openbaar IP-adres een van deze drempelwaarden overschrijdt, wordt het gedurende 10 minuten op non-actief gezet en ontvangen alle verdere aanvragen gedurende deze periode van 10 minuten de statuscode “403 Verboden”
  • Indien API-klanten gedurende deze straftijd drempelwaarden blijven overschrijden, wordt de straftijd verlengd. API-gebruikers kunnen hun straftijd beëindigen door de drempelwaarde tijdens de volgende 10 minuten niet te overschrijden
  • Drempelmechanismen zijn gebaseerd op het openbare IP-adres van een gebruiker. Als een gebruiker 10 instanties van een virtuele machine instelt achter één openbaar IP-adres, tellen alle aanvragen van dat IP-adres mee voor de drempelwaarde

 

Verkeerbeheer

Elk van deze drie mechanismen heeft betrekking op een specifiek aspect van het verkeerbeheer:

  • Quota die worden toegepast op het niveau van de organisatie: Het gecombineerde verkeer dat door alle API's binnen een organisatie wordt gegenereerd valt onder dit transactiequotum.

  • Quota die worden toegepast op het niveau van het project: Het gecombineerde verkeer dat door één API-functie van een project wordt gegenereerd valt onder dit transactiequotum.

  • Frequentielimieten die worden toegepast op het niveau van het project: Het gecombineerde verkeer dat door alle API's binnen een project wordt gegenereerd valt onder deze frequentielimiet.

  • Drempels worden toegepast op het niveau van het IP-adres.

Opmerking: FedEx kan de limiet(en) van een van de hierboven genoemde beperkingsmechanismen verlagen om misbruik, overgebruik en oneigenlijk gebruik te voorkomen. FedEx behoudt zich het recht voor om de toewijzing zonder voorafgaande kennisgeving te wijzigen om een gelijke toegang onder API-klanten te handhaven en om de middelen van FedEx effectief en efficiënt toe te wijzen.


Veelgestelde vragen

Worden alle API-transacties van een organisatie van verschillende projecten meegeteld voor het quotum?
Het quotum wordt toegepast op het niveau van de organisatie. Onder een organisatie kunt u een of meer projecten hebben en onder elk project kunt u een of meer API's hebben. Het gevolg is dat het gecombineerde verkeer dat wordt gegenereerd door alle API's van verschillende projecten die onder dezelfde organisatie vallen, wordt meegeteld voor een dagelijks quotum.

Als dezelfde 429-fout wordt getoond voor een quotumoverschrijding als een overschrijding van de frequentielimiet, hoe kan ik dan bepalen wat voor soort overtreding ik heb begaan?
U kunt de overtreding bepalen door de foutmelding te lezen.

 

OVERTREDING FOUTMELDING
Quota per organisatie Te veel aanvragen: dagelijks transactiequotum overschreden. Probeer het opnieuw na 00.00 uur GMT
Quota per API-project Te veel aanvragen: dagelijks quotum voor project overschreden. Probeer het opnieuw na 00.00 uur GMT
Frequentielimiet Te veel aanvragen: drempel van frequentielimiet overschreden. Probeer het opnieuw na 10 seconden
   

Wat is de oplossing voor een overschrijding van een drempelwaarde?
Een OAuth-token is een uur geldig. We raden API-klanten aan dit token gedurende dat volledige uur te gebruiken en pas een nieuw token aan te vragen als het vorige verloopt.

Wat is een voorbeeld van wanneer de drempel wordt overschreden?
Zowel 5 seconden als 2 minuten zijn observatieperiode, voor respectievelijk de burstdrempel en de gemiddelde drempel. Indien gedurende een van deze periodes een van de twee drempelwaarden door een IP-adres wordt overschreden, wordt de drempelsanctie opgelegd.

Voorbeeld: Als een IP-adres gedurende 2 seconden 3 treffers per seconde heeft, gevolgd door een trefferfrequentie van minder dan 3 treffers per seconde, dan is de burstdrempel niet overschreden. Als een IP-adres echter gedurende 5 seconden continu 3 treffers per seconde heeft, gevolgd door 15 treffers in 5 seconden, dan is de burstdrempel van 14 treffers in 5 seconden overschreden.