Тестовые задания
Шаблоны тестовых заданий компании можно получить запросом testTaskTemplates.
Отправить выбранный шаблон кандидатам — мутацией sendTestTaskToPersons.
Получение шаблонов тестовых заданий
Список шаблонов компании возвращает запрос testTaskTemplates.
- graphql
- cURL
query TestTaskTemplates {
testTaskTemplates {
__typename
... on TestTaskTemplatesItem {
items {
id
title
text
createdAt
updatedAt
files {
items {
id
name
extension
}
}
}
}
... on TestTaskTemplatesError {
errorType
message
}
}
}
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 TestTaskTemplates {\\n testTaskTemplates {\\n __typename\\n ... on TestTaskTemplatesItem {\\n items {\\n id\\n title\\n text\\n createdAt\\n updatedAt\\n files {\\n items {\\n id\\n name\\n extension\\n }\\n }\\n }\\n }\\n ... on TestTaskTemplatesError {\\n errorType\\n message\\n }\\n }\\n}\"}"
При успешном выполнении запрос вернёт
{
"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— нет прав для просмотра шаблонов тестовых заданий
Отправка тестового задания кандидатам
Отправить тестовое задание можно с помощью следующего запроса. Письмо уходит кандидатам на почту; в письме используется выбранный шаблон.
- graphql
- cURL
mutation SendTestTaskToPersons {
sendTestTaskToPersons(
personIds: [2937738]
testTaskTemplateId: 15
vacancyId: 56437
message: {subject: "Тестовое задание", text: "Добрый день! Во вложении тестовое задание."}
) {
__typename
... on TestTaskSentSuccess {
message
}
... on TestTaskSendError {
errorType
message
fieldErrors {
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 SendTestTaskToPersons {\\n sendTestTaskToPersons(\\n personIds: [2937738]\\n testTaskTemplateId: 15\\n vacancyId: 56437\\n message: {subject: \\\"Тестовое задание\\\", text: \\\"Добрый день! Во вложении тестовое задание.\\\"}\\n ) {\\n __typename\\n ... on TestTaskSentSuccess {\\n message\\n }\\n ... on TestTaskSendError {\\n errorType\\n message\\n fieldErrors {\\n field\\n violatedConstraints\\n }\\n }\\n }\\n}\"}"
Идентификатор шаблона (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— почтовый сервер менеджера недоступен