16. Меню и переводы
Две вещи, ради которых сценарии чаще всего и пишут: развести вызов по нажатой кнопке и отдать его туда, где с абонентом поговорит человек.
Меню: ветвление по значению
Меню сравнивает аргумент с набором значений и уводит вызов туда, где совпало (Компонент Меню). Классический случай — «нажмите 1 для продаж, 2 для поддержки», но сравнивать можно что угодно: код региона, ответ базы, номер абонента. Само нажатие Меню не собирает — это делает компонент до него.
- Аргумент
-
что сравнивать. Обычное поле-аргумент: переменная, константа, выражение или шаблон. В IVR это почти всегда переменная, в которую предыдущий шаг положил нажатую кнопку.
- Значения
-
таблица «нажали столько — идём туда».
- Переход, прочее
-
куда уйти, если ни одно значение не подошло.
Таблица значений
Левая колонка — с чем сравнивать, правая — куда идти. Левая ячейка тоже аргумент: сравнивать можно не только с константой.
Пустая строка внизу появляется сама. Ручка слева переставляет строки, крестик справа удаляет. Порядок важен: сравнение идёт сверху вниз, и первое совпадение выигрывает.
|
Ctrl и протяжка от Меню заполняет не строку таблицы, а Переход, прочее — основную ветку этого типа. Ветки по значениям задаются только таблицей. Зато обратное верно: заполнив таблицу, вы увидите новые стрелки на карте с подписями-значениями. Карта и таблица — одно и то же. |
Что будет, если удалить цель
Удалили компонент, на который вела ветка, — соответствующая ячейка перехода опустеет. Сама строка таблицы останется: значение вы задавали, и стирать его редактор не станет.
Строка с пустым переходом безобидна, но и бесполезна: совпадение произойдёт, а идти будет некуда. Такие строки стоит вычищать.
Переводы
Перевод отдаёт вызов на другой номер: оператору, в очередь, на внешний телефон.
- Номер
-
куда переводим. Аргумент — значит, номер можно и вычислить.
- Код результата, Описание результата, SIP-код, Причина
-
куда положить, чем закончилась попытка. Всё это поля-переменные, и заполнять их не обязательно — но без них разобраться потом, почему перевод не удался, будет нечем.
Назначение остальных свойств — в справочнике: Компонент Перевод.
Три ветки вместо одной
У перевода нет «основного» исхода в привычном смысле: разговор либо состоялся, либо нет, и все интересные случаи — неудачные.
- Переход, отказ
-
абонент на той стороне отклонил вызов или занят.
- Переход, время
-
никто не ответил за отведённое время.
- Переход, время подписки
-
истёк срок ожидания события.
|
Если перевод не удался, а соответствующая ветка не заполнена, вызов абонента просто оборвётся: идти дальше некуда. Поэтому Переход, время и Переход, отказ стоит вести хотя бы на общее «извините, все заняты» — это дешевле, чем обрыв в трубке. |