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

Создание и редактирование кандидата

Создание кандидата

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

mutation CreatePerson {
createPerson(
personCreate: {firstName: "Иван", middleName: "Иванович", lastName: "Иванов", gender: male, areaId: "61", citizenshipIds: ["113", "94"], birthDay: 966052512000, contacts: [{type: cell, value: "+79999999999"}, {type: telegram, value: "telegram"}, {type: email, value: "email@email.ru"}], customResumes: [{text: "Резюме кандидата", type: TMS}], sourceId: 1, vacancyIds: [5, 6]}
) {
... on PersonItem {
id
}
... on PersonSaveError {
errorType
errors {
field
violatedConstraints
}
}
}
}

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

примечание

Поле birthDay принимает временную метку unix в миллисекундах

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

{
"data": {
"createPerson": {
"id": 2937741
}
}
}

В случае возникновения ошибки вернется json с ее описанием. При ошибке типа VALIDATION будет указано, в каких полях переданы неподходящие данные

{
"data": {
"createPerson": {
"errorType": "VALIDATION",
"errors": [
{
"field": "areaId",
"violatedConstraints": ["AllowedValues"]
}
]
}
}
}
подсказка

Регион (поле areaId) и список гражданств (поле citizenshipIds) можно получить с помощью запроса ниже. Для гражданств поле parentId имеет значение null

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

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

подсказка

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

query PersonSources {
suggest {
personFilters {
sources {
items {
id
name
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
}

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

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

подсказка

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

Вакансии - примеры получения списка доступных вакансий

подсказка

В поле customResumes можно передать список резюме кандидата в свободной форме. Сейчас поддерживается только тип TMS. Данный тип поддерживает упрощенное html форматирование с очисткой текста от потенциально опасных элементов

<p><strong>Иванов Иван Иванович</strong></p>
<p>Опыт работы:</p>
<ul>
<li>2024 - н.в. - разработчик<br/>&nbsp;</li>
<li>2020 - 2024 - тестировщик<br/>&nbsp;</li>
</ul>

Редактирование кандидата

Изменить данные кандидата в системе можно с помощью запроса ниже. В поле id нужно указать идентификатор редактируемого кандидата

mutation EditPerson {
editPerson(
personEdit: {id: 2937741, firstName: "Иван", middleName: "Иванович", lastName: "Иванов", gender: male, areaId: "61", citizenshipIds: ["113", "94"], birthDay: 966052512000, contacts: [{type: cell, value: "+79999999999"}, {type: telegram, value: "telegram"}, {type: email, value: "email@email.ru"}], customResumes: [{text: "Резюме кандидата", type: TMS}], vacancyIds: [5, 6]}
) {
... on PersonItem {
id
}
... on PersonSaveError {
errorType
errors {
field
violatedConstraints
}
}
}
}

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

примечание

Результат запроса, валидация и заполнение необходимых полей соответствуют созданию кандидата