Atasu Maps

Лимиты и бюджеты

Ограничение частоты запросов по ключу, месячные квоты, бюджеты и что происходит при их достижении.

Ограничение частоты

У каждого ключа есть лимит запросов в секунду с небольшим запасом на всплеск; он задаётся тарифом организации. Каждый ответ /v1 содержит текущее состояние в заголовках RateLimit (черновик IETF): q запросов за w секунд с запасом burst; осталось r запросов, окно сбросится через t секунд.

Text — нәтиже
RateLimit: "key";r=19;t=1
RateLimit-Policy: "key";q=10;w=1;burst=20

При превышении API отвечает 429 rate_limited с заголовком Retry-After (в секундах). Подождите столько и повторите; SDK никогда не повторяют 429 в плотном цикле. Тайлы карты не ограничиваются по запросам: они покрываются сессией карты.

Что учитывается

Использование считается по ключу, продукту и дню (Asia/Almaty) и видно в консоли в разделе Использование и бюджеты, откуда его можно выгрузить в CSV. Для каждого метода в справочнике API указано, что он учитывает:

ПродуктЕдиница учёта
Сессия картысессия (одна на AtasuMap, продлевается обновлением токена; тайлы отдельно не считаются)
Геокодирование, обратное геокодирование, карточка местазапрос
Подсказки при вводесессия (все нажатия одного поиска)
Маршрутызапрос
Тайлы пробок, маршруты с учётом пробоктайл, полученный у поставщика / запрос (платные тарифы)

Повторы с тем же Idempotency-Key, отклонённые запросы и ответы из кэша дважды не считаются.

Тарифы и квоты

Тариф включает набор продуктов, лимит частоты и месячные квоты по продуктам. Ключ получает только продукты своего тарифа — бесплатный тариф никогда не получает платных результатов, даже из кэша (403 scope_denied). Когда месячная квота исчерпана, тариф либо отклоняет запросы (429 quota_exceeded), либо тарифицирует сверх квоты. Ваш тариф и его лимиты видны в консоли; окончательные цены и квоты ещё утверждаются и будут на странице тарифов.

Бюджеты

Бюджеты защищают от неожиданных расходов. Они принадлежат организации, а не отдельному ключу:

  • лимит организации в деньгах (тенге) в месяц;
  • лимит по продукту в единицах (например, тайлы пробок).

Лимиты задают владельцы и участники с ролью «Финансы» в консоли. Платные вызовы резервируются в бюджете до обращения к поставщику, поэтому лимит не превышается даже под нагрузкой. Когда лимит достигнут:

  • маршрут строится без учёта пробок, причина указана в traffic.reason;
  • тайлы пробок отвечают 204 с X-Traffic-Status: budget_exhausted (карта работает без пробок);
  • где упрощённого ответа нет, API возвращает 402 budget_exhausted;
  • если недоступна сама служба бюджетов, платные вызовы отклоняются (503 budget_unavailable), чтобы не рискнуть перерасходом.

Консоль предупреждает, когда использование приближается к лимиту.

Ключи: ротация и отзыв

  • Ротация в консоли выдаёт новый секрет; старый продолжает работать выбранный срок (без задержки, 1 час, 24 часа или 7 дней), чтобы вы успели выкатить новый ключ без простоя.
  • Отзыв останавливает ключ везде в течение 1 минуты (API и тайлы карты).