Rate limiting
L'API Cocolis applique une limite de débit pour protéger l'infrastructure. Cette limite s'applique à toutes les routes de l'API, y compris can_match et la création d'annonces.
Limite en vigueur
Nous avons mis en place différentes limites d'utilisation de l'API.
- signing in: 10 requêtes par périodes glissantes de 10 secondes (en moyenne 1 par seconde)
- toutes requêtes de type POST/DELETE/PUT: 120 requêtes par période glissantes de 1 minute (en moyenne 2 par seconde)
- toutes requêtes de type GET: 600 requêtes par période glissantes de 1 minute (en moyenne 10 par seconde)
Réponse en cas de dépassement
Lorsque la limite est atteinte, l'API renvoie un statut HTTP 429 Too Many Requests avec les headers suivants :
| Header | Description |
|---|---|
RateLimit-Limit | Limite applicable |
RateLimit-Remaining | Requêtes restantes (toujours 0 lors d'un 429) |
RateLimit-Reset | Timestamp Unix avant lequel attendre |
Retry-After | Nombre de secondes à attendre |
Le corps de la réponse contient simplement Throttled.
Bonnes pratiques
- Implémentez une logique de retry avec backoff exponentiel en vous appuyant sur le header
Retry-After. - Mettez en cache côté client les réponses qui changent rarement afin de réduire le nombre d'appels.
- Évitez les polls agressifs — préférez les webhooks pour être notifié des changements d'état.