Перейти к основному содержимому

Работа с заявками на подбор

Создание заявки на подбор

Заявку на подбор можно добавить в систему с помощью следующего запроса

mutation CreateHiringRequest {
createHiringRequest(
hiringRequestInput: {approvingManagerId: 1000, areaIds: ["1"], creationReason: NEW_POSITION, department: "Департамент финансов", name: "Бухгалтер", description: "Обязанности: Подготовка отчетности по зарплате – РСВ, 6-НДФЛ, ЕФС-1.", proposedDateOfClose: 1739341826000, salary: {currency: RUR, from: 100000, to: 150000}, plannedPositionCount: 1}
) {
... on HiringRequestItem {
id
}
... on HiringRequestCreateError {
errorType
}
}
}

Посмотреть в playground

При успешном выполнении запрос вернет

{
"data": {
"createHiringRequest": {
"id": 7219
}
}
}

В случае возникновении ошибки вернется json с типом ошибки

{
"data": {
"createHiringRequest": {
"errorType": "ACCESS_DENIED"
}
}
}
подсказка

Список менеджеров, имеющих право утверждения заявки, для подстановки в поле approvingManagerId, можно получить с помощью запроса

query HiringRequestApprovingManagers {
hiringRequests {
managers(role: APPROVER) {
items {
id
firstName
lastName
}
pageInfo {
hasNextPage
endCursor
first
}
}
}
}

Посмотреть в playground

подсказка

Список регионов для подстановки в полей areaIds можно получить с помощью запроса

query Areas {
areas {
items {
id
name
parentId
}
}
}

Посмотреть в playground

подсказка

Данные для создания заявки также можно передать с помощью механизма переменных graphQL

Утверждение заявки на подбор

Утвердить заявку на подбор с созданием вакансии можно с помощью следующего запроса

mutation ApproveHiringRequest {
approveHiringRequest(hiringRequestId: 5005, vacancyOwnerManagerId: 1001) {
... on HiringRequestItem {
id
}
... on HiringRequestApproveError {
errorType
}
}
}

Посмотреть в playground

подсказка

Список менеджеров для назначения в качестве ответственного создаваемой вакансиии (vacancyOwnerManagerId) можно получить с помощью запроса

query HiringRequestVacancyOwningManagers {
hiringRequests {
managers(role: VACANCY_OWNER) {
items {
id
firstName
lastName
}
pageInfo {
hasNextPage
endCursor
first
}
}
}
}

Посмотреть в playground

Изменение заявки на подбор

Заявку на подбор можно изменить с помощью следующего запроса

mutation UpdateHiringRequest {
updateHiringRequest(
hiringRequestInput: {id: 7219, areaIds: ["1", "2"], creationReason: NEW_POSITION, department: "Департамент финансов", name: "Старший бухгалтер", description: "Обязанности: Подготовка отчетности по зарплате – РСВ, 6-НДФЛ, ЕФС-1. Требования: опыт работы от 3 лет.", proposedDateOfClose: 1739341826000, plannedPositionCount: 2, salary: {currency: RUR, from: 120000, to: 180000}, vacancyOwnerManagerId: 7220}
) {
... on HiringRequestItem {
id
name
department
}
... on HiringRequestUpdateError {
errorType
message
}
}
}

Посмотреть в playground

При успешном выполнении запрос вернет обновленные данные заявки

{
"data": {
"updateHiringRequest": {
"id": 7219,
"name": "Старший бухгалтер",
"department": "Департамент финансов",
"plannedPositionCount": 2
}
}
}

В случае возникновении ошибки вернется json с типом ошибки

{
"data": {
"updateHiringRequest": {
"errorType": "ACCESS_DENIED"
}
}
}

Возможные типы ошибок:

  • ACCESS_DENIED - нет прав доступа для изменения заявки
  • NOT_FOUND - заявка с указанным id не найдена
  • VALIDATION - ошибка валидации входных данных

Отзыв заявки на подбор

Заявку на подбор можно отозвать с помощью следующего запроса

mutation WithdrawHiringRequest {
withdrawHiringRequest(
hiringRequestInput: {id: 7219, reason: CANCEL_RECRUITMENT, comment: "Подбор отменен по решению руководства"}
) {
... on HiringRequestItem {
id
status
withdrawReason
}
... on HiringRequestWithdrawError {
errorType
message
}
}
}

Посмотреть в playground

При успешном выполнении запрос вернет информацию об отозванной заявке

{
"data": {
"withdrawHiringRequest": {
"id": 7219,
"status": "WITHDRAWN",
"withdrawReason": "CANCEL_RECRUITMENT"
}
}
}

В случае возникновении ошибки вернется json с типом ошибки

{
"data": {
"withdrawHiringRequest": {
"errorType": "INVALID_STATUS"
}
}
}

Возможные типы ошибок:

  • ACCESS_DENIED - нет прав доступа для отзыва заявки
  • NOT_FOUND - заявка с указанным id не найдена
  • INVALID_STATUS - заявку в текущем статусе нельзя отозвать

Доступные причины отзыва (reason):

  • CANCEL_BUDGET - отмена бюджета
  • CANCEL_RECRUITMENT - отмена подбора
  • ERRONEOUS - ошибочная заявка
  • OTHER - другое (при выборе этой причины рекомендуется указать комментарий)