Документация Webitel

Компонент "If"

1. Описание

Условный компонент "If" предназначен для проверки условий.

Данный компонент присутствует в схемах типа:

  • Голосовая;

  • Текстовая;

  • Формы;

  • Служебная.

 Блок (Рис.1(1)) используется в поле для построения схемы. При нажатии на блок открывается панель настроек данного компонента (Рис.1(2)).

If.png

Рис.1. Условный компонент "If"

1.1. Блок "If"

Блок состоит из таких элементов:

  1. Названия компонента;

  2. Ветка "In" - принимающая (соединяющая с другим блоком) ветка;

  3. Ветка "Then" - выполнения схемы по этой ветке происходит тогда, когда условие указанные в поле "Expression" соблюдается;

  4. Ветка "Else" -  выполнения схемы по этой ветке происходит тогда, когда условие указанные в поле "Expression" не соблюдается;

  5. Ветка "Out" -  выполнения схемы по этой ветке происходит после выполнения схемы по веткам "Then" или "Else". Исходящая (соединяющая со следующим блоком) ветка.

При наведении на поле "Out", "Else"и "Then" появляется переключатель, который позволяет соединить этот компонент с компонентом, уже имеющим соединение.

Наличие иконки  image2024-11-7_15-47-46.png  обозначает, что  переключатель включен, и данный компонент можно соединить с компонентом, уже имеющим соединение.

Смена положения переключателя  удаляет данную исходящую ветку компонента.

Кнопка  image2024-11-7_15-51-56.png  удаляет блок из схемы.

1.2. Панель настроек "If"

Состоит из таких элементов:

  1. Поле "Expression";

  2. Переключатель "Break";

  3. Элемент "Limit";

  4. Элемент "Add description".

1.2.1. Поле "Expression"

В поле "Expressionзаписывается условие проверки.

Все переменные в Webitel обозначаются так - "${ }". Название переменной вписывается в фигурные скобки. Следующим шагом будет указание условия. 

К примеру,  не обходимо проверить является ли переменная "out_w"   больше ноля. Запись в поле будет выглядеть следующим образом - ${out_w}>0

Если условие соблюдается, то используется ветка "then". 

Если условие не соблюдается - ветка "else".

Использование "If" для маршрутизации по времени суток

Маршрутизация по времени суток позволяет выполнять вызовы в разных приложениях в зависимости от времени и дня недели.
Вы можете использовать его в различных условных операторах.

&minute_of_day 

Аргументы:

  • minutes (string) – минуты дня (1-1440) (полночь = 1, 1:00 = 60, полдень = 720 и т. д.).

Возвращает:

  • true, false, или минута дня, если параметров нет.

&time_of_day (08:00-17:00)

Аргументы:

  • time (string) – диапазон времени в формате: чч:мм[:сс]-чч:мм[:сс] (секунды необязательны).

Возвращает:

  • true, false, или время суток, если параметров нет.

&minute 

Аргументы:

  • minutes (string) – минута (часа), 0-59.

Возвращает:

  • true, false, или минуты часа, если параметров нет.

&hour 

Аргументы:

  • houres (string) – час, 0-23.

Возвращает:

  • true, false, или час дня, если параметров нет.

&wday 

Аргументы:

  • wdays (string) – день недели 1-7 (Вс=1, Пн=2 и т.д.) или «вс», «пн», «вт» и т.д.

Возвращает:

  • true, false, или день недели, если параметров нет

&mweek 

Аргументы:

  • mweeks (string) – неделя месяца, 1-6.

Возвращает:

  • true, false, или неделя месяца, если параметров нет

&week 

Аргументы:

  • weeks (string) – неделя года, 1-53.

Возвращает:

  • true, false, или неделя года, если параметров нет

&mday 

Аргументы:

  • mdays (string) – день месяца, 1-31.

Возвращает:

  • true, false, или день месяца, если параметров нет.

&mon (m)

Аргументы:

  • m (string) – месяц: 1–12 (январь = 1 и т. д.).

Возвращает:

  • true, false, или месяц, если нет параметров.

&yday (d)

Аргументы:

  • d (string) – день года, 1-366.

Возвращает:

  • true, false, или день года, если параметров нет

&year (y)

Аргументы:

  • y (string) – календарный год, 0-9999.

Возвращает:

  • true, false, или год, если параметров нет.

Пример кода:
{
  "if": {
    "expression": "&hour(18-20) && &wday(2-6)",
    "then": [
      {
        "setVar": "time_now=&time_of_day()"
      }
    ]
  }
}


1.2.2. Переключатель "Break"

Отвечает за окончание выполнения схемы.

  • image-20250704-085952.png - инициирует окончание выполнения схемы после данного компонента;

  • image-20250704-085922.png - переключатель отключен.

1.2.3. Элемент "Limit"

Предназначен для определения максимального количества прохождений через этот компонент. 

Если через компонент прохождений будет больше, чем указано в поле "Max", то будет использоваться ветка "failover"- image2024-1-26_12-1-12.png , которая появляется в блоке компонента при установке лимита.

Нажатие на кнопку "Add limit" добавляет поле "Max" и кнопку "Delete limit".

В поле "Max" указывается количество возможных прохождений.

Нажатие на кнопку "Delete limit" убирает лимит, возвращая кнопку "Add limit".

Limit.png


Рис. 2. Установление лимита

1.2.4. Элемент "Add description"

Нажатие на кнопку "Add description" добавляет поле "Description" и кнопку "Delete description".

В поле "Description" указывается описание — комментарии к компоненту.

Нажатие на кнопку "Delete description" убирает описание, возвращая кнопку "Add description".

Description.png

Рис. 3. Элемент "Add description"