Входные и выходные данные
Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:
Написать в чат Написать в Telegram
Примечание
Этот раздел о том, как редактировать спецификацию в редакторе HTML/JS/CSS. Вы также можете узнать, как редактировать спецификацию в Конструкторе шаблонов.
Параметры входных и выходных данных указываются в блоке Спецификация данных при создании или редактировании проекта.
Добавьте в спецификацию поля для всех данных, которые используются в задании или нужны вам в результатах. При настройке интерфейса ссылайтесь на эти поля.
Не дублируйте входные данные в выходных — в результатах вы получите все данные, включая входные.
Как редактировать спецификацию
Примечание
Редактирование спецификации доступно только при включенной опции Настроить спецификацию вручную.
Вы можете изменить спецификацию в настройках проекта двумя способами:
- В графическом режиме.
- В режиме JSON. Этот режим дает больше возможностей, с его помощью вы можете:
- делать скрытыми входные данные;
- использовать регулярные выражения для валидации выходных данных.
Чтобы добавить поле в графическом режиме, нажмите кнопку Добавить поле.
Чтобы редактировать существующее поле, наведите курсор на поле и нажмите кнопку
Для переключения режима нажмите кнопку
Примеры полей:
Текст в разных форматах
-
Строка определенной длины.
"my_string": { "type": "string", "required": true, "min_length": 10, "max_length": 100 }
-
Только русские буквы и цифры.
"my_ru_string": { "type": "string", "required": true, "min_length": 10, "max_length": 100, "pattern": "[а-яА-Я0-9]+" }
-
Только латинские буквы и цифры.
"my_en_string": { "type": "string", "required": true, "min_length": 10, "max_length": 100, "pattern": "[a-zA-Z0-9]+" }
-
Буквы и символы без цифр.
"my_number_string": { "type": "string", "required": true, "min_length": 10, "max_length": 100, "pattern": "[^0-9]+" }
-
Ссылка с определенного сайта.
"my_url": { "type": "string", "required": true, "pattern": "(?:http(?:s)?:\\/\\/)?(?:[a-zA-z-]+(\\.)+)*(?:yandex\\.ru){1}(\\/|\\/[a-zA-Z-\\._~:/\\?#\\[\\]@!\\$&'\\(\\)\\*\\+,;=]+)?" }
-
Номер телефона с символами
+
,-
и пробелом."my_phone_string": { "type": "string", "required": true, "pattern": "\\+?[0-9\\s-]{4,}" }
-
Электронная почта с символами
@
,-
и.
."my_mail_string": { "type": "string", "required": true, "pattern": "[a-zA-Z]{1}[a-zA-Z0-9\\.\\-_]+@[a-zA-Z0-9\\.\\-_]+\\.[a-zA-Z]{2,}" }
-
Месяц.
"my_month_string": { "type": "string", "required": true, "allowed_values": ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь" "ноябрь", "декабрь"] }
Ссылка
Поле с типом url.
"my_url": {
"type": "url",
"required": true
}
Логический тип данных
Поле с типом boolean.
"my_boolean": {
"type": "boolean",
"required": true
}
Числа
-
Целое число из указанного диапазона.
"my_integer": { "type": "integer", "required": true, "min_value": 1, "max_value": 100 }
-
Целое число со списком допустимых значений.
"my_integer": { "type": "integer", "required": true, "allowed_values": [10, 20, 30] }
-
Дробное число.
"my_float": { "type": "float", "required": true, "min_value": 10.11, "max_value": 65.51 }
-
Число с 0, 1 или 2 знаками после запятой.
Выберите тип string и используйте проверку с помощью регулярного выражения. Обратите внимание, что разделитель дробной части — запятая:
"my_mail_string": { "type": "string", "required": true, "pattern": "^([0-9]+)(,([0-9]){1,2})?$" }
Файл
Поле с типом file.
"my_file": {
"type": "file",
"required": true
}
Массив файлов
Массив из нескольких файлов.
"my_file_array": {
"type": "array_file",
"required": true,
"max_size": 5
}
Географические координаты
Поле с типом coordinates.
"my_coordinates": {
"type": "coordinates",
"required": true
}
JSON
Поле с типом json.
"my_json": {
"type": "json",
"required": true
}
Скрытое поле
Строка, к которой исполнитель не сможет получить доступ.
"my_string": {
"type": "string",
"hidden": true
}
Пояснения к настройке полей
Параметр |
Параметр в JSON |
Описание |
Название |
|
Идентификатор поля. Допустимы латинские буквы, цифры, дефис и нижнее подчеркивание. |
Тип |
|
Тип данных:
Для массивов в режиме JSON к типу добавляется префикс |
Обязательное поле |
|
Обязательность объекта при загрузке заданий для входных данных. Обязательность ответа исполнителя для выходных данных. По умолчанию поле необязательное — |
Скрытое поле |
|
Важно Скрытые поля недоступны в интерфейсе задания, даже через JS-код или код шаблона в конструкторе. Позволяет скрыть данные от исполнителя. Если этого не сделать, исполнители могут получить значение поля программно. Параметр можно настроить в режиме JSON. Например, вы можете скрыть идентификатор По умолчанию поле открытое — |
Массив |
|
Массив объектов одного типа. Используется, например, для загрузки нескольких фотографий исполнителем. В режиме JSON массив — это отдельный тип данных. Например: |
Мин. элементов |
|
Минимальное число элементов в массиве. |
Макс. элементов |
|
Максимальное число элементов в массиве. |
Допустимые значения |
|
Допустимые значения для строк, дробных и целых чисел, логического типа данных. |
Мин. длина |
|
Минимальная длина строки. |
Макс. длина |
|
Максимальная длина строки |
Мин. значение |
|
Минимальное значений для дробных и целых чисел. |
Макс. значение |
|
Максимальное значений для дробных и целых чисел. |
Текущее положение |
|
Сохранение текущих координат исполнителя ( По умолчанию |
Шаблон |
|
Регулярное выражение, которому должна соответствовать строка. Параметр можно настроить в режиме JSON. |
Типы данных
Вы можете использовать различные типы данных:
- integer
- float
- string
- url
- boolean
- coordinates
- json
- file
- array
Рекомендации
-
Если вы редактируете обязательные поля, изменения применятся только к новым пулам заданий. Например, если вам пришлось исправить ошибку в проекте, клонируйте пул или создайте новый. Существующие пулы заданий будут работать в соответствии со старой версией проекта.
-
В выходных данных используйте проверку значений и не забывайте указывать, какие поля являются обязательными.
-
Скрытые поля нужны только заказчикам и недоступны в интерфейсе задания. Значения скрытых полей невозможно использовать ни в JS-коде, ни в конструкторе шаблонов.
Пример
Допустим, вы передаете в задании служебные данные товара, которые не нужны исполнителям: артикул или номер партии. Или вы модерируете комментарии и вам нужны в результатах персональные данные авторов для последующей обработки данных, но исполнители не должны иметь к ним доступ. В таких случаях используйте скрытые поля.
Чтобы создать скрытое поле:
- Добавьте новое поле в спецификацию.
- В режиме JSON укажите у этого поля параметр
"hidden": true
.
Что дальше
-
Создайте пул заданий в проекте.
-
Узнайте больше про настройку проекта:
Решение проблем
Как показывать исполнителям два разных варианта текста?
Если вы передаете тексты во входные данные, то достаточно загрузить в пул 2 разных задания: в одном из них в поле INPUT: <имя входного поля>
вы передадите текст № 1, в другом — текст № 2.
Если текст в самом шаблоне задания, в блоке HTML, то нужно клонировать проект. Чтобы исполнитель мог сделать только одно задание в вашем проекте, используйте правило Выполненные задания. Можно назначить навык или заблокировать исполнителя, после того, как он отправит один ответ.
Тип данных для использования целых чисел.
Тип данных для использования дробных чисел. В качестве разделителя целой и дробной частей используется символ .
.
Тип данных для использования строк.
Тип данных для использования гиперссылок. По формату записи похож на строку. Ссылки начинаются с префикса http://
, https://
или www
.
Логический тип данных. Может принимать два значения:
true
— утверждение истинно.false
— утверждение ложно.
Тип данных для использования географических координат. По формату записи похож на строку. Содержит широту и долготу точки на карте. Координаты разделяются запятой, например: 22.3341,32.32
.
Порядок указания координат:
-
Широта.
-
Долгота.
Тип данных для использования JSON. По формату записи похож на строку.
Тип данных для использования файлов. Например, используется для загрузки фотографий исполнителем.
Тип данных для использования множественных значений.
Формат входных и выходных данных, описываемых в поле Спецификации блока Интерфейс задания при настройке проекта.
Определенная цель для разметки. Например, модерация комментариев, классификация изображений, транскрипция аудиозаписей или еще что-то.
Параметр настройки пула, который позволяет проверять ответы и при этом платить только за правильные ответы и не платить за задания, которые исполнители сделали некачественно.
Набор данных, которые нужно разметить в проекте. Можно использовать настройки пула для выбора исполнителей, установки цены за задание и добавления правил контроля качества. Задания в пуле объединены общими свойствами (например, настройки отбора исполнителей, плата за страницу заданий) и отправляются на выполнение единовременно.
Вопрос или задача, которое требует ответа от исполнителя в Яндекс Заданиях.