Docs
Connexion partenaire →

Rate Limiting

Limites de requêtes et comment les gérer

Fonctionnement

Chaque clé API dispose d’une limite de requêtes par heure (par défaut : 1000 requêtes/heure). Cette limite est configurable par l’administrateur de la clinique lors de la creation de la clé.

Le compteur utilise une fenetre fixe d’une heure, ouverte par la première requête de la clé. Toutes les requêtes de l’heure s’y ajoutent ; à la fin de la fenêtre, le compteur repart de zéro à la requête suivante.

Headers de réponse

Chaque réponse inclut des headers indiquant l’etat de votre quota :

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
HeaderDescription
X-RateLimit-LimitNombre maximum de requêtes par heure
X-RateLimit-RemainingRequêtes restantes dans la fenetre courante

Dépassement de limite

Lorsque la limite est atteinte, l’API retourne une erreur 429 Too Many Requests :

// 429 Too Many Requests
{
  "message": "Rate limit exceeded. Please try again later.",
  "retryAfter": 42
}

Le header Retry-After indique le nombre de secondes a attendre avant la fin de la fenêtre (au moins 1). X-RateLimit-Reset porte la même valeur.

HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 42

Bonnes pratiques

Implementez un backoff exponentiel

En cas de 429, attendez le temps indique par Retry-After, puis reessayez. Si ca échoue encore, doublez le délai à chaque tentative.

async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const retryAfter = parseInt(response.headers.get('Retry-After') || '60');
      const delay = retryAfter * 1000 * Math.pow(2, i);
      await new Promise(r => setTimeout(r, delay));
      continue;
    }

    return response;
  }
  throw new Error('Rate limit exceeded after retries');
}
Mettez en cache les donnees stables

Les informations comme les types de rendez-vous ou les fiches patients changent rarement. Mettez-les en cache localement pour reduire le nombre d’appels.

Surveillez votre consommation

Loggez les headers X-RateLimit-Remaining pour anticiper les depassements et ajuster votre rythme d’appels.

Demandez une augmentation si necessaire

Si votre intégration necessite plus de requêtes, contactez l’administrateur de la clinique pour augmenter la limite sur votre clé.

esc
↵ ouvrir↑↓ naviguerrésultats limités à ce site