Guide des quotas et des limites des taux

FedEx reçoit plusieurs milliers de demandes d’API chaque jour.Nous utilisons trois mécanismes de limitation des demandes pour gérer ce volume important.Des quotas, des limites de taux et des seuils sont en place pour allouer les ressources de FedEx de manière efficace et efficiente.

Les quotas sont définis par organisation et par projet API.

 

Quotas par organisation

Le quota de transactions est le nombre maximum de demandes d’API permises pour une organisation au cours d’une journée.Cela signifie que les utilisateurs de l’API doivent prendre en compte le nombre total de demandes d’API réalisées pour tous les projets d’une seule organisation.Chaque demande compte de manière égale, quel que soit le volume de données contenu dans la réponse de l’API FedEx.

Exemple : Une organisation a un quota de 500 000 demandes d’API par jour.Si une organisation atteint 500 000 demandes soumises dans les premières heures de la journée, elle aura atteint son quota.Pour le reste de la journée, le code d’erreur « 429 — Trop de demandes — Le quota de transactions quotidiennes est dépassé.Réessayez après 00:00 GMT. » sera envoyé pour chaque demande jusqu’au jour suivant

 

Quotas par projet API

Ce quota est appliqué à deux niveaux différents : le projet et la capacité.

Qu’entendons-nous par « capacité »?

Chaque API est regroupée en fonction des capacités qu’elle offre.Chaque groupe de capacités est un ensemble d’un ou de plusieurs points de terminaison.Par exemple, la capacité de l’API de suivi comporte 6 points de terminaison de l’API, tandis que la capacité de validation d’adresse ne comporte qu’un seul point de terminaison de l’API.

La limite de quota par capacité et par projet (PCPP) par défaut pour la capacité de suivi est de 100 000 demandes par jour.Cela signifie que lorsque le trafic de n’importe quel projet au sein d’une organisation vers n’importe lequel des 6 points de terminaison dans le cadre de la capacité de suivi dépasse cette limite, nous vous enverrons une erreur « 429 — Trop de demandes » jusqu’à la fin de la journée.Ceci s’applique à toutes les demandes de suivi ultérieures pour n’importe lequel des 6 points de terminaison.

Exemple : Si un projet a une limite de 100 000 demandes par capacité de suivi (avec 6 points de terminaison), le nombre total de transactions pour les 6 points de terminaison sera comptabilisé dans la limite de 100 000 demandes.Si votre projet dépasse cette limite, vous recevrez un code d’erreur « 429 — Trop de demandes — Le quota de transactions quotidiennes est dépassé » pour les transactions suivantes jusqu’à la fin de la journée (00:00 TMG).

 

Limites des taux

Chaque projet a une limite de taux de transaction de 1 400 transactions par 10 secondes.Des restrictions des demandes sont appliquées si les transactions dépassent cette limite pendant chaque période de 10 secondes.

Si cette limite est atteinte dans les premières secondes, toutes les transactions envoyées dans les secondes restantes de cette période de 10 secondes seront limitées. Pendant cette période de restriction, un code d’erreur indiquant « 429 — Trop de demandes » sera retourné.

Si FedEx reçoit 1 400 demandes dans les 2 premières secondes, toutes les transactions suivantes seront limitées pendant les 8 secondes suivantes, et un message d’erreur indiquant « 429 — Trop de demandes — Nous avons reçu trop de demandes en peu de temps.Veuillez attendre un moment puis réessayer », sera envoyé.

Une fois les 10 secondes écoulées, les restrictions des demandes seront levées, et un autre compteur commencera à suivre le nombre de demandes au cours des 10 prochaines secondes.

 

Seuils

Les seuils sont appliqués au niveau de l’adresse IP pour rendre le processus d’autorisation d’API FedEx résilient.Ce mécanisme est uniquement applicable au service de génération de jetons d’authentification.Il existe deux types de seuils :

  1. Seuil de rupture : 3 demandes par seconde, en continu, pendant 5 secondes
  2. Seuil moyen : 1 demande par seconde, en continu, pendant 2 minutes
  • Dès qu’une adresse IP publique dépasse l’un de ces seuils, elle est pénalisée pendant 10 minutes, et toutes les autres demandes effectuées durant cette période de 10 minutes recevront un code de statut « 403 Interdit ».
  • Si les utilisateurs de l’API continuent à dépasser les seuils pendant cette période de pénalité, elle sera prolongée.Les utilisateurs de l’API peuvent mettre fin à leur pénalité en ne dépassant pas le seuil limite pendant les 10 minutes suivantes.
  • Les mécanismes de seuil sont basés sur l’adresse IP publique d’un utilisateur.Si un utilisateur configure 10 instances de machines virtuelles sous une seule IP publique, toutes les demandes provenant de cette adresse IP seront comptabilisées dans la limite du seuil.

 

Gestion du trafic

Chacun de ces trois mécanismes aborde un aspect distinct de la gestion du trafic :

  • Quotas appliqués au niveau de l’organisation : le trafic combiné généré par toutes les API d’une organisation sera soumis à ce quota de transactions.

  • Quotas appliqués au niveau du projet : le trafic combiné généré pour une capacité de l’API dans le cadre d’un projet est soumis à ce quota de transactions.

  • Limites de taux appliqués au niveau du projet : le trafic combiné généré par toutes les API d’un projet sera soumis à cette limite de taux.

  • Les seuils sont appliqués au niveau de l’adresse IP.

Remarque : FedEx peut réduire la ou les limites de l’un des mécanismes de restriction de demandes susmentionnés afin d’éviter toute mauvaise utilisation, toute utilisation excessive et tout abus.FedEx se réserve le droit de modifier l’allocation sans préavis afin de maintenir un accès équitable entre les utilisateurs de l’API et d’allouer les ressources de FedEx de manière efficace et efficiente.


Foire aux questions

Est-ce que toutes les transactions API d’une organisation provenant de différents projets sont prises en compte dans le quota?
Le quota est appliqué à l’échelle de l’organisation. Au sein d’une organisation, vous pouvez avoir un ou plusieurs projets, et pour chaque projet, vous pouvez avoir une ou plusieurs API. Par conséquent, le trafic combiné généré par toutes les API de différents projets (relevant tous de la même organisation) est imputé à un quota quotidien.

Si la même erreur 429 est générée à la fois pour une violation de quota et une violation de limite des taux, comment puis-je déterminer quelle sorte de violation j’ai subie?
Vous pouvez reconnaître la violation en lisant le message d’erreur.

 

VIOLATION MESSAGE D’ERREUR
Quotas par organisation Trop de demandes — Le quota de transactions quotidiennes est dépassé.Réessayez après 00:00 GMT
Quotas par projet API Trop de demandes — Le quota quotidien par projet est dépassé.Réessayez après 00:00 GMT
Limite des taux Trop de demandes — Le seuil de limite de taux est dépassé.Réessayez après 10 secondes
   

Quelle est la solution dans le cas de la violation d’un seuil limite?
Un jeton OAuth est valide pendant une heure. Nous suggérons aux utilisateurs de l’API d’utiliser ce jeton pendant cette heure en totalité, puis de demander un nouveau jeton uniquement lorsque le précédent expire.

Quel est un exemple de dépassement du seuil limite?
Les deux fenêtres d’observation sont de 5 secondes et de 2 minutes, respectivement pour le seuil de rupture et le seuil moyen. Dans ces fenêtres, si l’une ou l’autre des limites de seuil est violée à partir d’une adresse IP, alors la pénalité liée au seuil est imposée.

Exemple : Si une adresse IP reçoit 3 demandes par seconde pendant 2 secondes, suivies d’un taux de demandes inférieur à 3 demandes par seconde, le seuil de rupture n’a pas été dépassé. En revanche, si une adresse IP reçoit 3 demandes par seconde en continu pendant 5 secondes, suivies de 15 demandes en 5 secondes, le seuil de rupture de 14 demandes en 5 secondes est dépassé.