General applications
Операторы
if
Оператор if управляет условным ветвлением.
{
"if": {
"expression": "${myVar} == '1'",
"then": [],
"else": []
}
}
switch
Операторы switch и case помогают управлять сложными условными операциями и операциями ветвления.
{
"switch": {
"variable": "${getIvrDigit}",
"case": {
"1": [],
"2": [],
"3": [],
"default": []
}
}
}
while
Логика работы такая же, как и в языках программирования. Первый раз аппликейшены в блоке [do] выполняются без проверки условия. Последующие разы выполняются только если условие истинно.
{
"while": {
"condition": "${myVar} < 10",
"maxSteps": "1000",
"do": [
{
"log": "log is ${myVar}"
},
{
"js": {
"data": "+${myVar} + 1",
"setVar": "myVar"
}
}
]
}
}
condition - условие, написанное с учетом синтаксиса js;
maxSteps -глобальный параметр отвечает за максимальное количество шагов в непосредственно блоке (сделано для того чтобы если где-то дальше например в конце схемы цикл будет снова вызван из goto то схема не зациклилась) если не указывать по умолчанию будет 1000;
do – массив аппликейшенов, которые будут выполняться в цикле.
Триггеры
disconnected
Выполняет набор приложений после завершение основного скрипта. Объявляется единожды вначале скрипта.
commands
Commands влиять пока только на все recvMessage в схеме, если будет выполнена команда, тогда recvMessage таймаут обновляется.
Функции
function
Объединить набор приложений в именную функцию. Объявляется вначале скрипта.
execute
Выполнение предварительно объявленной функции по имени.
Переменные
set
Назначение переменных на канал.
export
Экспорт переменных на сторону оператора, а также в статистику.
unSet
Разустанавливает переменную.
Служебные приложения
calendar
Приложение позволяет проверить текущее время с рабочим календарем. Значение сохраняется в переменную.
cache
Приложение позволяет работать с данными в памяти либо Redis сервере.
httpRequest
Выполнение HTTP REST запроса и обработка результата (get JSON)
js
Выполнение произвольного JavaScript кода с возвращением результата в переменную
joinAgent
Постановка абонента в личную очередь оператора. Работает только для звонков.
processing.form.id
- идентификатор формы. Если пусто, или 0 - без формы.
joinAgentToTask
Возможность из схемы оператору назначить таску (join task новая очередь task)
Работает для всех типов схем.
agent.id
oragent.extension
- обязательные поля, на какого оператора нужно назначить задачу;communication.description
- не обязательно, описание типа связи (см. Абоненты);communication.destination
- не обязательно, номер или любой текст типа связи (см. Абоненты);communication.type.id
- ид типа связи (Swagger UI здесь список);processing
- настройки постобработки:enabled
- включена или выключена постобработка;form.id
- ид формы (не обязательно);sec
- время в секундах постобработки в секундах;renewal_sec
- время возможности добавить постобработку;
queue_name
- название очередиtimeout
- время в секундах сколько ожидать ответа оператора (по умолчанию включено автоподнятие, поэтому этот параметр нужен больше для случаев, когда оператор не в Workspace).
math
Приложение для работы с математическими функциями
fn
random
: returns a random number from arraymin
andmax
: can be used to find the lowest or highest value in a list of argumentsround
: rounds a number to the nearest integerceil
: rounds a number up to the nearest integerfloor
: rounds a number down to the nearest integer
string
Приложение для работы со строкой.
fn
length
: returns the length of a stringindexOf
andlastIndexOf
: returns the index of (the position of) the first or last occurrence of a specified text in a stringsearch
: searches a string for a specified value and returns the position of the matchslice
: extracts a part of a string and returns the extracted part in a new stringsubstring
: is similar to slice. The difference is thatsubstring
cannot accept negative indexes.substr
: is similar to slice. The difference is that the second parameter specifies the length of the extracted part.replace
: replaces a specified value with another value in a stringtoUpperCase
ortoLowerCase
: A string is converted to upper case or to lower casecharAt
: returns the character at a specified index (position) in a stringcharCodeAt
: returns the unicode of the character at a specified index in a stringsplit
: A string can be converted to an array with thesplit
functionreverse
: Reverse the provided stringbase64
: base64 encoder / decoderMD5
: Computes a digest from a string usingMD5
algorithmSHA-256
: Computes a digest from a string usingSHA-256
algorithmSHA-512
: Computes a digest from a string usingSHA-512
algorithm
markIVR
Позволяет сохранить массив значений в переменную, которая будет доступна в истории
topicExtraction
Для определение тематики полученного сообщения: сообщение в чате, speech-to-text на IVR
где,
limit
- не обязательно, по умолчанию 4, это последние сообщения из чата или из распознавания в звонке
definedTopic
- в какую переменную записать ответ (topic)
score
- в какую переменную записать сonfidence
messages
- используется только для всех типов кроме chat / call
userInfo
Приложение позволяет получить значение из объекта пользователя по номеру телефона
setGrantee
Передать права на канал пользователю с идентификатором указанным в id
schema
Выполнить внешнюю схему по идентификатору
softSleep
Пауза выполнения скрипта в миллисекундах
sql
Приложение доступно исключительно для выделенных либо собственных серверов Webitel, позволяет выполнить запрос в базу данных и вернуть результат в переменную
list
Проверка на наличие абонента в списке с выполнением действий
listAdd
Добавить абонента в список
log
Вывод дополнительной информации в лог файл приложений
goto
Перейти к именной метке
monoPay
Перейти к именной метке
Параметры приложений
Данные приложения могут вызываться как самостоятельно, так и как параметр другого приложения.
tag
Установить именную метку в скрипте
async
Выполнение приложения без блокировки
break
Прерывает выполнение скрипта
limit
Позволяет прерывать цикл после прохождения количества указанного в атрибуте max. Выход осуществляется в именную метку, указанную в атрибуте failover.
- 1 Операторы
- 2 Триггеры
- 2.1 disconnected
- 2.2 commands
- 3 Функции
- 4 Переменные
- 5 Служебные приложения
- 5.1 calendar
- 5.2 cache
- 5.3 httpRequest
- 5.4 js
- 5.5 joinAgent
- 5.6 joinAgentToTask
- 5.7 math
- 5.8 string
- 5.9 markIVR
- 5.10 topicExtraction
- 5.11 userInfo
- 5.12 setGrantee
- 5.13 schema
- 5.14 softSleep
- 5.15 sql
- 5.16 list
- 5.17 listAdd
- 5.18 log
- 5.19 goto
- 5.20 monoPay
- 6 Параметры приложений