Схема процесса интеграции


Шаги процесса

ШАГ 1. Загрузить доступные дни для планирования на год

Создать задачу массовой синхронизации данных

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

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

type = EMPLOYEE_VACATIONS_PLANNING

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

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

Описание переменных

ПеременнаяОписаниеОбязательность

tenantHost

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

да

clientId

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

Внешний идентификатор сотрудника.

  • Доступные для планирования дни можно загрузить всем сотрудникам пользователя. Но при планировании будут использованы дни по основному месту работу.
  • Если основное место работы не задано, то будут использовано наибольшее число доступных дней для планирования. 
  • Как задать основное место работы?
да
legalEntityExternalIdВнешний идентификатор юрлица сотрудника.нет
availableVacationsPlanning[]

Массив с данными для планирования. 

  • В массиве можно передать значения для нескольких лет. 
  • В системе будут обновлены только дни указанного года.
нет
planningYearГод, на который будут планироваться отпусканет
basicVacationDayCount

Количество дней основного отпуска, доступных для планирования.

  • Если данные не будут переданы, то они будут записаны как null.
нет
additionalVacationDayCount

Количество дней дополнительного отпуска, доступных для планирования.

  • Если данные не будут переданы, то они будут записаны как null.
нет


curl --location '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
              }
           ]
       }
    ]
}'


Пример ответа

{
    "result": true,
    "bulkDataSyncTask": {
        "id": "{{ИД задачи массовой синхронизации данных}}"
    }
}

ШАГ 1.1 Загрузить региональные календарей сотрудников

Опциональный шаг.

Если календари были загружены ранее и регулярно обновляются у сотрудников, то этот шаг можно пропустить.

Описать на отдельной странице. (warning) 

  1. Загрузка календаря.
  2. Назначение календаря сотруднику.

Где используются календари в системе?

ШАГ 2. Разрешить планирование отпусков на год

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

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

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


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


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

Описание переменных

ПеременнаяОписаниеОбязательность

tenantHost

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

да

clientId

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

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

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

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

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

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


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


Пример ответа

{
    "result": true
}



ШАГ 3. Выгрузить спланированные отпуска 

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

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

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


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


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

Описание переменных

ПеременнаяОписаниеОбязательность

tenantHost

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

да

clientId

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

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

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

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

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

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


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


Пример ответа

{
    "result": true
}




Загрузка отпусков из внешней системы в HRlink

Загрузка отпусков из внешней системы в HRlink


Выгрузка спланированных в HRlink отпусков.