Прийом на роботу (Employee Onboarding)¶
Прийом на роботу - це задача, яка дозволяє автоматизувати процес найму нового співробітника, включаючи створення та підписання необхідних документів, валідацію анкетних даних та переведення співробітника в статус "працює".
Налаштування шаблону задачі "Прийом" доступне лише через веб-інтерфейс Вчасно.Кадри. API дозволяє лише створювати задачі на основі вже налаштованих шаблонів.
Особливості задачі "Прийом"¶
Задача "Прийом" відрізняється від інших задач наступними особливостями:
- Валідація анкетних даних - можливість відправити анкету співробітника на заповнення та валідацію через спеціальні ендпоінти
/submit-questionnaireта/submit-approve-questionnaire - Автоматичний перевід співробітника в статус "працює" - після завершення всіх маршрутів задачі, співробітник автоматично отримує статус
working - Прив'язка до співробітника зі статусом
candidateабоdraft- задачу можна створити тільки для співробітників, які ще не працюють
Статуси задачі¶
Задача "Прийом" має наступні статуси:
| Статус | Опис |
|---|---|
new |
Задача створена, але документи ще не відправлені на підписання |
in_progress |
Документи відправлені на підписання, процес в процесі виконання |
completed |
Всі документи підписані, задача завершена, співробітник переведений в статус working |
canceled |
Задача скасована |
Статуси маршруту задачі (Task Route)¶
Кожен маршрут в задачі має свій статус:
| Статус | Опис |
|---|---|
new |
Маршрут створений, але ще не активний |
in_progress |
Маршрут активний, документи на підписанні |
completed |
Маршрут завершений, всі документи підписані |
canceled |
Маршрут скасований |
Типи маршрутів для задачі "Прийом"¶
Задача "Прийом" може містити наступні типи маршрутів:
| Тип маршруту | Опис |
|---|---|
questionnaire_sent |
Відправлення анкети співробітнику на заповнення |
questionnaire_validation |
Валідація заповненої анкети співробітника |
document_generation |
Генерація документів на основі шаблонів |
signing |
Підписання документів |
approval |
Погодження документів |
make_employee_working |
Автоматичний перевід співробітника в статус working |
Статуси документів¶
Документи в рамках задачі "Прийом" мають наступні статуси:
| Статус | Опис |
|---|---|
new |
Документ створений, але ще не відправлений на підписання |
in_progress |
Документ відправлений на підписання, очікується підпис |
completed |
Документ підписаний всіма підписантами |
canceled |
Документ скасований |
Статуси підписантів¶
Кожен підписант документа має свій статус:
| Статус | Опис |
|---|---|
new |
Підписант доданий, але документ ще не відправлений |
completed |
Підписант підписав документ |
declined |
Підписант відхилив документ |
Робота з анкетними даними (Questionnaire)¶
Одна з ключових особливостей задачі "Прийом" - можливість роботи з анкетними даними співробітника. Це дозволяє:
- Відправити анкету співробітнику через маршрут типу
questionnaire_sent - Отримати заповнені дані від співробітника
- Провалідувати дані через маршрут типу
questionnaire_validation - Зберегти дані в профілі співробітника
Ендпоінти для роботи з анкетою¶
POST /api/public/v1/employee-onboarding/{task_id}/submit-questionnaire - відправити заповнену анкету на валідацію. Дані будуть збережені, але анкета залишиться на етапі валідації (is_questionnaire_approved=false).
POST /api/public/v1/employee-onboarding/{task_id}/submit-approve-questionnaire - відправити та затвердити анкету одночасно. Дані будуть збережені та анкета буде затверджена (is_questionnaire_approved=true), маршрут questionnaire_validation автоматично завершиться.
Обидва ендпоінти приймають структуру EmployeeProfileUpdateSerializer, яка включає:
- Базову інформацію про співробітника
- Документи (паспорт, ІПН, адреса, освіта, військовий облік, тощо)
- Соціальні статуси
Детальніше про структуру профілю співробітника див. в документації Employee.
Очікувана послідовність дій для задачі "Прийом"¶
Базовий сценарій без анкети¶
-
Створити задачу "Прийом", передавши ID співробітника зі статусом
candidateабоdraft -
Отримати створену задачу та її маршрути
-
Отримати документи для підпису
-
При необхідності, створити додаткові документи
-
При необхідності, завантажити файл документу
-
Отримати список підписантів документа
-
При необхідності, додати або видалити підписантів
-
Відправити документи на підписання
-
При необхідності, надіслати нагадування підписанту
-
Скачати підписаний документ
Сценарій з анкетою¶
Якщо в шаблоні задачі налаштовано маршрути questionnaire_sent та questionnaire_validation, послідовність дій може бути наступною:
-
Створити задачу "Прийом"
-
Система автоматично відправить анкету співробітнику через маршрут
questionnaire_sent -
Співробітник заповнює анкету через веб-інтерфейс або через інтеграцію
-
Відправити заповнену анкету на валідацію через API:
-
Після перевірки даних, затвердити анкету:
-
Після затвердження анкети, маршрут
questionnaire_validationавтоматично завершиться -
Продовжити роботу з документами (кроки 3-10 з базового сценарію)
Додаткові операції¶
Оновлення задачі¶
Задачу можна оновити через ендпоінт PATCH /api/public/v1/employee-onboarding/{task_id}:
Можна оновити наступні поля:
- name - назва задачі
- status - статус задачі (для скасування задачі передайте canceled)
- cancellation_reason - причина скасування
- manager_id - ID менеджера задачі
Оновлення документа¶
Документ можна оновити через ендпоінт PATCH /api/public/v1/employee-onboarding/{task_id}/document/{document_id}:
Видалення документа¶
Документ можна видалити через ендпоінт DELETE /api/public/v1/employee-onboarding/{task_id}/document/{document_id}:
Список всіх задач "Прийом"¶
Отримати список всіх задач "Прийом" можна через ендпоінт GET /api/public/v1/employee-onboarding:
Підтримуються наступні фільтри:
- status - фільтр по статусу задачі (new, in_progress, completed, canceled)
- initiator_id - фільтр по ID співробітника (ініціатора задачі)
- manager_id - фільтр по ID менеджера задачі
- external_id - фільтр по зовнішньому ID задачі
Дозволені формати файлів для завантаження¶
При завантаженні документів через ендпоінт POST /api/public/v1/employee-onboarding/{task_id}/document/{document_id}/upload підтримуються наступні формати:
- PNG, JPEG, JPG, SVG
- PDF
- XLS, XLSX, CSV
- DOC, DOCX
- TXT, XML
Поля для створення задачі "Прийом"¶
| Поле | Тип | Опис | Обов'язкове |
|---|---|---|---|
initiator_id |
UUID | ID співробітника, для якого створюється задача. Співробітник повинен мати статус candidate або draft |
Так |
external_id |
string | Зовнішній ідентифікатор задачі для інтеграції з зовнішніми системами | Ні |
manager_id |
UUID | ID співробітника-менеджера, який відповідає за задачу | Ні |
Поля в відповіді при отриманні задачі¶
| Поле | Тип | Опис |
|---|---|---|
id |
UUID | ID задачі |
initiator_id |
UUID | ID співробітника, для якого створена задача |
manager_id |
UUID | null | ID менеджера задачі |
status |
TaskStatus | Статус задачі: new, in_progress, completed, canceled |
name |
string | null | Назва задачі |
description |
string | null | Опис задачі |
cancellation_reason |
string | null | Причина скасування задачі |
cancelled_by |
TaskCancelledByType | null | Хто скасував задачу: initiator, manager, api, document_decline |
cancelled_by_employee_id |
UUID | null | ID співробітника, який скасував задачу |
cancelled_by_user_id |
UUID | null | ID користувача, який скасував задачу |
cancellation_date |
datetime | null | Дата скасування задачі |
external_id |
string | null | Зовнішній ID задачі |
is_questionnaire_sent |
boolean | Чи була відправлена анкета співробітнику |
is_questionnaire_approved |
boolean | Чи була затверджена анкета співробітника |
date_created |
datetime | Дата створення задачі |
date_updated |
datetime | Дата останнього оновлення задачі |
Важливі моменти¶
-
Співробітник повинен бути в статусі
candidateабоdraft- не можна створити задачу "Прийом" для співробітника, який вже має статусworking,firedабоarchived. -
Блокування редагування співробітника - під час активної задачі "Прийом" (статус
newабоin_progress), співробітник заблокований для редагування через інші API. -
Автоматичний перевід в статус
working- після завершення задачі (статусcompleted), співробітник автоматично переводиться в статусworking. -
Послідовність відправлення документів - документи можна відправляти на підписання послідовно або одночасно, залежно від налаштувань шаблону задачі. Якщо налаштовано послідовне підписання, то наступний документ можна відправити тільки після повного підписання попереднього.
-
Зміна підписантів - підписантів можна додавати та видаляти тільки до моменту відправлення документа на підписання.
-
Підписанти зі статусом
working- в якості підписантів можна використовувати тільки співробітників зі статусомworking. -
Анкета та профіль - дані з анкети зберігаються в профіль співробітника і можуть включати документи та соціальні статуси. Після затвердження анкети, дані стають частиною профілю співробітника.