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

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

1. Опис

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

Цей компонент присутній у схемах типу:

  • Голосова;

  • Текстова;

  • Форми;

  • Службова.

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

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

1.1. Блок "If"

Блок складається з таких елементів:

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

  2. Гілка "In" - гілка, що приймає (з'єднує з іншим блоком);

  3. Гілка "Out" - виконання схеми за цією гілкою відбувається після виконання схеми за гілками "Then" або "Else". Вихідна (що з'єднує з наступним блоком) гілка;

  4. Гілка "Then" - виконання схеми за цією гілкою відбувається тоді, коли умова, зазначена в полі "Expression", дотримується;

  5. Гілка "Else" - виконання схеми за цією гілкою відбувається тоді, коли умова, зазначена в полі "Expression", не дотримується.

При наведенні на поле "Out", "Else", або "Then", з'являється перемикач, який дозволяє з'єднати цей компонент з компонентом, який вже має з'єднання.

Наявність іконки Screenshot 2024-11-07 154742.png позначає, що перемикач увімкнено, і цей компонент можна з'єднати з компонентом, який уже має з'єднання.

Зміна положення перемикача видаляє вихідну гілку цього компонента.

Кнопка Screenshot 2024-11-07 155145.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-20241231-124210.png - ініціює закінчення виконання схеми після цього компонента;

image-20241231-124231.png - перемикач у вимкненому положенні.

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

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

Натискання на кнопку "Add limit" додає поле "Max" та кнопку "Delete limit".

У полі “Max” вказується кількість можливих проходжень.

Якщо через компонент проходження буде більше, ніж зазначено в полі "Max", то використовуватиметься гілка "failover", яка з'являється в блоці компонента при установці ліміту.

Натискання на кнопку "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"