Limitarea cererilor (Rate Limiting)
API-ul pentru Parteneri aplică limite de rată pentru a asigura utilizarea echitabilă și stabilitatea platformei.
Limite implicite
| Endpoint | Limită (Producție) | Limită (Sandbox) |
|---|---|---|
| Endpoint-uri generale | 100 cereri/min | 500 cereri/min |
Creare comandă (POST /orders) | 10 cereri/min | 50 cereri/min |
Anteturi de răspuns
Fiecare răspuns API include informații despre limitele de rată în următoarele anteturi:
| Antet | Descriere |
|---|---|
X-RateLimit-Limit | Numărul maxim de cereri permise în fereastra curentă |
X-RateLimit-Remaining | Numărul de cereri rămase în fereastra curentă |
X-RateLimit-Reset | Marca temporală Unix (secunde) când se resetează fereastra de limite |
Gestionarea răspunsurilor 429
Când depășiți limita de rată, API-ul returnează un răspuns 429 Too Many Requests:
{
"statusCode": 429,
"message": "Rate limit exceeded. Try again in 45 seconds.",
"error": "Too Many Requests"
}
Strategie recomandată
- Citiți antetul
X-RateLimit-Remainingpentru a vă monitoriza proactiv utilizarea. - Când primiți un
429, așteptați până la momentul indicat deX-RateLimit-Resetînainte de a reîncerca. - Implementați backoff exponențial (exponential backoff) pentru reîncercări, pentru a evita throttling-ul repetat.
- Stocați în cache răspunsurile catalogului de produse acolo unde este posibil, pentru a reduce cererile inutile.