Aller au contenu principal

Limiter les appels vers une ressource d'une API (resource-call-limiter)

Permet de limiter le nombre total de requêtes soumises à la ressource d'une API dans une unité de temps définie. Le Call Limiter agit comme un fusible et vise à protéger le SI La Poste d’un volume de requêtes à traiter trop important. Il prend donc en compte l'ensemble des requêtes envoyées par les consommateurs sur la période définie. En cas de dépassement de capacité, Okapi renvoie une erreur 429 "Too many requests".

Principe de fonctionnement

La ressource déclare dans son raccordement les données relatives au Call Limiter sous le namespace callLimiter dans les données optionnelles (extra). Les attributs du namespace callLimiter sont les suivants :

  • quotaTime (number) : Durée de la période (en secondes)

  • quotaCount (number) : Nombre d'appels possibles pendant la période définie par quotaTime

Principe de mise en oeuvre

resource:
name: My Resource
methode: get
route: /myresource
...
plugins:
- apiCallLimiter
extra:
callLimiter:
quotaTime: 86400
quotaCount: 10000