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

Шаблоны этапов вакансий

Шаблон этапов вакансий — это набор этапов подбора, который компания использует для вакансий.

У шаблона есть два признака:

  • шаблон по умолчанию (isDefault) — используется по умолчанию при создании вакансий;
  • стандартный шаблон (isStandard) — создан системой.

Ни шаблон по умолчанию, ни стандартный шаблон удалить нельзя.

Ниже приведены запросы для получения списка шаблонов, выбора шаблона по умолчанию и удаления шаблона.

Получение списка шаблонов

Список шаблонов компании возвращает поле vacancyTemplates объекта company.

query VacancyTemplates {
company {
vacancyTemplates(first: 2) {
__typename
... on VacancyTemplatesItem {
items {
id
name
isDefault
isStandard
createdAt
workflowStatuses {
id
name
position
statusType
}
}
pageInfo {
endCursor
hasNextPage
}
}
... on VacancyTemplatesError {
errorType
}
}
}
}

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

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

{
"data": {
"company": {
"vacancyTemplates": {
"__typename": "VacancyTemplatesItem",
"items": [
{
"id": 4821,
"name": "Массовый подбор",
"isDefault": true,
"isStandard": false,
"createdAt": 1718287569000,
"workflowStatuses": [
{
"id": 90311,
"name": "Неразобранные",
"position": 1,
"statusType": "INBOX"
},
{
"id": 90312,
"name": "Телефонное интервью",
"position": 2,
"statusType": "PHONE_INTERVIEW"
}
]
},
{
"id": 4790,
"name": "Стандартный",
"isDefault": false,
"isStandard": true,
"createdAt": 1701234567000,
"workflowStatuses": [
{
"id": 88104,
"name": "Неразобранные",
"position": 1,
"statusType": "INBOX"
}
]
}
],
"pageInfo": {
"endCursor": "NDgyMQ==",
"hasNextPage": true
}
}
}
}
}
примечание

Шаблоны отсортированы в следующем порядке: шаблон по умолчанию, стандартный шаблон, затем остальные по названию.

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

{
"data": {
"company": {
"vacancyTemplates": {
"__typename": "VacancyTemplatesError",
"errorType": "ACCESS_DENIED"
}
}
}
}

Возможные значения errorType:

  • ACCESS_DENIED — нет прав на просмотр шаблонов этапов

Пагинация

За один запрос возвращается не больше 100 шаблонов. Количество задаётся аргументом first, по умолчанию — 50; если передать значение вне диапазона от 1 до 100, будет использовано 100. Следующая страница запрашивается с курсором pageInfo.endCursor в аргументе afterCursor.

query VacancyTemplatesPagination {
company {
vacancyTemplates(first: 2, afterCursor: "NDgyMQ==") {
... on VacancyTemplatesItem {
items {
id
name
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
}

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

подсказка

Пагинация — подробное описание работы пагинации

Выбор шаблона по умолчанию

Выбрать шаблон по умолчанию можно с помощью следующего запроса. В поле vacancyTemplateId передаётся идентификатор шаблона.

mutation SetDefaultVacancyTemplate {
setDefaultVacancyTemplate(vacancyTemplateId: 4821) {
__typename
... on DefaultVacancyTemplateSetSuccess {
vacancyTemplateId
}
... on DefaultVacancyTemplateSetError {
errorType
}
}
}

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

примечание

Выбранный шаблон по умолчанию будет применяться ко всем новым вакансиям.

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

{
"data": {
"setDefaultVacancyTemplate": {
"__typename": "DefaultVacancyTemplateSetSuccess",
"vacancyTemplateId": 4821
}
}
}

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

{
"data": {
"setDefaultVacancyTemplate": {
"__typename": "DefaultVacancyTemplateSetError",
"errorType": "ALREADY_DEFAULT"
}
}
}

Возможные значения errorType:

  • ACCESS_DENIED — нет прав на выбор шаблона этапов по умолчанию
  • NOT_FOUND — шаблон не найден или принадлежит другой компании
  • ALREADY_DEFAULT — шаблон уже выбран по умолчанию

Удаление шаблона

Удалить шаблон можно с помощью следующего запроса. В поле vacancyTemplateId передаётся идентификатор шаблона.

mutation DeleteVacancyTemplate {
deleteVacancyTemplate(vacancyTemplateId: 4821) {
__typename
... on VacancyTemplateDeleteError {
errorType
}
}
}

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

примечание

Шаблон по умолчанию и стандартный шаблон удалить нельзя. Чтобы удалить шаблон, выбранный по умолчанию, сначала назначьте шаблоном по умолчанию другой — см. Выбор шаблона по умолчанию.

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

{
"data": {
"deleteVacancyTemplate": {
"__typename": "VacancyTemplateDeleteSuccess"
}
}
}

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

{
"data": {
"deleteVacancyTemplate": {
"__typename": "VacancyTemplateDeleteError",
"errorType": "IS_DEFAULT"
}
}
}

Возможные значения errorType:

  • ACCESS_DENIED — нет прав на удаление шаблона этапов
  • NOT_FOUND — шаблон не найден или принадлежит другой компании
  • IS_DEFAULT — шаблон выбран по умолчанию, его нельзя удалить
  • IS_STANDARD — стандартный шаблон нельзя удалить