Scenario (сценарии) — это сущность DSL, которая обозначает текущую тему диалога. Например, смартап "Погода" может иметь следующие сценарии: "Прогноз погоды на сегодня", "Карта осадков", "В каких странах сейчас тепло" и т.д.
Сценарии связаны с интентами — задачами, которые формулирует пользователь. По умолчанию смартап на SmartApp Framework пытается найти и запустить сценарий с таким же названием, как и у текущего интента.
Сценарий, как и любая другая сущность в DSL — это обычный словарь в формате JSON. Все описания хранятся в static/references/scenarios
.
Типы сценариев
Существуют следующие типы сценариев:
-
Без формы (base)
Самый простой тип сценария. Через него удобно создавать сценарий вида "Вопрос-Ответ". Например, на вход поступает запрос "Скажи один" и в качестве ответа возвращается "Один".
-
С формой (form_filling)
В этом типе сценария присутствует форма с фиксированным списком полей.
-
Древовидный (tree)
Сценарий, который имеет множество форм и ветвлений. Например, в зависимости от параметров в форме_1 может быть вызвана форма_2 или форма_3.
Сценарий без формы
Сценарий без формы — это одношаговый простой сценарий. Регистрируется с type: "base". Для создания такого сценария необходимо в static.references.scenarios
создать hello_scenario.json
.
Название | Обязательность | Описание |
---|---|---|
switched_off | Нет | Выключен ли сценарий:
|
actions | Нет | Список действий, которые выполняются при завершении сценария |
| Нет | Условие, с помощью которого можно сделать сценарий недоступным |
| Нет | Сценарий всегда должен вернуть ответ. Если ответ не найден или сценарию не удалось его сгенерирова ть, то вернется ответ по умолчанию |
{
"app_hello": {
"type": "base",
"actions": [
{
"type": "string",
"command": "ANSWER_TO_USER",
"nodes": {
"pronounceText": "Привет!"
}
}
]
}
}
Сценарий с формой
Сценарий с формой — это сценарий для опроса фиксированного набора полей. Регистрируется с type: "form_filling". Действия (Actions) выполняются только после заполнения всех необходимых полей формы.
Название | Обязательность | Описание |
---|---|---|
switched_off | Нет | Выключен ли сценарий:
|
actions |