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

Тестовые задания

Шаблоны тестовых заданий компании можно получить запросом testTaskTemplates. Отправить выбранный шаблон кандидатам — мутацией sendTestTaskToPersons.

Получение шаблонов тестовых заданий​

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

query TestTaskTemplates {
testTaskTemplates {
__typename
... on TestTaskTemplatesItem {
items {
id
title
text
createdAt
updatedAt
files {
items {
id
name
extension
}
}
}
}
... on TestTaskTemplatesError {
errorType
message
}
}
}

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

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

{
"data": {
"testTaskTemplates": {
"__typename": "TestTaskTemplatesItem",
"items": [
{
"id": 15,
"title": "Тестовое для разработчика",
"text": "Реализуйте REST-сервис с CRUD для задач",
"createdAt": 1718287569000,
"updatedAt": 1718373969000,
"files": {
"items": [
{
"id": 901,
"name": "task",
"extension": "pdf"
}
]
}
}
]
}
}
}

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

{
"data": {
"testTaskTemplates": {
"__typename": "TestTaskTemplatesError",
"errorType": "ACCESS_DENIED",
"message": null
}
}
}

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

  • ACCESS_DENIED — нет прав для просмотра шаблонов тестовых заданий

Отправка тестового задания кандидатам​

Отправить тестовое задание можно с помощью следующего запроса. Письмо уходит кандидатам на почту; в письме используется выбранный шаблон.

mutation SendTestTaskToPersons {
sendTestTaskToPersons(
personIds: [2937738]
testTaskTemplateId: 15
vacancyId: 56437
message: {subject: "Тестовое задание", text: "Добрый день! Во вложении тестовое задание."}
) {
__typename
... on TestTaskSentSuccess {
message
}
... on TestTaskSendError {
errorType
message
fieldErrors {
field
violatedConstraints
}
}
}
}

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

подсказка

Идентификатор шаблона (testTaskTemplateId) берётся из testTaskTemplates. Идентификаторы кандидатов и вакансии — из списка кандидатов и списка вакансий.

примечание

Поле message.text — текст сопроводительного письма. Тема (subject) необязательна.

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

{
"data": {
"sendTestTaskToPersons": {
"__typename": "TestTaskSentSuccess",
"message": null
}
}
}

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

{
"data": {
"sendTestTaskToPersons": {
"__typename": "TestTaskSendError",
"errorType": "VALIDATION",
"message": null,
"fieldErrors": [
{
"field": "message.subject",
"violatedConstraints": ["Size"]
}
]
}
}
}

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

  • ACCESS_DENIED — нет доступа к одному из кандидатов
  • INVALID_PERSONS_COUNT — недопустимое количество кандидатов
  • TEST_TASK_TEMPLATE_NOT_FOUND — шаблон тестового задания не найден
  • VALIDATION — письмо не прошло валидацию
  • INVALID_MANAGER_EMAIL_SETTINGS — некорректные почтовые настройки менеджера
  • MANAGER_EMAIL_SERVER_NOT_AVAILABLE — почтовый сервер менеджера недоступен