Создание и редактирование кандидата
Создание кандидата
Создать кандидата в системе можно с помощью следующего запроса
- graphql
- cURL
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
}
}
}
}
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 CreatePerson {\\n createPerson(\\n 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]}\\n ) {\\n ... on PersonItem {\\n id\\n }\\n ... on PersonSaveError {\\n errorType\\n errors {\\n field\\n violatedConstraints\\n }\\n }\\n }\\n}\"}"
Поле birthDay
принимает временную метку unix в миллисекундах
При успешном выполнении запрос вернет
{
"data": {
"createPerson": {
"id": 2937741
}
}
}
В случае возникновения ошибки вернется json с ее описанием. При ошибке типа VALIDATION
будет указано, в каких полях переданы неподходящие данные
{
"data": {
"createPerson": {
"errorType": "VALIDATION",
"errors": [
{
"field": "areaId",
"violatedConstraints": ["AllowedValues"]
}
]
}
}
}
Регион (поле areaId
) и список гражданств (поле citizenshipIds
) можно получить с помощью запроса ниже. Для гражданств поле parentId
имеет
значение null
- graphql
- cURL
query Areas {
areas {
items {
id
name
parentId
}
}
}
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 Areas {\\n areas {\\n items {\\n id\\n name\\n parentId\\n }\\n }\\n}\"}"
Список доступных источников для заполнения поля sourceId
можно получить следующим запросом
- graphql
- cURL
query PersonSources {
personSources {
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 PersonSources {\\n personSources {\\n items {\\n id\\n name\\n }\\n pageInfo {\\n endCursor\\n hasNextPage\\n }\\n }\\n}\"}"
Пагинация - подробное описание работы пагинации
Поле vacancyIds
заполняется идентификаторами вакансий, к которым нужно прикрепить кандидата при его создании
Вакансии - примеры получения списка доступных вакансий
В поле customResumes
можно передать список резюме кандидата в свободной форме. Сейчас поддерживается только тип TMS
.
Данный тип поддерживает упрощенное html форматирование с очисткой текста от потенциально опасных элементов
<p><strong>Иванов Иван Иванович</strong></p>
<p>Опыт работы:</p>
<ul>
<li>2024 - н.в. - разработчик<br/> </li>
<li>2020 - 2024 - тестировщик<br/> </li>
</ul>
Редактирование кандидата
Изменить данные кандидата в системе можно с помощью запроса ниже.
В поле id
нужно указать идентификатор редактируемого кандидата
- graphql
- cURL
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
}
}
}
}
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 EditPerson {\\n editPerson(\\n 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]}\\n ) {\\n ... on PersonItem {\\n id\\n }\\n ... on PersonSaveError {\\n errorType\\n errors {\\n field\\n violatedConstraints\\n }\\n }\\n }\\n}\"}"
Результат запроса, валидация и заполнение необходимых полей соответствуют созданию кандидата