ym88659208ym87991671
Фреймворк Field | Документация для разработчиков

Field

Обновлено 14 декабря 2023

Field (поле) - это параметр запроса, который пользователь может или должен сообщить. Field входит в состав сущности Form. Значение Field может быть заполнено не только ответом пользователя, но и ответом интеграционного сервиса.

Базовые Fields

Ниже представлено описание основных параметров Field, которые передаются в поле type.

ПолеОписание
type

Нужно ли для заполнения поля совершать дополнительный запрос в интеграцию. Принимает значения:

  • question (по умолчанию) — поле заполняется в рамках диалога с пользователем
  • integration — в момент заполнения поля будет выполнен запрос в интеграцию в соответствии с полем requests
required

Является ли поле обязательным для заполнения. Принимает значения:

  • true
  • false (по умолчанию)
default_valueЗначение поля по умолчанию
questionsУточняющие вопросы или запросы в интеграционные сервисы. Эти запросы будут сделаны, если поле обязательное для заполнения, но при этом оно не заполнено. Принимает значение Action. Рекомендуется передавать как обязательное
ask_again_questions

Массив повторных вопросов, каждый из которых представлен в виде Action. Повторные вопросы задаются если смартап не смог заполнить форму, исходя из ответа пользователя на основной вопрос из массива questions. Повторные вопросы выполняются в том же порядке, в котором они хранятся в массиве: первому вопросу соответствует первый элемент массива, второму — второй и так далее. По окончании массива передается сообщение NOTHING_FOUND.

Возможность задавать повторные вопросы доступна в SmartApp Framework версии 1.0.7 и выше.

requestsСписок action (запросов в интеграционные сервисы) для Field с типом integration. Эти запросы будут сделаны, если поле обязательное для заполнения, но при этом оно не заполнено. Затем значение будет извлечено из ответа интеграции филлером, указанным в поле filler.
fillerОбъект, который извлекает из текста пользователя значения для заполнения поля. Принимает значение Filler
need_save_context

Может ли значение данного поля использоваться в любой другой форме, где имя поля совпадает с текущим именем поля:

  • true - значение может быть использовано;
  • false - значение не может быть использовано (по умолчанию).
need_load_context

Может ли пустое поле быть заполнено значением из другой формы, где существует заполненное поле с таким же названием:

  • true - поле может быть заполнено;
  • false - поле не может быть заполнено (по умолчанию).
requirement

Условие, при котором определяется, что может быть извлечено из текста пользователя для заполнения поля. Принимает значение Requirement 

field_validator

Проверка на допустимость введенного значения. Например, при пополнении мобильного счета может стоять ограничение, что нельзя пополнить телефон на сумму в 1 млн. рублей.

Если в поле ничего не задано, значит валидность не проверяется. Принимает значение Field Validator

available

Может ли поле быть доступным для заполнения до тех пор, пока вопрос для этого поля не будет задан:

  • true - поле доступно (по умолчанию);
  • false - поле недоступно.

Часто используется при подтверждении для предотвращения преждевременного заполнения слота (например, вопрос "Вы согласны?" и ответы "Да/Нет")

fill_other

Будут ли заполнены другие поля в форме после заполнения этого поля:

  • true - другие поля заполняются (по умолчанию);
  • false - другие поля не заполняются.

Используется для древовидных сценариев

rewritable

Будет ли удален сценарий из стека при заполнении всех обязательных полей и до истечения времени жизни формы:

  • true - сценарий не будет удален;
  • false - сценарий будет удален (по умолчанию).

Не используется для древовидных сценариев

on_filled_actionsПри смене значения поля исполняются действия, указанные в списке. Принимает значение Action

Field Validator

Проверяет корректность заполнения поля. Если валидация пройдена не успешно, поле не заполняется и отправляются actions, указанные в field_validator.

ПолеОписание
requirement

Проверяемое условие.

Опциональное поле. Принимает значение Requirement 

actions

Действие, которое выполнится при не пройденной проверке.

Опциональное поле. Принимает значение Action

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.