Создать одно или несколько заданий
Важно
Домен toloka.yandex.com
работает в режиме deprecated. Рекомендуем переключиться на домен toloka.dev
для запросов API.
Создает одно или несколько заданий.
Вы можете создать не более 100 000 заданий в минуту и не более 2 000 000 в день.
Запрос
POST https://toloka.dev/api/v1/tasks
Authorization: OAuth <OAuth token>
Content-Type: application/JSON
// одно задание
{task data}
// или несколько заданий
[{task 1}, {task 2},... {task n}]
POST https://sandbox.toloka.dev/api/v1/tasks
Authorization: OAuth <OAuth token>
Content-Type: application/JSON
// одно задание
{task data}
// или несколько заданий
[{task 1}, {task 2},... {task n}]
Заголовки
Заголовок | Описание |
---|---|
Authorization | Токен для авторизации аккаунта. В качестве префикса добавьте OAuth. |
Content-Type | Указывает формат данных в передаваемом теле запроса. |
Query-параметры
Указываются в ссылке после знака вопроса, перечисляются через &
.
Параметр |
Описание |
async_mode |
boolean Способ обработки запроса:
По умолчанию значение |
allow_defaults |
boolean Настройки перекрытия:
overlap (string | обязательный при условии — обязателен, если при создании заданий не используется параметр По умолчанию значение |
skip_invalid_items |
boolean Параметры валидации JSON-объектов:
По умолчанию значение |
open_pool |
boolean Открыть пул сразу после завершения операции, если пул закрыт. По умолчанию значение |
operation_id |
string Идентификатор операции для отложенной загрузки одного или нескольких заданий (при значении Рекомендуется задавать идентификатор в POST-запросе, чтобы избежать случайных ошибок, например, повторного создания операции с теми же заданиями. Идентификатор должен соответствовать стандарту RFC4122. В дальнейшем идентификатор можно использовать для получения данных об операции. |
Тело запроса
{
"pool_id": "1",
"input_values": {
"image_url": "www.images/image1.ru"
},
"known_solutions": [
{
"output_values": {
"result": "OK",
"like": false
},
"correctness_weight": 0.8
},
{
"output_values": {
"result": "OK",
"like": true
},
"correctness_weight": 1
}
],
"baseline_solutions": [
{
"output_values": {
"result": "OK",
"like": false
},
"confidence_weight": 0.8
},
{
"output_values": {
"result": "OK",
"like": true
},
"confidence_weight": 1
}
],
"message_on_unknown_solution": "The cat is in a good mood.",
"overlap": 3,
"infinite_overlap": false,
"reserved_for": [],
"unavailable_for": []
}
Ключ |
Описание |
pool_id |
string | обязательный Идентификатор пула, в который загружается задание. |
input_values |
object | обязательный Входные данные для задания. Список пар:
|
known_solutions[].output_values |
object | обязательный Значения выходных данных для проверки. Надо задать значения для всех обязательных полей выходных данных.
|
baseline_solutions[].output_values |
object | обязательный Значения выходных данных для предварительных ответов.
|
baseline_solutions[].confidence_weight |
float | обязательный Уверенность в ответе, в диапазоне от 0 до 1. Значение по умолчанию 1. |
overlap |
string | обязательный при условии Обязателен, если при создании заданий не используется параметр Перекрытие задания. |
known_solutions[] |
array of objects Правильные ответы для контрольных и тренировочных заданий. Можно указать несколько вариантов правильного ответа на задание. Если один вариант правильнее другого, вы можете присваивать вариантам ответов разный вес. Для этого используйте ключ
|
known_solutions[].correctness_weight |
float Вес правильного ответа, в диапазоне от 0 до 1. Позволяет засчитать ответ как частично правильный. Это удобно, когда на задание нет одного однозначно правильного ответа. Это работает как начисление баллов: если для получения навыка надо выполнить одно контрольное задание правильно (набрать 1 балл), то можно выполнить правильно одно задание с весом 1 или два задания с весом 0.5 и больше. Значение по умолчанию 1. |
baseline_solutions[] |
array of objects Предварительные ответы. Эти данные имитируют ответы исполнителей при расчете уверенности в ответе ( Для каждого предварительного ответа нужно определить значения выходных данных ( Допустим, в задании вы просите исполнителя определить, что на изображении: кошка или собака. И допустим, ваша нейронная сеть уже определила, что на изображении может быть собака с вероятностью 80%, кошка с уверенностью 40%. Допустим, указано динамическое перекрытие от 1 до 3, а минимальная уверенность в ответе — 85%. Если исполнитель ответит "Собака" и уверенность в его ответе высокая, то скорее всего перекрытие не будет повышаться — хватит одного ответа. Если исполнитель ответит "Кошка", то уверенности скорее всего не хватит и перекрытие будет повышаться и дальше. Нельзя использовать при создании страницы заданий — в ответе на запрос будет ошибка с кодом 400 и пометкой |
message_on_unknown_solution |
string Подсказка к заданию (для тренировочных заданий). |
infinite_overlap |
boolean Выдача задания с бесконечным перекрытием. Используется, например, для обучающих заданий, чтобы выдать их всем исполнителям:
По умолчанию значение |
origin_task_id |
string Идентификатор задания, с которого оно скопировано. |
reserved_for[] |
array of strings Идентификаторы исполнителей, которым задание будет доступно. |
unavailable_for[] |
array of strings Идентификаторы исполнителей, для которых задание должно быть недоступно. |
Ответ
async_mode — boolean
Способ обработки запроса:
true
— отложенный. В результате запроса создается асинхронная операция, выполняемая в фоновом режиме. Ответ содержит сведения об операции (время начала и окончания, статус, количество страниц заданий).false
— синхронный. Ответ содержит сведения об одном или о нескольких созданных заданиях. В одном запросе можно отправить не более 5000 заданий.
По умолчанию значение false
.
В зависимости от значения параметра async_mode в запросе ответ содержит:
Сведения о созданном задании. Помимо параметров, которые задаются при создании задания, включает параметры, которые присваиваются заданию автоматически:
Параметр |
Описание |
id |
string Идентификатор задания. |
origin_task_id |
string Идентификатор задания из другого пула, с которого было скопировано это задание, для проверки мнением большинства. |
created |
string Дата и время создания страницы заданий по UTC в формате ISO 8601 |
{
"id": "2ed92b7f-75c0-4771-ae2f-3911232d6d4e",
"type": "TASK.BATCH_CREATE",
"status": "RUNNING",
"submitted": "2020-12-23T16:26:20.131",
"progress": 0,
"parameters": {
"open_pool": false,
"allow_defaults": false,
"skip_invalid_items": false
}
}
Параметр |
Описание |
id |
string Идентификатор операции. |
type |
string Тип операции: |
status |
string Статус операции:
|
submitted |
string Дата и время отправки запроса по UTC в формате ISO 8601: |
progress |
integer Ход выполнения операции в процентах. |
parameters |
object Параметры операции (зависят от типа операции). |
parameters.open_pool |
boolean Открыть пул сразу после создания заданий, если пул закрыт. По умолчанию значение |
parameters.allow_defaults |
boolean Настройки перекрытия:
По умолчанию значение |
parameters.skip_invalid_items |
boolean Параметры валидации JSON-объектов:
По умолчанию значение |
{
"items": {
"0": {
"id": "f432cac2-7184-47a3-8220-12ce362cb208",
"pool_id": "21",
"input_values": {
"image": "http://images.com/1.png"
},
"overlap": 3,
"created": "2016-09-29T18:04:00"
}
},
"validation_errors": {
"1": {
"input_values.image": {
"code": "VALUE_REQUIRED",
"message": "Value must be present and not equal to null"
}
}
}
}
Параметр |
Описание |
items |
object Объект с созданными заданиями. |
|
object Порядковый номер задания в массиве при создании (начиная с 0). |
id |
string Идентификатор задания. |
pool_id |
string Идентификатор пула, в который было загружено задание. |
overlap |
string Перекрытие страницы заданий. |
created |
string Дата и время создания страницы заданий по UTC в формате ISO 8601 |
validation_errors |
object Объект с ошибками в заданиях. Возвращается, если в запросе используется параметр |
{
"id": "26e130ad3652443a3dc5094791e48ef9",
"type": "TASK.BATCH_CREATE",
"status": "FAIL",
"submitted": "2015-12-13T23:32:01",
"started": "2015-12-13T23:33:00",
"finished": "2015-12-13T23:34:12",
"parameters": {
"allow_defaults": false,
"skip_invalid_items": false,
"open_pool": false
},
"details": {
"total_count": 2,
"valid_count": 1,
"not_valid_count": 1,
"success_count": 0,
"failed_count": 2
}
}
Параметр |
Описание |
id |
string Идентификатор операции. |
type |
string Тип операции: |
status |
string Статус операции:
|
submitted |
string Дата и время отправки запроса по UTC в формате ISO 8601: |
started |
string Дата и время начала операции по UTC в формате ISO 8601: |
finished |
string Дата и время окончания операции по UTC в формате ISO 8601: |
parameters.skip_invalid_items |
boolean Параметры валидации JSON-объектов:
По умолчанию значение |
details.total_count |
string Количество заданий в запросе. |
details.valid_count |
integer Количество заданий, которые прошли валидацию. |
details.not_valid_count |
integer Количество заданий, которые не прошли валидацию. |
details.success_count |
integer Количество загруженных заданий. |
details.failed_count |
integer Количество заданий, которые не были загружены. |