Action — одна из сущностей DSL, которая представляет собой реакцию на какое-либо событие. Например, отправка сообщения, запрос данных у внешней системы, изменение состояния и т.д.
Actions, которые будут использоваться многократно, хранятся в static/references/actions
.
Ниже описаны основные Actions, которые передаются в поле type:
- Actions по умолчанию
- Составные Actions
- Actions для управления сценарием
- Actions для интеграции с внешними системами
- Actions для взаимодействия с пользователем
- Actions для взаимодействия с счетчиками
- Actions для взаимодействия с переменными
Виды Actions
Actions по умолчанию
Тип | Описание |
---|---|
None |
|
{
"type": null
}
Составные Actions
Ниже представлено описание Actions, которые комбинируют другие Actions.
Тип | Описание |
---|---|
requirement |
Используемые параметры:
|
{
"type": "requirement",
"action": {
"type": "do_nothing",
"command": "ANSWER_TO_USER",
"nodes": {
"text": "Номер указан не верно, введите еще раз."
}
},
"requirement": {
"type": "external",
"requirement": "number_is_wrong"
}
}
Тип | Описание |
---|---|
else |
Используемые параметры:
|
{
"type": "else",
"requirement": {
"type": "external",
"requirement": "callcenter_white_list"
},
"action": {
"type": "external",
"action": "nothing_found"
},
"else_action": {
"type": "external",
"action": "just_callcenter_action"
}
}
Тип | Описание |
---|---|
choice |
Если не выполнен ни один из requirement_action и при этом указан else_action, то будет выполнен else_action (его использование необязательно, ключ может быть пропущен). Используемые параметры:
|
{
"type": "choice",
"requirement_actions": [
{
"requirement": {
"type": "external",
"requirement": "number_is_ok"
},
"action": {
"nodes": {
"answer": [
[
"Ваш номер {{main_form_phone_number}} введен верно"
]
]
}
}
},
{
"requirement": {
"type": "external",
"requirement": "number_is_wrong"
},
"action": {
"nodes": {
"answer": [
[
"Номер указан не верно, введите еще раз"
]
]
}
}
}
],
"else_action": {
"nodes": {
"answer": [
[
"Ваш номер и не ok, и не ok. Странно это"
]
]
}
}
}
Тип | Описание |
---|---|
external |
Используемые параметры:
|
{
"type": "external",
"action": "approve"
}
Тип | Описание |
---|---|
composite |
Используемые параметры:
|
{
"type": "composite",
"actions": [
{
"nodes": {
"answer": [
[
"Сейчас переведем вас на оператора"
]
]
}
},
{
"type": "external",
"action": "callcenter_action"
}
]
}
Actions для управления сценарием
Ниже представлено описание Actions, которые позволяют управлять сценарием и его компонентами.
Тип | Описание |
---|---|
clear_form_by_id |
Используемые параметры:
|
{
"type": "clear_form_by_id",
"form": "hello_app_form"
}
Тип | Описание |
---|---|
clear_inner_form_by_id |
Используемые параметры:
|
{
"type": "clear_form_by_id",
"form": "hello_app_form",
"inner_form": "inner_hello_app_form"
}
Тип | Описание |
---|---|
break_scenario |
По умолчанию форма сценария не очищается. Для этого необходимо использовать action |
{
"type": "break_scenario"
}