Новая логика API-лимитов

Последние изменения: 14.03.2024

Недавно Омнидеск перешёл на новую схему API-лимитов — с «запросов в час» на «запросов в минуту». Пока она действует только для новых клиентов, но 12.06.2024 станет общей для всех. Не забудьте поставить задачу вашим разработчикам ознакомиться с изменениями и учесть их в скриптах, которые выполняют запросы в адрес API Омнидеска.

Чем вызваны изменения?

Изначально мы выбрали схему «запросов в час», полагая, что она будет наиболее удобной для восприятия и использования. Однако некоторые разработчики писали скрипты, которые исчерпывают весь часовой лимит за несколько минут. Какое-то время мы «закидывали» проблему новыми серверными ресурсами, но это не решение, ведь нужно иметь очень большой запас по ресурсам, когда нагрузка в моменте может увеличиться в несколько раз.

Что ещё изменилось?

1. В ответе на каждый API-запрос теперь есть не один, а два или три заголовка, на которые должен ориентироваться ваш скрипт, чтобы не превышать лимиты:

  • rate_limit_per_minute — максимальное количество запросов в минуту;

  • api_calls_left — количество запросов, оставшихся в текущем интервале лимита;

  • retry_after — количество секунд, после которых лимит сбросится.

а) До 12.06.2024 для старых клиентов будет передаваться заголовок rate_limit_per_hour вместо rate_limit_per_minute.

б) Заголовок api_calls_left работает в обеих схемах, отображая оставшееся количество запросов почасового или поминутного лимита.

в) Заголовок retry_after передаётся лишь в случае, если лимит превышен.

2. Запрос запросу рознь. Просмотр параметров конкретного обращения (GET) в плане нагрузки на серверы баз данных сильно легче, чем запрос на редактирование параметров (PUT) или на удаление (DELETE) этого же обращения. Поэтому теперь запросы POST, PUT и DELETE засчитываются как 2 запроса в рамках лимита.

3. Если раньше для определения API-лимита учитывались только стандартные сотрудники, то теперь все включённые — как стандартные, так и лёгкие (сотрудники с доступом «только просмотр», которые не могут отвечать клиентами).

Лимиты сократились или увеличились?

Всё зависит от вашего текущего тарифа и наличия лёгких сотрудников. Несколько примеров, чтобы было понятнее:

а) 7 обычных сотрудников → лимит сократился с 58 RPM (7 * 500 / 60) до 35 RPM (7 * 5);
б) 20 обычных и 8 лёгких сотрудников → лимит увеличился с 83.33 RPM (20 * 500 / 60) до 90 RPM (18 * 5);
в) 85 обычных и 15 лёгких сотрудников → лимит увеличился с 708 RPM (85 * 500 / 60) до 1000 RPM (100 * 10).

RPM — requests per minute, запросов в минуту.

Помогла ли вам статья?