Шаблоны этапов вакансий
Шаблон этапов вакансий — это набор этапов подбора, который компания использует для вакансий.
У шаблона есть два признака:
- шаблон по умолчанию (
isDefault) — используется по умолчанию при создании вакансий; - стандартный шаблон (
isStandard) — создан системой.
Ни шаблон по умолчанию, ни стандартный шаблон удалить нельзя.
Ниже приведены запросы для получения списка шаблонов, выбора шаблона по умолчанию и удаления шаблона.
Получение списка шаблонов
Список шаблонов компании возвращает поле vacancyTemplates объекта company.
- graphql
- cURL
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
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyTemplates {\\n company {\\n vacancyTemplates(first: 2) {\\n __typename\\n ... on VacancyTemplatesItem {\\n items {\\n id\\n name\\n isDefault\\n isStandard\\n createdAt\\n workflowStatuses {\\n id\\n name\\n position\\n statusType\\n }\\n }\\n pageInfo {\\n endCursor\\n hasNextPage\\n }\\n }\\n ... on VacancyTemplatesError {\\n errorType\\n }\\n }\\n }\\n}\"}"
При успешном выполнении запрос вернёт:
{
"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.
- graphql
- cURL
query VacancyTemplatesPagination {
company {
vacancyTemplates(first: 2, afterCursor: "NDgyMQ==") {
... on VacancyTemplatesItem {
items {
id
name
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyTemplatesPagination {\\n company {\\n vacancyTemplates(first: 2, afterCursor: \\\"NDgyMQ==\\\") {\\n ... on VacancyTemplatesItem {\\n items {\\n id\\n name\\n }\\n pageInfo {\\n endCursor\\n hasNextPage\\n }\\n }\\n }\\n }\\n}\"}"
Пагинация — подробное описание работы пагинации
Выбор шаблона по умолчанию
Выбрать шаблон по умолчанию можно с помощью следующего запроса.
В поле vacancyTemplateId передаётся идентификатор шаблона.
- graphql
- cURL
mutation SetDefaultVacancyTemplate {
setDefaultVacancyTemplate(vacancyTemplateId: 4821) {
__typename
... on DefaultVacancyTemplateSetSuccess {
vacancyTemplateId
}
... on DefaultVacancyTemplateSetError {
errorType
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"mutation SetDefaultVacancyTemplate {\\n setDefaultVacancyTemplate(vacancyTemplateId: 4821) {\\n __typename\\n ... on DefaultVacancyTemplateSetSuccess {\\n vacancyTemplateId\\n }\\n ... on DefaultVacancyTemplateSetError {\\n errorType\\n }\\n }\\n}\"}"
Выбранный шаблон по умолчанию будет применяться ко всем новым вакансиям.
При успешном выполнении запрос вернёт идентификатор выбранного шаблона:
{
"data": {
"setDefaultVacancyTemplate": {
"__typename": "DefaultVacancyTemplateSetSuccess",
"vacancyTemplateId": 4821
}
}
}
В случае возникновения ошибки вернётся ответ в формате JSON с типом ошибки:
{
"data": {
"setDefaultVacancyTemplate": {
"__typename": "DefaultVacancyTemplateSetError",
"errorType": "ALREADY_DEFAULT"
}
}
}
Возможные значения errorType:
ACCESS_DENIED— нет прав на выбор шаблона этапов по умолчаниюNOT_FOUND— шаблон не найден или принадлежит другой компанииALREADY_DEFAULT— шаблон уже выбран по умолчанию
Удаление шаблона
Удалить шаблон можно с помощью следующего запроса.
В поле vacancyTemplateId передаётся идентификатор шаблона.
- graphql
- cURL
mutation DeleteVacancyTemplate {
deleteVacancyTemplate(vacancyTemplateId: 4821) {
__typename
... on VacancyTemplateDeleteError {
errorType
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"mutation DeleteVacancyTemplate {\\n deleteVacancyTemplate(vacancyTemplateId: 4821) {\\n __typename\\n ... on VacancyTemplateDeleteError {\\n errorType\\n }\\n }\\n}\"}"
Шаблон по умолчанию и стандартный шаблон удалить нельзя. Чтобы удалить шаблон, выбранный по умолчанию, сначала назначьте шаблоном по умолчанию другой — см. Выбор шаблона по умолчанию.
При успешном выполнении запрос вернёт:
{
"data": {
"deleteVacancyTemplate": {
"__typename": "VacancyTemplateDeleteSuccess"
}
}
}
В случае возникновения ошибки вернётся ответ в формате JSON с типом ошибки:
{
"data": {
"deleteVacancyTemplate": {
"__typename": "VacancyTemplateDeleteError",
"errorType": "IS_DEFAULT"
}
}
}
Возможные значения errorType:
ACCESS_DENIED— нет прав на удаление шаблона этаповNOT_FOUND— шаблон не найден или принадлежит другой компанииIS_DEFAULT— шаблон выбран по умолчанию, его нельзя удалитьIS_STANDARD— стандартный шаблон нельзя удалить