Среда разработки Call Flow Designer
Среда разработки 3CX Call Flow Designer (CFD) позволяет администратору АТС создавать сложную логику обработки вызовов (голосовые приложения) в удобном визуальном редакторе — с минимальными навыками программирования или вообще без них. Голосовые приложения взаимодействуют с пользователем по телефону, принимая от него ввод и выполняя определенные действия. Вы можете, например, запросить у абонента номер карточки клиента, проверить его в CRM системе и перевести к закрепленному менеджеру. Или вы можете маршрутизировать вызов в зависимости от даты, времени и других факторов.
Внимание: чтобы запускать приложения 3CX CFD необходима редакция 3CX Pro.
Приложение CFD «собирается» из строительных блоков, называемых компонентами. Существует довольно много готовых компонентов, причем их перечень расширяется, например: Menu (Голосовое меню / IVR), Prompt Playback (Проигрывание сообщения пользователю), User Input (Прием ввода пользователя). Каждый компонент имеет несколько настраиваемых параметров, о которых мы поговорим ниже. Компоненты, объединенные вместе, образуют проект (Project) голосового приложения. Этот проект после компиляции загружается на сервер 3CX (Windows или Linux) в интерфейс Очереди вызовов. Далее вы направляете вызовы на этот номер Очереди из голосового меню (IVR) или напрямую с внешней линии. В процессе работы голосовое приложение может снова переводить вызовы на Очереди, Группы, IVR, определенных пользователей и т.п.
Преимущества использования среды разработки CFD перед написанием скриптов вручную:
- Использование множества готовых компонентов — рекордная скорость «сборки» приложения
- Визуализация создаваемого алгоритма — приложение может легко изменить или доработать другой сотрудник
- Использование отлаженного кода компонентов — минимизация ошибок разработки
- Поддержка популярного языка C#, расширяющего возможности голосовых приложений
- Компиляция CFD-приложения (а не интерпретация скрипта) — высокая скорость исполнения, минимальная нагрузка на процессор
3CX Call Flow Designer устанавливается только на 64-битную версию Windows. Приложение занимает примерно 15 Мб плюс место для проектов пользователя. CFD можно установить на любом подходящем компьютере, а не только на компьютере с системой 3CX. Проект создается локально, а затем загружается на сервер АТС. Это, в частности, позволяет партнерам 3CX создавать голосовые приложения на заказ для своих клиентов.
Рассмотрим термины, с которыми вы встретитесь, разрабатывая голосовые приложения 3CX:
- Project (Проект) – собственно, разрабатываемое приложение. Оно состоит из потоков обработки вызовов, дайлеров и других компонентов.
- Callflow (Поток обработки вызовов) – определенное взаимодействие с пользователем, т.е. набор действий, выполняемый компонентом (или компонентами). Например, поток — это запрос ввода цифр у пользователя.
- Dialer (дайлер) – поток обработки, автоматически выполняющий исходящий вызов.
- Components (компоненты) – строительные блоки потока обработки вызовов, например, воспроизведение пунктов меню, получение ввода пользователя, доступ к базе данных и т.п. Компоненты являются частью входящего потока обработки, исходящего потока (диалера) или более сложного пользовательского компонента.
- Custom Component (Пользовательский компонент) – вы можете создавать собственные компоненты со специальными возможностями.
Создание простого голосового приложения
Рассмотрим, как создается простейшее голосовое приложение в среде CFD. После того, как вы освоитесь с простыми компонентами, не составит труда перейти и к более сложным приложениями, которые состоят из тех же простых компонентов.
Наше приложение представляет собой простое Голосовое меню (для перевода в Отдел продаж нажмите 1, Отдел поддержки — 2, Исходящий вызов — 3, или оставайтесь на линии для соединения с Оператором.
Создание проекта
Для создания проекта перейдите в File > New > Project и укажите имя файла. При сохранении проекта создаются три папки: для аудиофайлов проекта, для дополнительных библиотек и для готовой сборки голосового приложения. Проект создается с набором параметров по умолчанию, которые вы можете затем изменить.
Создание потока обработки
При создании проекта также создается пустой поток обработки Main. Он расположен во вкладке главного окна, в которую вы перетаскиваете компоненты потока. Каждый поток имеет два свойства: имя потока и набор переменных, которые используются в потоке
Добавление компонентов в поток
После создания пустого потока заполним его рабочими компонентами. Начнем с компонента Menu.
- Перетащите его на вкладку потока и назовите mainMenu
- По умолчанию меню имеет два опции. Добавим третью — кликните на компоненте правой кнопкой мыши и выберите Add Option 3.
Когда вы добавляете компонент Menu в поток, его параметры устанавливаются по шаблону в соответствии с установками в разделе Tools > Options > Component Templates > Menu. Установить параметры компонента можно тремя способами:
- В окне Properties
- По двойному щелчку на компоненте
- Из контекстного меню компонента
Например, чтобы установить голосовое сообщение, воспроизводимое пользователю, в окне Properties измените свойство InitialPrompts. Откроется редактор голосовых файлов Prompt Collection Editor. Укажите вариант AudioFilePrompt, а затем выберите звуковой файл, который должен воспроизводиться.
Звуковые файлы, которые расположены в папке аудиофайлов проекта, видны в выпадающем списке. А если вы выбираете файл в другом месте на диске, он автоматически копируется в папку проекта.
Обратите внимание: CFD поддерживает только аудиофайлы следующего формата: WAV, моно, 8 КГц, 16 бит. Вы можете подготовить файлы корректного формата по этой инструкции.
Чтобы добавить голосовое сообщение, которое прозвучит пользователю при некорректном вводе, измените параметр InvalidDigitsPrompts. Сообщение при отсутствии ввода пользователя устанавливается в параметре TimeoutPrompts.
Настроив основные параметры самого меню, добавим компоненты, которые будут выполняться при выборе той или иной опции. Например, при выборе Опции 1 приложение переводит вызов на Отдел продаж — добавьте компонент Transfer под ветвление Option 1 и поменяйте имя компонента на Sales.
Дважды кликните на компоненте Transfer и укажите направление — добавочный номер Отдела продаж. Аналогично укажите в Опции 2 добавочный номер Отдела сервиса.
В Опции 3 алгоритм немного усложняется. Мы спросим у пользователя номер, на который нужно перевести вызов, а потом переведем на введенный номер. Для получения номера используется компонент User Input:
- Перетащите его в ветвление Option 3, измените имя и добавьте сообщение, которое будет предлагать пользователю ввести номер.
- Укажите допустимые цифры — от 0 до 9 (звездочка и точка не допускаются).
- Укажите минимальную и максимальную длину номера (параметры MinDigits и MaxDigits), например, от 3 до 5.
- Если пользователь сделал неверный ввод, вызов переводится на оператора.
Чтобы настроить перевод вызова на введенный номер, дважды кликните на компоненте Transfer в опции 3 и нажмите на кнопку Редактора выражений (Expression Editor) fx. В качестве выражения укажите свойство buffer компонента askForDestination.
Компиляция и загрузка приложения на сервер
Завершенный проект будет иметь примерно такой вид, как на скриншоте выше. Однако нам необходимо скомпилировать готовое приложение (файл с расширением tcxvoiceapp, которое и устанавливается на сервер.
Для этого выберите в меню CFD опцию Build > Build All. Появится окно компиляции и окно ошибок, в котором видны все ошибки и предупреждения, возникающие в процессе компиляции. Затем откроется Windows Explorer с файлом готового приложения.
Для загрузки файла на сервер АТС, в интерфейсе управления 3CX создайте Очередь вызовов, укажите ее имя и добавочный номер, и перейдите в раздел Голосовые приложения.
Установите галочку Голосовые приложения и загрузите ваше приложение. После этого появится предупреждение о перезапуске сервиса Queue Manager Service. Обратите внимание, что при перезапуске все вызовы в Очередях будут прерваны.
Запуск приложения
Голосовое приложение регистрируется в системе 3CX под добавочным номером Очереди вызовов. Запуск приложения происходит либо при поступлении прямого внешнего вызова на эту Очередь, либо при переводе на Очередь. В нашем случае — просто позвоните на добавочный номер Очереди и приложение запустится!
Дополнительная информация
Мы описали базовые принципы разработки приложений для 3CX. Разумеется, возможности среды CFD гораздо больше. Она постоянно дополняется новыми компонентами и получает возможности интеграции со сторонними сервисами, например, сервисом генерации естественной речи Amazon Polly. Кроме того, недавно появилась возможность обращаться к серверному API 3CX непосредственно из CFD приложений, используя язык C#. Понимая основы, можно переходить к созданию более сложных и полезных приложений. Мы уже неоднократно рассматривали такие приложения в прошлом:
- Использование серверного API 3CX из приложения CFD
- Генерация естественной речи в приложении CFD
- Предиктивный исходящий обзвон с 3CX
- Автоматический исходящий обзвон в приложении CFD
- Сложная маршрутизация входящих вызовов
- Считывание ввода пользователя в приложении CFD
- Работа с базами данных в приложении CFD
- Отправка e-mail в приложении CFD
Если у вас возникли вопросы по разработке голосовых приложений, лучшее место для консультаций — Форум разработчиков 3CX CFD и документация 3CX CFD.