Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Общие правила планирования(question)  нужны

  • для использования функционала планирования отпусков необходимо вкючить его на тенанте ...через тп
  • админу Кадровику доступны любые изменения, согласование и т.д. в любом периоде. независимо от разрешения планирования
  • Разрешить планирование только Админ
  • после завершения планирования (шаг Х) сотрудники не смогут, руковдители смогут....
  • для планирвания необходимы дост дни  для планирвания
  • планирование осуществляется с учетом регионального календаря сотрудника, если он был загружен сотруднику (Шаг Х)
  • планирование осуществляется только по осн и доп отпуску
  • планирование осуществляется по всем сотрудникам пользователя (развернуть + про согласование)
  • (warning)  справочник типов отпусков пока не используется...планируется в будущем
  • при необходимости, можно загрузить изменения отпусков из внешней системы в Линк (шаг х)

...

Установить состояние возможности планирования отпусков

МетодСсылка на документацию OpenAPI

PUT https://{host}/api/v1/clients/{clientId}/vacations/setPlanningState


https://docs.myhrlink.ru/public/openapi/hr-link/#tag/vacationScheduleManage/operation/setPlanningState


Дополнительная информация

  • Разрешить планирование может только Администратор.
    • Пользователь должен иметь право VACATIONS_CHANGE_PLANNING_STATE на уровне пользователя клиента или на уровне активного сотрудника.
ПеременнаяОписаниеОбязательность

tenantHost

Хост тенанта, на который должен быть выполнен запрос

да

clientId

ИД клиента HRlinkда
planningState

Состояние планирования отпусков в системе HRlink.

Может принимать два состояния:

  • ENABLED - Планирование разрешено.
  • DISABLED - Планирование запрещено.
да
planningYear

Год, на который устанавливается настройка планирования.

  • Допустимо указывать значение только текущего или следующего года.
  • Если год не задан, то по умолчанию, настройка устанавливается на текущий год. 
нет


Code Block
languagebash
titleПример запроса
curl --request PUT \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/vacations/setPlanningState?planningState=ENABLED&planningYear=2026' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value

...

Установить состояние возможности планирования отпусков

МетодСсылка на документацию OpenAPI

PUT https://{host}/api/v1/clients/{clientId}/vacations/setPlanningState


https://docs.myhrlink.ru/public/openapi/hr-link/#tag/vacationScheduleManage/operation/setPlanningState


Дополнительная информация

  • Опциональный шаг.
    • Если необходимо в текущем году запретить Сотрудникам и Руководителям изменять отпуска, то требуется выполнить этот шаг.
    • После наступления нового календарного года изменение отпусков будет автоматически недоступно для Сотрудника и Руководителя.
  • Завершить планирование может только Администратор.
    • Пользователь должен иметь право VACATIONS_CHANGE_PLANNING_STATE на уровне пользователя клиента или на уровне активного сотрудника.
ПеременнаяОписаниеОбязательность

tenantHost

Хост тенанта, на который должен быть выполнен запрос

да

clientId

ИД клиента HRlinkда
planningState

Состояние планирования отпусков в системе HRlink.

Может принимать два состояния:

  • ENABLED - Планирование разрешено.
  • DISABLED - Планирование запрещено.
да
planningYear

Год, на который устанавливается настройка планирования.

  • Допустимо указывать значение только текущего или следующего года.
  • Если год не задан, то по умолчанию, настройка устанавливается на текущий год. 
нет


Code Block
languagebash
titleПример запроса
curl --request PUT \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/vacations/setPlanningState?planningState=DISABLED&planningYear=2026' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value

...

Получить данные о запланированных отпусках сотрудников

МетодСсылка на документацию OpenAPI

POST https://{host}/api/v1/clients/{clientId}/employees/getPlannedVacationPeriod


https://docs.myhrlink.ru/public/openapi/hr-link/#tag/vacationScheduleGet/operation/getPlannedVacationPeriod


Дополнительная информация

  • Получить спланированные периоды отпусков может как Администратор,  так и Кадровик.
    • Пользователь должен иметь право EMPLOYEE_PLANNED_VACATIONS на уровне пользователя клиента или на уровне активного сотрудника.
ПеременнаяОписаниеОбязательность

tenantHost

Хост тенанта, на который должен быть выполнен запрос

да

clientId

ИД клиента HRlinkда
vacations{}

Данные для фильтрации периодов планируемых отпусков.

  • Даты начала и конца периода либо заданы обе, либо не заданы совсем.
да
startDateFromНачало периода, в который должно попадать начало запрашиваемого планируемого отпуска.нет
startDateToКонец периода, в который должно попадать начало запрашиваемого планируемого отпусканет
status

Статус запрашиваемых планируемых отпусков сотрудников.

нет
employees[]

Список сотрудников, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все доступные сотрудники, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID сотрудника, или внутренний, или внешний.
да

id

ID сотрудника в системе HRlink.нет
externalIdID сотрудника во внешней системе.нет
department[]

Список отделов, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных отделов, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID отдела, или внутренний, или внешний.
да

id

ID отдела в системе HRlink.нет
externalIdID отдела клиента во внешней системе.нет
legalEntity[]

Список юрлиц, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных юрлиц, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID юрлица, или внутренний, или внешний.
да

id

ID юрлица клиента в системе HRlink.нет
externalIdID юрлица клиента во внешней системе.нет
limit

Количество возвращаемых при запросе элементов.

  • Максимальное значение - 100 (question) 
  • Значение по умолчанию - 10
нет
offsetКоличество элементов, которые нужно пропустить при выборке.нет
withoutDismissedEmployees

Вернуть ответ без уволенных сотрудников?

  • По умолчанию, уволенные сотрудники вернутся в ответе.
нет


Code Block
languagebash
titleПример запроса
curl --request POST \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/employees/getPlannedVacationPeriod' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value
--data '{
  "vacations": {
    "startDateFrom": "2026-01-01",
    "startDateTo": "2026-12-01",
    "status": "ALL"
  },
  "employees": [
    {
      "externalId": "{{Внешний ИД сотрудника}}"
    }
  ],
  "department": [
    {
      "externalId": "{{Внешний ИД отдела}}"
    }
  ],
  "legalEntity": [
    {
      "externalId": "{{Внешний ИД юрлица}}"
    }
  ],
  "limit": null,
  "offset": null,
  "withoutDismissedEmployees": true
}'

...

МетодСсылка на документацию OpenAPI

POST https://{host}/api/v1/clients/{clientId}/bulkDataSyncTasks

type = CLIENT_USER_VACATIONS

https://docs.myhrlink.ru/public/openapi/hr-link/#tag/otherDataSync/operation/createBulkDataSyncTask

Дополнительная информация

  • Отпуска загружаются по физ.лицам, т.е. по пользователям HRlink. Все сотрудники пользователя будут иметь одинаковые периоды отпуска.
  • Загрузить запланированные отпуска может как Администратор, так и Кадровик (настройщик не может).
    • Пользователь должен иметь право BULK_DATA_SYNC_TASKS_CREATE и право VACATIONS_CREATE_AND_UPDATE  на уровне пользователя клиента или на уровне активного сотрудника.
  • Информация о доступных днях для планирования необходима для возможности планирования отпусков в HRlink.
  • Загрузить запланированные отпуска возможно на любой год, вне зависимости от настройки разрешения планирования отпусков и наличия доступных дней отпуска у сотрудника.
  • В одной задаче массовой синхронизации возможно загрузить не более 500 пользователей
Переменная
Переменная
ОписаниеОбязательность

tenantHost

Хост тенанта, на который должен быть выполнен запрос

да

clientId

ИД клиента HRlinkда
vacations{}

Данные для фильтрации периодов планируемых отпусков.

  • Даты начала и конца периода либо заданы обе, либо не заданы совсем.
даstartDateFromНачало периода, в который должно попадать начало запрашиваемого планируемого отпуска.нетstartDateToКонец периода, в который должно попадать начало запрашиваемого планируемого отпусканетstatus

Статус запрашиваемых планируемых отпусков сотрудников.

нетemployees[]

Список сотрудников, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все доступные сотрудники, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID сотрудника, или внутренний, или внешний.
да

id

ID сотрудника в системе HRlink.нетexternalIdID сотрудника во внешней системе.нетdepartment[]

Список отделов, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных отделов, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID отдела, или внутренний, или внешний.
да

id

ID отдела в системе HRlink.нетexternalIdID отдела клиента во внешней системе.нетlegalEntity[]

Список юрлиц, по которым необходимо получить отпуска.

  • Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных юрлиц, с учетом иных фильтров.
  • Если массив задан, то передано одно из значений ID юрлица, или внутренний, или внешний.
да

id

ID юрлица клиента в системе HRlink.нетexternalIdID юрлица клиента во внешней системе.нетlimit

Количество возвращаемых при запросе элементов.

  • Максимальное значение - 100 (question) 
  • Значение по умолчанию - 10
нетoffsetКоличество элементов, которые нужно пропустить при выборке.нетwithoutDismissedEmployees

Вернуть ответ без уволенных сотрудников?

  • По умолчанию, уволенные сотрудники вернутся в ответе.
externalIdИдентификатор пользователя во внешней системе.да
yearГод отпуска.да
withApproval

(question)  Требуется ли утверждение отпусков после выполнения операции создания или обновления?

  • true - требуется утверждения = отпуска не согласованы
  • false - утверждение не требуется = отпуска согласованы

По факту:

  • Если флаг не передан, то по умолчанию считаем FALSE (все периоды отпуска не согласованны)
  • TRUE - отпуска согласованы = не требуют утверждения

Являются ли периоды отпуска согласованными.

нет
vacationPeriods[]

Список данных о планируемых отпусках.

Массив не задан (null)(question)  то что


startDateДата начала отпуска.да
endDateДата окончания отпуска.да
type

Тип отпуска.

  • Может принимать следующие значения:

    • MAIN - Основной отпуск
    • ADDITIONAL - Дополнительный отпуск
да
нет


Code Block
languagebash
titleПример запроса
curl --request POST \
--url 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--data '{
    "type": "EMPLOYEE_VACATIONS_PLANNING",
    "data": [
       {
           "externalId": "{{Внешний ИД сотрудника}}",
           "legalEntityExternalId": "{{Внешний ИД юрлица}}",
           "availableVacationsPlanning": [
              {
               "planningYear": 2026,
               "basicVacationDayCount": 28,
               "additionalVacationDayCount": 3
              }
           ]
       }
    ]
}'

...