Versions Compared

Key

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

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

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

  • для использования функционала планирования отпусков необходимо включить его на тенанте через Службу заботы (линк или контакты - Телеграм: @podderzhkavsego_bot 
    Почта: help@hr-link.ru) (question) 
  • админу Кадровику доступны любые изменения, согласование и т.д. в любом периоде. независимо от разрешения планирования
  • Разрешить планирование только Админ
  • после завершения планирования (шаг Х) сотрудники не смогут, руковдители смогут....
  • для планирвания необходимы дост дни  для планирвания
  • планирование осуществляется с учетом регионального календаря сотрудника, если он был загружен сотруднику (Шаг Х)
  • планирование осуществляется только по осн и доп отпуску
  • планирование осуществляется по всем сотрудникам пользователя (развернуть + про согласование)
  • (warning)  справочник типов отпусков пока не используется...планируется в будущем
  • при необходимости, можно загрузить изменения отпусков из внешней системы в Линк (шаг х)

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

планирования отпусков в HRlink


Описание процесса работы с отпусками на портале - https://wiki.hr-link.ru/bin/view/Main/Protsessy-v-HRlink/Anons%3A-Soglasovat%D1%8C-grafik-otpuskov-/ 

(warning) сменить шаги местами, обновить описание, нет упоминания про календари, про совместителей (планирование и согласование), про выгрузку актуальных отпусков из 1С в  линк

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

  • Подготовка к планированию отпусков в HRlink
    • для использования функционала планирования отпусков необходимо включить его на тенанте через Службу заботы о клиентах (линк или контакты - Телеграм: @podderzhkavsego_bot 
      Почта: help@hr-link.ru) (question) 
    • для планирования отпусков необходимы доступные дни для планирования.  - см. ШАГ 1. Загрузить доступные дни для планирования на год
      • на текущий момент планирование возможно только по основному и дополнительному отпуску. Планировать отпуска по типам доп. отпуска невозможно. (warning)  справочник типов отпусков пока не используется.
      • возможно установить обязательное количество дней, которое необходимо спланировать сотрудникам. В таком случае сотрудникам необязательно распределять все доступные дни для планирования, но потребуется спланировать обязательное количество дней.  Настройка осуществляется через Службу заботы о клиентах (линк или контакты - Телеграм: @podderzhkavsego_bot 
        Почта: help@hr-link.ru) (question) 
    • если для сотрудников применимы региональные календари, то их необходимо предварительно загрузить - см. ШАГ 1.1 Загрузить региональные календарей сотрудников
    • для предоставления возможности сотрудникам планировать отпуска на портале необходимо разрешить планирование  - см. ШАГ 2. Разрешить планирование отпусков на год
  • Планирование отпусков в HRlink
    • Сотрудники могут запланировать отпуска на будущий год с учетом всех правил (question)  - см. ШАГ 3. Сотрудники планируют отпуска в HRlink
      • необходимо распланировать все доступные дни, которые были выгружены на ШАГе 1.
        • если несколько сотрудников, то ...
        • 14 дней...
      • планирование осуществляется с учетом производственного календаря сотрудника. 
      • планирование осуществляется по пользователю, т.е. по физ.лицу. Если пользователь имеет несколько сотрудников, то все сотрудники будут иметь одинаковые периоды отпуска.
    • Руководители могут планировать отпуска за сотрудников и согласовывать отпуска, при необходимости  - см. ШАГ 4. Руководители согласуют отпуска в HRlink
      • согласование отпусков также осуществляется по физ.лицу. Если пользователь имеет несколько сотрудников, то отпуск будет согласован по всем местам работы пользователя.
    • ...
  • Завершение планирования отпусков
    • для того, чтобы сотрудники и руководители не могли вносить изменения в график отпусков, Администратору необходимо завершить планирование  - см. ШАГ 5. Завершить планирование отпусков на год
    • при этом, Кадровику доступны изменения и согласование отпусков в любом периоде, независимо от разрешения планирования.
    • для получения всех спланированных отпусков необходимо выгрузить их  - см. ШАГ 6. Выгрузить спланированные отпуска из HRlink 
  • Работа с отпусками в течении года
    • спланированные отпуска доступны всегда для просмотра на портале
    • Сотрудники могут оформлять перенос отпуска через Заявление в HRlink - подробнее в инструкции Сотрудник подает Заявление
    • при необходимости, возможно загрузить изменения отпусков из внешней системы в HRlink - см. ШАГ 7. Загрузить обновленные периоды запланированных отпусков в HRlink


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


toc
Table of Contents
absoluteUrltrue
excludeШаги процесса

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

...

Expand
titleПример запроса
Code Block
languagebash
titleПример запроса
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
              }
           ]
       }
    ]
}'


Expand
titleПример ответа
No Format
{
    "result": true,
    "bulkDataSyncTask": {
        "id": "{{ИД задачи массовой синхронизации данных}}"
    }
}
 


...

Expand
titleПример запроса
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


Expand
titleПример ответа
No Format
{
    "result": true
}
 


ШАГ 3. Сотрудники планируют отпуска в HRlink

...

Expand
titleПример запроса
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


Expand
titleПример ответа
No Format
{
    "result": true
}
 


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

...

Expand
titleПример запроса
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
}'


Expand
titleПример ответа
No Format
{
  "result": true,
  "employeePlannedVacationPeriods": [
    {
      "id": "{{Внутренний ИД сотрудника}}",
      "externalId": "{{Внешний ИД сотрудника}}",
      "periods": [
        {
          "vacationType": "Основной",
          "vacationStatus": "Ожидает согласования",
          "dateFrom": "2026-09-15",
          "dateTo": "2026-09-28"
        },
        {
          "vacationType": "Дополнительный",
          "vacationStatus": "Согласовано",
          "dateFrom": "2026-10-01",
          "dateTo": "2026-10-03"
        } 
      ]
    }
  ]
}
 


ШАГ

...

7. Загрузить обновленные периоды запланированных отпусков в HRlink


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

...

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

tenantHost

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

да

clientId

ИД клиента HRlinkда
externalIdИдентификатор пользователя во внешней системе.да
yearГод отпуска.да
withApproval

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

  • TRUE - отпуска согласованы
  • FALSE- отпуска не согласованы
  • Если флаг не передан, то по умолчанию считаем как FALSE
нет
vacationPeriods[]

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

  • Все отпуска относятся к заданному году 'year'.
  • Периоды отпусков не пересекаются. 
  • Год начала отпуска совпадает с годом конца отпуска. 
  • Если массив не задан, то произойдет удаление всех ранее сохранённых отпусков за указанных код.
нет
startDateДата начала отпуска.да
endDateДата окончания отпуска.да
type

Тип отпуска.

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

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

...

Expand
titleПример запроса
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' \
--header 'master-api-token: master_token_value \
--data '{
    "type": "CLIENT_USER_VACATIONS",
    "data": [
       {
           "externalId": "{{Внешний ИД сотрудника}}",
           "year": 2025,
            "withApproval": true,
            "vacationPeriods": [
             {
              "startDate": "2025-07-01",
               "endDate": "2025-07-15",
               "type": "MAIN"
             },
             {
               "startDate": "2025-10-22",
               "endDate": "2025-10-23",
               "type": "ADDITIONAL"
             }
            ]  
       }
    ]
}'

...


Expand
titleПример ответа
No Format
{
    "result": true,
    "bulkDataSyncTask": {
        "id": "{{ИД задачи массовой синхронизации данных}}"
    }
}
 

...