Field (поле) - это параметр запроса, который пользователь может или должен сообщить. Field входит в состав сущности Form. Значение Field может быть заполнено не только ответом пользователя, но и ответом интеграционного сервиса.
Базовые Fields
Ниже представлено описание основных параметров Field, которые передаются в поле type
.
Поле | Описание |
---|---|
type | Нужно ли для заполнения поля совершать дополнительный запрос в интеграцию. Принимает значения:
|
required | Является ли поле обязательным для заполнения. Принимает значения:
|
default_value | Значение поля по умолчанию |
questions | Уточняющие вопросы или запросы в интеграционные сервисы. Эти запросы будут сделаны, если поле обязательное для заполнения, но при этом оно не заполнено. Принимает значение Action. Рекомендуется передавать как обязательное |
ask_again_questions | Массив повторных вопросов, каждый из которых представлен в виде Action. Повторные вопросы задаются если смартап не смог заполнить форму, исходя из ответа пользователя на основной вопрос из массива Возможность задавать повторные вопросы доступна в SmartApp Framework версии 1.0.7 и выше. |
requests | Список action (запросов в интеграционные сервисы) для Field с типом integration . Эти запросы будут сделаны, если поле обязательное для заполнения, но при этом оно не заполнено. Затем значение будет извлечено из ответа интеграции филлером, указанным в поле filler. |
filler | Объект, который извлекает из текста пользователя значения для заполнения поля. Принимает значение Filler |
need_save_context | Может ли значение данного поля использоваться в любой другой форме, где имя поля совпадает с текущим именем поля:
|
need_load_context | Может ли пустое поле быть заполнено значением из другой формы, где существует заполненное поле с таким же названием:
|
requirement | Условие, при котором определяется, что может быть извлечено из текста пользователя для заполнения поля. Принимает значение Requirement |
field_validator | Проверка на допустимость введенного значения. Например, при пополнении мобильного счета может стоять ограничение, что нельзя пополнить телефон на сумму в 1 млн. рублей. Если в поле ничего не задано, значит валидность не проверяется. Принимает значение Field Validator |
available | Может ли поле быть доступным для заполнения до тех пор, пока вопрос для этого поля не будет задан:
Часто используется при подтверждении для предотвращения преждевременного заполнения слота (например, вопрос "Вы согласны?" и ответы "Да/Нет") |
fill_other | Будут ли заполнены другие поля в форме после заполнения этого поля:
Используется для древовидных сценариев |
rewritable | Будет ли удален сценарий из стека при заполнении всех обязательных полей и до истечения времени жизни формы:
Не используется для древовидных сценариев |
on_filled_actions | При смене значения поля исполняются действия, указанные в списке. Принимает значение Action |
Field Validator
Проверяет корректность заполнения поля. Если валидация пройдена не успешно, поле не заполняется и отправляются actions,
указанные в field_validator
.
Поле | Описание |
---|---|
requirement | Проверяемое условие. Опциональное поле. Принимает значение Requirement |
actions | Действие, которое выполнится при не пройденной проверке. Опциональное поле. Принимает значение Action |