Под сценариями работы Сотрудника с Заявлениями понимаем:

  1. Подачу заявления (из файла или по шаблону) и подписание его УНЭП

  2. Получение данных по Заявлению, в т.ч. архив КЭДО
  3. Обработка заявления - Согласование или Отклонение



Сценарии работы Сотрудника с Заявлениями

1. Сотрудник подает заявление из файла и подписывает его УНЭП

Предоставить Сотруднику возможность направить заявление, оформленное произвольным образом или по заранее подготовленному файлу.

Предусловия

  1. авторизация произведена

  2. Получены типы Заявлений (для дальнейшего использования id типа "Загрузка из файла" и id участников по этому маршруту)

    1. GET /api/v1/applicationTypes

  3. Определён список сотрудников, для Согласования

    1. GET /api/v2/clients/:clientId/colleagues


API-метод

Примечания

Данный метод предоставляет список типов заявлений, доступных для подачи, а также маршруты подписания по этим типам. Для подачи заявления из файла необходимо выбрать соответствующий тип Заявления - для стандартного типа "Загрузка из файла" всегда указан "templatable": false, для всех остальных типов "templatable": true, поскольку для таких типов существует шаблон.

(warning)  В ответе метода указаны id участников маршрута Заявления (applicationTypes[].signingRouteTemplate{}.stages[].participants[].id), которые необходимо в дальнейшем указывать при создании группы Заявлений (см. п  4)

(info) Типы заявления могут быть стандартными от HRlink, могут быть пользовательскими. Клиент может создать свой тип Заявления и настроить свои заполняемые поля со стороны Заявителя. Также возможно привязать стандартный маршрут от HRlink или создать свой. Создание типа с маршрутом доступно Администратору HRlink. Подробнее про Создание новых типов заявлений.

Сотрудник заранее создает файл и прикладывает его при оформлении Заявления в системе. После загрузки файла, будет получен идентификатор загруженного файла. Данный идентификатор надо передать в методе создания группы заявлений. (см. п  4)

3) Сотрудник выбирает кто будет согласовывать заявление


Определить Согласующих возможно несколькими способами:

  1. На основании метода GET /api/v2/clients/:clientId/colleagues из полученного списка выбирается тот, кто будет передан в метод создания Заявления как Согласующий (метод не описан на текущий момент)

  2. Возможно указать participants[].employeeExternalId - идентификатор сотрудника внешней системы, в качестве участника маршрута при подаче заявления (см. п  4). (warning)  На момент подачи Заявления employeeExternalId сотрудников должны быть переданы в HRlink.

Система сама сконвертирует загруженный файл в pdf/a формат для дальнейшего подписания.

В ответе будет получен идентификатор заявления, его можно использовать при завершении процесса для отображения формы заявления

5) Запуск подписания Заявления УНЭП - запрос сообщения с кодом

 

POST /api/v1/clients/:clientId/applicationGroups/:applicationGroupId/sign/nqes

На активный канал получения кода подписания Сотрудника будет выслан код для подписания УНЭП. После - сотруднику необходимо ввести код и передан его для проверки, поэтому по итогу вызова данного метода требуется отобразить форму ввода кода.

(info) Канал получения кода подписания устанавливается при выпуске УНЭП Сотруднику. 

Передача кода для проверки в УЦ.

Результат проверки кода не возвращается в ответе метода, т.к. процесс асинхронный. Требуется опрашивать статус Заявления для продолжения процесса. Подробнее про состояния Заявления.

7) Получение данных Заявления

GET /api/v2/clients/:clientId/applicationGroups/:applicationGroupId


В рамках процесса подписания Заявления, кроме самого подписания, ещё формируется новая печатная форма с оттиском, поэтому рекомендуется запрашивать состояние заявления, чтобы:

  1. получить обновление по статусу

  2. перейти к запросу печатной формы с оттиском

8) Получение печатной формы заявления с оттиском

GET /api/v1/clients/:clientId/applications/:applicationId/printFormFile



2. Сотрудник подаёт заявление по шаблону и подписывает его УНЭП

Предоставить Сотруднику возможность направить заявление, по заранее определённому шаблону, ожидающему заполнения заданных полей.

Предусловия

  1. Шаблон типа заявления активен 
  2. Получены системные поля  

    1. GET /api/v1/applicationTypeFields/system

  3. Определён список сотрудников, для Согласования

    1. GET /api/v1/clients/:clientId/colleagues

API-метод

Примечания

Данный метод предоставляет список типов заявлений, доступных для подачи, а также маршруты подписания по этим типам. Для подачи заявления из файла необходимо выбрать соответствующий тип Заявления.

(warning)  Во всех типах с флагом "templatable": true указаны параметры заполняемых полей, в том числе и идентификаторы этих полей templateFields[].id. Эти id необходимо в дальнейшем указывать при создании группы Заявлений (см. п  3) вместе с данными, которые заполнил Заявитель.

(warning) В ответе метода указаны id участников маршрута Заявления (applicationTypes[].signingRouteTemplate{}.stages[].participants[].id), которые необходимо в дальнейшем указывать при создании группы Заявлений (см. п  3)

(info) Типы заявления могут быть стандартными от HRlink, могут быть пользовательскими. Клиент может создать свой тип Заявления и настроить свои заполняемые поля со стороны Заявителя. Также возможно привязать стандартный маршрут от HRlink или создать свой. Создание типа с маршрутом доступно Администратору HRlink. Подробнее про Создание новых типов заявлений.

 


2) Сотрудник выбирает кто будет согласовывать заявление


Определить Согласующих возможно несколькими способами:

  1. На основании метода GET /api/v2/clients/:clientId/colleagues из полученного списка выбирается тот, кто будет передан в метод создания Заявления как Согласующий (метод не описан на текущий момент)

  2. Возможно указать participants[].employeeExternalId - идентификатор сотрудника внешней системы, в качестве участника маршрута при подаче заявления (см. п  3). (warning)  На момент подачи Заявления employeeExternalId сотрудников должны быть переданы в HRlink.

3) Создание заявления по шаблону

POST /api/v1/clients/:clientId/applicationGroups

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

  • это может быть передача ранее определённых данных, таких как ФИО, отдел, должность и т.д.

  • это может быть UI форма для заполнения таких данных как, например, даты отпуска, тип отпуска, новое название отдела при переводе и т.д. 

(warning) Идентификатор файла fileId - не заполняется, т.к. Система сама формирует файл заявления и конвертирует его в pdf/a формат для последующего подписания.

4) Получение данных Заявления

GET /api/v2/clients/:clientId/applicationGroups/:applicationGroupId

После того, как создано заявление, система формирует pdf файл, который можно отобразить для проверки перед подписанием

5) Загрузка файла заявления, сформированного по шаблону

GET /api/v1/clients/:clientId/applications/:applicationId/convertedFile

Данный этап не является обязательным, но позволяет Сотруднику увидеть, что получилось по итогу заполнения полей шаблона заявления, если результат устраивает - переход к шагу 5, в случае если результат не устраивает - переход к шагу 2

6) Запуск подписания Заявления УНЭП - запрос сообщения с кодом

 

POST /api/v1/clients/:clientId/applicationGroups/:applicationGroupId/sign/nqes

По итогу вызова данного метода требуется отобразить форму ввода кода


В данный метод передается код, который направляется в сообщении


8) Получение данных Заявления

GET /api/v2/clients/:clientId/applicationGroups/:applicationGroupId

Подписание заявления - ассинхронный процесс, в рамках которого кроме самого подписания ещё формируется новая печатная форма с оттиском, поэтому рекомендуется запрашивать состояние заявления, чтобы:

  1. получить обновление по статусу

  2. перейти к запросу печатной формы с оттиском

7) Получение печатной формы заявления с оттиском

GET /api/v1/clients/:clientId/applications/:applicationId/printFormFile


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

Предоставить Сотруднику всю информацию по заявлению

Предусловия (одно из)

  • Заявление подано сотрудником

  • Сотрудник является согласующим 


API-метод

Примечания


2) Получение данных Заявления

GET /api/v2/clients/:clientId/applicationGroups/:applicationGroupId

Данный метод возвращает метаданные заявления, но не файл для просмотра

3) Получение печатной формы заявления с оттиском

GET /api/v1/clients/:clientId/applications/:applicationId/printFormFile



4. Сотрудник Обрабатывает заявление как Согласующий

Предоставить ответственному сотруднику возможность принять решение по заявлению:

  • согласовано

  • отклонено

  • нужно заменить согласующего

 

Предусловия

  1. Заявление подано сотрудником

  2. Сотрудник является согласующим

  3. выполнен сценарий - Сотрудник просматривает Заявление


API-метод

Примечания

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

  • Согласование заявления Согласующим

PUT /api/v1/clients/:clientId/applications/:applicationId/participants/approver/approve

  • Отклонение заявления Согласующим

PUT /api/v1/clients/:clientId/applications/:applicationId/participants/approver/reject

  • Запрос на замену согласующего

PUT /api/v1/clients/:id/applications/:applicationId/participants/approver/rejectApproving



2) Получение данных Заявления

GET /api/v2/clients/:clientId/applicationGroups/:applicationGroupId


3) Получение печатной формы заявления с оттиском

GET /api/v1/clients/:clientId/applications/:applicationId/printFormFile



5. Сотрудник (Заявитель) заменяет Согласующего на основании запроса

Скорректировать согласующего, так как предыдущий сотрудник запросил смену согласующего

 

Предусловия

  1. Заявление подано сотрудником

  2. Сотрудник является согласующим

  3. выполнен сценарий - Сотрудник просматривает Заявление

  4. Определён список сотрудников, для Согласования

    1. GET /api/v1/clients/:clientId/colleagues


API-метод

Примечания

1) Сотрудник выбирает кто будет согласовывать заявление


На основании метода GET /api/v1/clients/:clientId/colleagues из полученного списка выбирается тот, кто будет передан в метод создания Заявления как Согласующий

Подробнее о методе см. раздел https://hr-link.atlassian.net/wiki/spaces/HRLIN/pages/666075304/04.#3.1.-%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%A1%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0-%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%81%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE

2) Сотрудник передает данные идентификатор нового согласующего

PUT /api/v1/clients/:clientId/applications/:applicationId/participants/approver/change

На данный момент данный метод не оформлен в API-документации see-no-evil monkey

Замена Согласующего происходит только если Согласующий отметил в Заявлении, что не является Согласующим

6. Сотрудник загружает архив КЭДО по Заявлению


Предоставить сотруднику архив, содержащий:

  • файл который подписывался

  • печатную форму с оттисками

  • файл подписи


Предусловия

  1. выполнен сценарий - Сотрудник просматривает Заявление


API-метод

Примечания

GET /api/v1/clients/:clientId/applications/:applicationId/archive






Поиск документации