Ограничения и лимиты
Сводка ограничений API HRlink, которые важно учитывать при проектировании интеграции.
Rate limiting
HRlink применяет адаптивный rate limitlimit Параметр пагинации — количество элементов в ответе. Значение по умолчанию — 50 (для отдельных эндпоинтов может отличаться).. Точные пороги HRlink не публикует — сервер подстраивает их под текущую нагрузку тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. и долю тяжёлых операций в трафике. В спокойной системе интеграция работает быстрее, в нагруженной — получит 429 раньше.
При превышении порога API возвращает HTTP 429 Too Many Requests с общим телом ошибки. Заголовки Retry-After и X-RateLimit-* сервер не возвращает.
Рекомендации для интегратора:
- Применяйте экспоненциальный backoff с jitter при получении 429. Стартовый интервал 1-2 секунды, потолок 30-60 секунд, 3-5 попыток.
- Распределяйте нагрузку во времени, а не отправляйте пачки запросов подряд. Особенно — для тяжёлых операций (создание документов, bulk sync).
- Для массовой синхронизации используйте bulk-операции вместо цикла одиночных запросов.
Размер файла
Максимальный размер файла, загружаемого через Загрузить файл, — 100 МБ. Ограничение действует для всех форматов. Подробнее — Работа с файлами.
Bulk-операции
Лимит элементов в data задачи bulk sync задаётся per-type:
| Тип задачи | Лимит элементов в data |
|---|---|
EMPLOYEE_FUNCTIONAL_MANAGERS | 1000 |
EMPLOYEE_VACATIONS, EMPLOYEE_VACATIONS_V2, EMPLOYEE_VACATIONS_PLANNING, EMPLOYEE_CUSTOM_STRUCTURE_ELEMENTS, CLIENT_USER_VACATIONS | 500 |
LEGAL_ENTITIES, CLIENT_DEPARTMENTS, EMPLOYEE_POSITIONS, CLIENT_USERS_*, CALENDARS, CUSTOM_STRUCTURES | сервер не проверяет (рекомендуем порции по 500) |
Прочие массовые операции:
| Операция | Лимит |
|---|---|
| Массовое подписание документов (bulk signing) | 50 документов в один процесс |
| Удаление дубликатов сотрудников | 1000 |
| Обновление функциональных руководителей | 1000 |
При превышении API возвращает ошибку валидации с кодом XX.YYYY.
Параллельные задачи
| Тип задачи | Лимит | Область |
|---|---|---|
Bulk sync одного type через bulkDataSyncTasks | сервер не блокирует, но безопаснее запускать последовательно | — |
Обновление функциональных руководителей через updateFunctionalManagerIds (отдельный метод, не bulk sync) | 1 активная | На тенантTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. — ставится в очередь и блокирует параллельный запуск |
| Импорт данных | 5 активных | На пользователя |
| Экспорт данных | 5 активных | На пользователя |
| Выгрузка архивов КЭДОКЭДО Кадровый электронный документооборот — подвид ЭДО для кадровых документов (трудовые договоры, приказы, заявления). Регулируется статьями 22.1–22.3 ТК РФ. | 3 активных | На пользователя |
Bulk sync через bulkDataSyncTasks не падает с ошибкой при параллельном запуске второй задачи того же type, но конкурирующие задачи могут видеть устаревшее состояние и давать неожиданный результат — особенно для CLIENT_DEPARTMENTS. Дожидайтесь финального статуса (SUCCEEDED / FAILED / PARTIALLY_SUCCEEDED) предыдущей задачи перед запуском следующей того же типа.
Пагинация
Методы, возвращающие списки, поддерживают параметры limit и offset.
| Назначение | Значение по умолчанию | Максимум |
|---|---|---|
| Обычные списки (сотрудники, документы, заявления) | 50 | 50 |
| Множественный выбор сотрудников | — | 500 |
| Планируемые отпуска | — | 100 |
| Выгрузка архивов КЭДОКЭДО Кадровый электронный документооборот — подвид ЭДО для кадровых документов (трудовые договоры, приказы, заявления). Регулируется статьями 22.1–22.3 ТК РФ. | — | 500 |
Точное максимальное значение limit для конкретного метода указано в его OpenAPI-спецификации. В on-premise поставках лимиты пагинации могут отличаться — уточняйте у администратора тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов..