Ограничения частоты запросов IZI API
Ограничения частоты запросов IZI API
Заголовок раздела «Ограничения частоты запросов IZI API»IZI API ограничивает количество запросов на токен. Это защищает инфраструктуру и обеспечивает стабильность для всех партнёров.
| Лимит | Значение |
|---|---|
| Скользящее окно | 10 секунд |
| Максимум запросов | 100 за окно |
| Единица учёта | Токен (не IP) |
| Стоимость обычного запроса | 1 |
| Стоимость аналитического запроса | 5–10 (зависит от сложности) |
Лимит скользящий — не сбрасывается раз в 10 секунд, а считается непрерывно по последним 10 секундам.
Заголовки ответа
Заголовок раздела «Заголовки ответа»Каждый ответ API содержит:
X-RateLimit-Limit: 100X-RateLimit-Remaining: 73X-RateLimit-Reset: 1717072920X-RateLimit-Cost: 1X-RateLimit-Remaining— сколько запросов осталось в текущем окнеX-RateLimit-Reset— Unix timestamp когда окно сброситсяX-RateLimit-Cost— стоимость текущего запроса
При превышении лимита:
HTTP/1.1 429 Too Many RequestsRetry-After: 7X-RateLimit-Remaining: 0Стратегия обхода 429
Заголовок раздела «Стратегия обхода 429»async function requestWithBackoff(query, variables, maxRetries = 3) { for (let attempt = 0; attempt < maxRetries; attempt++) { try { return await client.request(query, variables); } catch (error) { if (error.status === 429) { const retryAfter = parseInt(error.headers['retry-after'] || '5', 10); // Добавляем jitter чтобы не синхронизировать повторы const delay = retryAfter * 1000 + Math.random() * 1000; await new Promise(resolve => setTimeout(resolve, delay)); continue; } throw error; } } throw new Error('Max retries exceeded');}Рекомендации
Заголовок раздела «Рекомендации»Для синхронизации данных — используйте webhooks вместо polling’а. Вместо запроса каждые 5 секунд «что изменилось» — подпишитесь на события и получайте пуш при изменении.
Для bulk-операций — группируйте запросы через batching (до 10 в одном POST).
Для аналитики — запускайте тяжёлые запросы в ночное время или кешируйте результаты на стороне.
Связанные страницы
Заголовок раздела «Связанные страницы»- IZI API: обзор — общая архитектура
- Webhooks — альтернатива polling’у
- Коды ошибок API — полный список кодов ошибок
См. также
Заголовок раздела «См. также»Частые вопросы
Сколько запросов в секунду можно делать к IZI API?
100 запросов за любые 10 секунд на один токен. Это ~10 запросов/сек в среднем, но допустимы кратковременные всплески до 30–40 в секунду пока не превышен скользящий лимит.
Что делать при ошибке 429?
Прочитайте заголовок Retry-After в ответе — там указано через сколько секунд повторить. Реализуйте exponential backoff с jitter для автоматической обработки.
Лимиты разные для разных типов операций?
Базовый лимит единый. Тяжёлые аналитические запросы учитываются с повышающим коэффициентом стоимости (cost), это отражается в заголовке X-RateLimit-Cost.