Создать обучение

POST /trainings

Создает обучающий пул (обучение).

Созданному обучению автоматически присваивается идентификатор.

Ограничение

Вы можете отправить не более 20 таких запросов в минуту и не более 100 в день.

См. полный список ограничений на странице Ограничение количества запросов.

Примечание

О создании обычного пула читайте в разделе Создать пул.

Примеры запросов

curl -X POST 'https://tasks.yandex.ru/api/v1/trainings/' \
     -H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
     -H 'Content-Type: application/json' \
     -d '{"project_id":"118252", "private_name":"Simple training pool", "may_contain_adult_content":false, "assignment_max_duration_seconds":600, "mix_tasks_in_creation_order":true, "shuffle_tasks_in_task_suite":true, "training_tasks_in_task_suite_count":3, "task_suites_required_to_pass":1, "retry_training_after_days":7, "inherited_instructions":true, "public_instructions":""}'
import requests

url = "https://tasks.yandex.ru/api/v1/trainings/"
headers = {
  'Authorization': 'OAuth PlaceYourRealOAuthToken_Here',
  'Content-Type': 'application/json'
}
payload = {
  "project_id": "118252",
  "private_name": "Simple training pool",
  "may_contain_adult_content": False,
  "assignment_max_duration_seconds": 600,
  "mix_tasks_in_creation_order": True,
  "shuffle_tasks_in_task_suite": True,
  "training_tasks_in_task_suite_count": 3,
  "task_suites_required_to_pass": 1,
  "retry_training_after_days": 7,
  "inherited_instructions": True,
  "public_instructions": ""
}
response = requests.post(url, headers=headers, json=payload)

print(response.text)
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://tasks.yandex.ru/api/v1/trainings/',
  'qs': {},
  'headers': {
    'Authorization': 'OAuth PlaceYourRealOAuthToken_Here',
    'Content-Type': 'application/json'
  },
  'body': JSON.stringify({
    "project_id": "118252",
    "private_name": "Simple training pool",
    "may_contain_adult_content": false,
    "assignment_max_duration_seconds": 600,
    "mix_tasks_in_creation_order": true,
    "shuffle_tasks_in_task_suite": true,
    "training_tasks_in_task_suite_count": 3,
    "task_suites_required_to_pass": 1,
    "retry_training_after_days": 7,
    "inherited_instructions": true,
    "public_instructions": ""
  })
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Заголовки

Заголовок

Описание

Authorization

API-токен для авторизации аккаунта. В качестве префикса добавьте OAuth.

Content-Type

Указывает формат данных (application/json) в передаваемом теле запроса.

Тело и параметры запроса

{
  "project_id": "118252",
  "private_name": "Simple training pool",
  "may_contain_adult_content": false,
  "assignment_max_duration_seconds": 600,
  "mix_tasks_in_creation_order": true,
  "shuffle_tasks_in_task_suite": true,
  "training_tasks_in_task_suite_count": 3,
  "task_suites_required_to_pass": 1,
  "retry_training_after_days": 7,
  "inherited_instructions": true,
  "public_instructions": ""
}

Параметр

Описание

project_id*

string

Идентификатор проекта, для которого создан обучающий пул.

private_name*

string

Название обучающего пула (доступно только заказчику).

inherited_instructions*

boolean

Указывает, использовать ли инструкцию проекта. Если для обучения нужна своя инструкция, то укажите ее в public_instructions.

По умолчанию значение false.

public_instructions

string

Инструкция по выполнению обучающих заданий. Можно использовать любую HTML-разметку.

may_contain_adult_content

boolean

Присутствие контента для взрослых в заданиях.

assignment_max_duration_seconds

integer

Время на выполнение страницы заданий в секундах. Рекомендуется выделять на страницу заданий не менее 60 секунд (с учетом времени на загрузку страницы и отправку ответов). Минимум — 5, максимум — 2 147 483 647 секунд.

mix_tasks_in_creation_order

boolean

Выдаются ли обучающие задания в порядке загрузки:

  • true — для формирования страниц задания берутся по порядку строк (сверху вниз) из загруженного файла;
  • false — задания будут браться в случайном порядке.

По умолчанию значение true.

shuffle_tasks_in_task_suite

boolean

Перемешиваются ли обучающие задания внутри каждой страницы:

  • true — да;
  • false — нет, они будут располагаться в том порядке, в каком были загружены.

По умолчанию значение true.

training_tasks_in_task_suite_count*

integer

Количество обучающих заданий на одной странице. Минимум — 0, максимум — 500.

task_suites_required_to_pass

integer

Количество страниц, которые нужно успешно выполнить для назначения навыка и допуска к боевым заданиям. Минимум — 0, максимум — 500.

retry_training_after_days

integer

Через сколько дней станет доступно повторное прохождение. Минимум — 1, максимум — 500.

Ответ

Содержит сведения о созданном обучении. Помимо параметров, которые задаются при создании обучающего пула, включает параметры, которые присваиваются обучающему пулу автоматически.

Пример ответа
{
  "id": "31226418",
  "project_id": "74175",
  "private_name": "Simple training pool",
  "inherited_instructions": true,
  "public_instructions": "",
  "may_contain_adult_content": false,
  "assignment_max_duration_seconds": 600,
  "mix_tasks_in_creation_order": true,
  "shuffle_tasks_in_task_suite": true,
  "training_tasks_in_task_suite_count": 10,
  "retry_training_after_days": 14,
  "owner": {
    "id": "6c6e20dc86cca2ae787afcb2629de162",
    "myself": true
  },
  "status": "OPEN",
  "last_close_reason": "MANUAL",
  "created": "2022-01-22T07:50:14.781",
  "last_started": "2022-01-22T07:50:21.491",
  "last_stopped": "2022-02-24T13:40:29.754"
}

Параметр

Описание

id

string

Идентификатор обучающего пула.

owner.id

string

Идентификатор заказчика.

owner.myself

boolean

Проверяет, кому принадлежит объект:

  • true — пользователю, который совершил запрос;
  • false — другому аккаунту (сотруднику или владельцу).

status

string

Статус обучающего пула:

  • OPEN — открыт;
  • CLOSED — закрыт;
  • ARCHIVED — архивный.

last_close_reason

string

Причина предыдущего закрытия обучающего пула:

  • MANUAL — обучение закрыто клиентом;
  • EXPIRED — наступило время, указанное в параметре will_expire;
  • COMPLETED — закрыто автоматически по завершению всех заданий;
  • NOT_ENOUGH_BALANCE — закрыто автоматически, поскольку на аккаунте закончились средства;
  • ASSIGNMENTS_LIMIT_EXCEEDED — закрыто автоматически из-за превышения лимита выданных страниц заданий (максимально 2 миллиона);
  • BLOCKED — закрыто автоматически из-за блокировки аккаунта клиента администрацией платформы;
  • FOR_UPDATE — закрыто для редактирования.

created

string

Дата и время создания обучающего пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

last_started

string

Дата и время последнего запуска обучающего пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

last_stopped

string

Дата и время последней остановки обучающего пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Обязательный параметр