Skip to main content
Cette documentation a été mise à jour le 21/11/23.

Introduction

Puisque son API est le produit phare de HUB2, une qualité de service importante est nécessaire. Afin d’assurer un temps de réponse correct et une continuité des services, certaines limites doivent être appliquées sur les points d’entrée les plus coûteux en ressources. Cette limite est appliquée par adresse IP, elle est donc propre à chaque utilisateur de l’API et l’utilisation d’un client A n’impactera pas l’utilisation d’un client B. C’est d’ailleurs en ce sens que ces limites sont établies.

Limitations de l’API

Ci-après un tableau récapitulatif des limites en place. La limite globale s’applique à toutes les autres routes.
La limite réelle correspond à la valeur de comment le code réagit en termes de requêtes / secondes.
La limite convertie facilite la compréhension et aide à comparer les valeurs sur une même échelle.
Cette limite s’applique autant au trafic en mode sandbox qu’au trafic en mode live.
Pensez à arrêter le trafic sandbox si le flux devient important.

Comment gérer les limites

À chaque fois que l’API reçoit une requête au delà de la limite d’un point de terminaison, une erreur Too Many Requests avec le statut HTTP 429 sera retournée.
Veuillez consulter la documentation MDN à ce sujet.
La requête échoue et ne sera pas traitée par l’API à cause de la limite de flux. Des en-têtes sont fournis dans la réponse HTTP en cas de limitation:

Solution réactive (plus facile)

Une façon de gérer les limites de flux d’un point de vue client consiste à relancer les requêtes si elles échouent avec un code 429 :

Solution pro-active (plus compliquée)

La solution proactive est plus délicate, elle consiste à préparer une quantité de requêtes prêtes dans un tableau, autant que la limite de flux de la destination. Lorsque le tableau est vide, alors la prochaine requête attend en ligne d’avoir une place qui se libère. Veuillez consulter cet article intéressant sur comment implémenter la gestion de la limite de flux côté client, particulièrement les approches 4 et 4.1.

Conclusion

Dans un monde parfait, il n’y aurait aucune limite de flux. Toutefois dans le monde réel, cela aide à empêcher les abus et à maintenir un service stable pour chacun. L’équipe travaille de manière journalière pour améliorer la stabilité et les performances de l’API et cette page sera aussitôt mise à jour dès lors que des améliorations permettent de relâcher les limites.