Skip to main content

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

string
обязательно
API-токен сервисного пользователя в формате Bearer YOUR_TOKEN. Токен выпускает владелец школы в кабинете: Управление → Школа → Для разработчиков → API-ключи — подробнее в разделе «Аутентификация».
integer
обязательно
Числовой ID продавца — аккаунта, которому принадлежит школа. Скопируйте его на странице API-ключи в карточке «Данные для интеграции → Идентификаторы». По этому ID проверяются права токена.
integer
обязательно
Числовой ID школы, берётся там же, где Seller-Id. Значение должно совпадать со школой продавца — иначе вернётся ошибка 400 с cause: "ForbiddenSchoolMismatch".
Руководитель департамента привязывается к активному трудоустройству сотрудника, а не к пользователю. Трудоустройство руководителя может относиться к любому департаменту школы — например, руководитель отдела может числиться в вышестоящем подразделении. У департамента может быть несколько руководителей, но только один из них — основной (isPrimary).
Назначение следует за сотрудником: при переводе или смене должности оно автоматически переходит на новую запись трудоустройства, а при увольнении с этого трудоустройства — снимается. Вызывать remove при увольнении не нужно.
Списка руководителей в REST API нет, а managerId приходит только в ответе на set. Поэтому при назначении передавайте собственный extId — по нему руководителя можно снять через ext/{extId}/remove, не храня внутренние ID. Основного руководителя департамента также можно задать полем primaryManagerEmploymentExtId при создании или обновлении департамента.
Все эндпоинты модуля staff доступны только для школ сегмента Corporate. Для остальных сегментов запрос вернёт 401 с cause: "Forbidden" и сообщением Allowed only for Corporate school.

Назначить руководителя

Требуется аутентификация и право «Управление персоналом» (StaffManage). Эндпоинт работает как upsert: если руководитель для пары департамент + трудоустройство уже назначен — обновляются флаг isPrimary и extId, иначе создаётся новая запись. У департамента может быть только один основной руководитель: при isPrimary=true предыдущий основной руководитель департамента автоматически понижается (флаг isPrimary у него сбрасывается в false). Департамент и трудоустройство должны принадлежать школе, трудоустройство должно быть активным и уже начавшимся (наём с будущей startAt назначить руководителем до этой даты нельзя) — иначе вернутся ошибки StaffDepartmentNotFound / StaffEmploymentNotFound. Департамент и трудоустройство можно указывать как по числовому ID, так и по внешнему идентификатору: в каждой из пар departmentId/departmentExtId и employmentId/employmentExtId передаётся ровно одно поле.

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

integer
ID департамента. Департамент должен принадлежать школе. Обязателен, если не передан departmentExtId.
string
Внешний идентификатор департамента (extId). Альтернатива departmentId — передаётся ровно одно поле из пары.
integer
ID активного трудоустройства сотрудника, который назначается руководителем. Обязателен, если не передан employmentExtId.
string
Внешний идентификатор трудоустройства (extId). Альтернатива employmentId — передаётся ровно одно поле из пары.
string
Внешний идентификатор записи руководителя из системы клиента (CRM/1C). От 1 до 50 символов, не может содержать / и пробельные символы — значение используется в путях ext/{extId}. Должен быть уникальным в рамках школы среди неудалённых записей, иначе вернётся ошибка StaffDepartmentManagerExtIdIsNotUniq.
boolean
Назначить сотрудника основным руководителем департамента. По умолчанию false. При true предыдущий основной руководитель автоматически перестаёт быть основным. Значение по умолчанию применяется и к уже существующей записи: повторный set без isPrimary сделает основного руководителя обычным. При регулярной синхронизации передавайте isPrimary явно.

Снять руководителя

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

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

integer
обязательно
ID записи руководителя департамента (поле id из ответа на назначение).

Ответ

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

Снять руководителя по extId

Требуется аутентификация и право «Управление персоналом» (StaffManage). Аналог снятия по managerId, но запись руководителя ищется по внешнему идентификатору (extId) в рамках школы. Удаляет запись руководителя департамента (мягкое удаление). Если запись с указанным extId не найдена среди неудалённых записей школы — вернётся ошибка StaffDepartmentManagerNotFound.

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

string
обязательно
Внешний идентификатор записи руководителя департамента (extId). Значение в пути должно быть URL-encoded.

Ответ

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

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

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

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