Skip to main content

Заголовки запроса

string
обязательно
API-токен сервисного пользователя в формате Bearer YOUR_TOKEN. Токен выпускает владелец школы в кабинете: Управление → Школа → Для разработчиков → API-ключи — подробнее в разделе «Аутентификация».
integer
обязательно
Числовой ID продавца — аккаунта, которому принадлежит школа. Скопируйте его на странице API-ключи в карточке «Данные для интеграции → Идентификаторы». По этому ID проверяются права токена.
integer
обязательно
Числовой ID школы, берётся там же, где Seller-Id. Значение должно совпадать со школой продавца — иначе вернётся ошибка 400 с cause: "ForbiddenSchoolMismatch".
Отсутствие (absence) фиксирует период, когда сотрудник не работает: отсутствие без уточнения причины (Absent), отпуск (Vacation), отгул (DayOff), командировку (BusinessTrip), больничный (SickLeave), отпуск по уходу за ребёнком (ParentalLeave) или учебный отпуск (StudyLeave). Отсутствие привязывается к трудоустройству сотрудника, а не к пользователю: если у сотрудника несколько мест работы, укажите то, к которому относится отсутствие (на статус пользователя это не влияет — учитываются отсутствия по всем его трудоустройствам).
startAt и finishAt — моменты времени (ISO 8601, UTC), а не календарные дни. Отсутствие считается текущим, пока startAt ≤ текущий момент ≤ finishAt. Отпуск «с 1 по 14 августа включительно» передавайте как startAt: "2026-08-01T00:00:00Z", finishAt: "2026-08-14T23:59:59Z" (с поправкой на часовой пояс компании): значение 2026-08-14T00:00:00Z завершит отсутствие в начале 14-го числа. Без finishAt отсутствие действует бессрочно, пока вы не зададите дату окончания.
Создание, обновление и удаление отсутствия автоматически синхронизирует статус пользователя Active ↔ OnLeave: если у пользователя есть текущее (действующее на данный момент) отсутствие — статус становится OnLeave, если текущих отсутствий не осталось — возвращается Active. OnLeave — информационный статус: вход и доступ к платформе он не блокирует. Переходы не затрагивают пользователей в других статусах (Banned, Blocked, Terminated). Помимо пересчёта при API-вызовах, платформа раз в час автоматически сверяет статусы с календарём: отсутствие с будущей датой начала переведёт сотрудника в OnLeave при её наступлении, а истёкшее — вернёт Active без каких-либо вызовов с вашей стороны.
Все эндпоинты модуля staff доступны только для школ сегмента Corporate. Для остальных сегментов запрос вернёт 401 с cause: "Forbidden" и сообщением Allowed only for Corporate school.

Список отсутствий

Требуется аутентификация и право «Просмотр персонала» (StaffView).

Параметры запроса

Параметры-массивы передаются повторением параметра в строке запроса: employmentIds=1&employmentIds=2.

Пагинация

integer
Количество записей, которые нужно пропустить. По умолчанию 0.
integer
Номер страницы (альтернатива skip). Начинается с 1.
integer
Количество записей на странице. По умолчанию 100, максимум 1000.

Фильтрация

string[]
Фильтр по внешним идентификаторам (extId) отсутствий. До 250 значений, каждое до 50 символов.
integer[]
Фильтр по ID трудоустройств. До 250 значений. При переводе и смене должности отсутствия остаются на закрытой записи трудоустройства, поэтому для всей истории сотрудника передайте ID всех его записей — их можно получить через employment/list?userIds=....
integer[]
Фильтр по ID должностей (должность берётся из трудоустройства, к которому привязано отсутствие). До 250 значений.
enum[]
Фильтр по типам отсутствия. Возможные значения: Absent, Vacation, DayOff, BusinessTrip, SickLeave, ParentalLeave, StudyLeave. До 250 значений.
boolean
Если true — вернуть только текущие отсутствия: startAt уже наступил, а finishAt не задан или ещё не прошёл.

Поля ответа

object
Постраничный список отсутствий.

Создать отсутствие

Требуется аутентификация и право «Управление персоналом» (StaffManage).

Параметры запроса

Трудоустройство указывается ровно одним из двух полей: employmentId или employmentExtId.
string
Внешний идентификатор отсутствия из системы клиента. От 1 до 50 символов, без / и пробелов. Должен быть уникален в рамках школы среди неудалённых записей — иначе вернётся ошибка StaffAbsenceExtIdIsNotUniq.
integer
ID трудоустройства сотрудника, к которому относится отсутствие. Обязателен, если не передан employmentExtId. Можно указать и уже закрытую запись — например, при переносе истории отсутствий.
string
Внешний идентификатор (extId) трудоустройства — тот, что вы передали при найме. Альтернатива employmentId — обязателен, если не передан employmentId. Ищется только среди открытых (не уволенных) трудоустройств школы; если такого нет — вернётся ошибка StaffEmploymentNotFound.
enum
обязательно
Тип отсутствия. Возможные значения: Absent (отсутствует), Vacation (отпуск), DayOff (отгул), BusinessTrip (командировка), SickLeave (больничный), ParentalLeave (отпуск по уходу за ребёнком), StudyLeave (учебный отпуск).
string
обязательно
Дата начала отсутствия в формате ISO 8601. Должна быть не позже finishAt.
string
Дата окончания отсутствия в формате ISO 8601. Должна быть не раньше startAt, иначе запрос будет отклонён. Не передавайте, если дата окончания пока неизвестна.
string
Комментарий к отсутствию. Максимум 500 символов. Автоматически обрезаются пробелы в начале и конце.

Обновить отсутствие

Требуется аутентификация и право «Управление персоналом» (StaffManage). Обновляет поля отсутствия. Все поля тела необязательны — передавайте только те, которые нужно изменить. Привязку к трудоустройству (employmentId) изменить нельзя.

Параметры запроса

integer
обязательно
ID обновляемого отсутствия.
string
Внешний идентификатор отсутствия из системы клиента. От 1 до 50 символов, без / и пробелов. Должен быть уникален в рамках школы среди неудалённых записей — иначе вернётся ошибка StaffAbsenceExtIdIsNotUniq.
enum
Тип отсутствия. Возможные значения: Absent, Vacation, DayOff, BusinessTrip, SickLeave, ParentalLeave, StudyLeave.
string
Дата начала отсутствия в формате ISO 8601. Должна быть не позже finishAt.
string | null
Дата окончания отсутствия в формате ISO 8601. Должна быть не раньше startAt (с учётом уже сохранённого значения, если startAt не передан), иначе вернётся StaffAbsenceInvalidInterval. null снимает дату окончания — отсутствие становится бессрочным.
string
Комментарий к отсутствию. Максимум 500 символов.

Обновить отсутствие по extId

Требуется аутентификация и право «Управление персоналом» (StaffManage). Аналог обновления по absenceId, но отсутствие идентифицируется внешним идентификатором (extId) в рамках школы. Тело запроса такое же, как у PUT /saas/v2/staff/absence/{absenceId}/update.

Параметры запроса

string
обязательно
Внешний идентификатор обновляемого отсутствия. Передаётся в URL-encoded виде.
string
Новый внешний идентификатор отсутствия. От 1 до 50 символов, без / и пробелов. Должен быть уникален в рамках школы среди неудалённых записей.
enum
Тип отсутствия. Возможные значения: Absent, Vacation, DayOff, BusinessTrip, SickLeave, ParentalLeave, StudyLeave.
string
Дата начала отсутствия в формате ISO 8601. Должна быть не позже finishAt.
string | null
Дата окончания отсутствия в формате ISO 8601. Должна быть не раньше startAt (с учётом уже сохранённого значения, если startAt не передан), иначе вернётся StaffAbsenceInvalidInterval. null снимает дату окончания — отсутствие становится бессрочным.
string
Комментарий к отсутствию. Максимум 500 символов.

Удалить отсутствие

Требуется аутентификация и право «Управление персоналом» (StaffManage).

Параметры запроса

integer
обязательно
ID удаляемого отсутствия.

Ответ

integer
обязательно
Количество удалённых записей (1 при успешном удалении).

Удалить отсутствие по extId

Требуется аутентификация и право «Управление персоналом» (StaffManage). Аналог удаления по absenceId, но отсутствие идентифицируется внешним идентификатором (extId) в рамках школы.

Параметры запроса

string
обязательно
Внешний идентификатор удаляемого отсутствия. Передаётся в URL-encoded виде.

Ответ

integer
обязательно
Количество удалённых записей (1 при успешном удалении).

Требования к правам доступа

Модуль staff доступен только для школ сегмента Corporate. Для чтения списка требуется право «Просмотр персонала» (StaffView), для создания, обновления и удаления отсутствий — право «Управление персоналом» (StaffManage).
Сервисный пользователь должен быть аутентифицирован по токену и иметь соответствующие права доступа к указанной школе.

Обновлено: 2026-09-25 13:43 UTC