- PVSM.RU - https://www.pvsm.ru -

Работа с базами данных в среде разработки 3CX Call Flow Designer

Введение

В этой статье мы расскажем, как делать запросы к базе данных SQL Server из 3CX Call Flow Designer, используя компонент Database Access. Отметим, что компонент Database Access также может работать с базой PostgreSQL, которую использует 3CX Phone System.

Демо-проект этого голосового приложения поставляется вместе с дистрибутивом 3CX CFD и находится в папке Documents3CX Call Flow Designer Demos. Если вы захотите им воспользоваться – просто укажите расположение вашей базы данных и учетные данные доступа.

Наше голосовое приложения будет запрашивать ПИН пользователя (это может быть номер клиента, страхового полиса и т.п.), проверяет его в базе данных и переводит его на указанный добавочный номер (это может быть обслуживающий сотрудник, заранее подготовленное голосовое меню или другое голосовое приложение), если ПИН найден.

Создание проекта

Для создания проекта CFD перейдите в File > New > Project, укажите папку размещения проекта и его имя, например, DatabaseAccessDemo.

Работа с базами данных в среде разработки 3CX Call Flow Designer - 1

Запрос ПИН-кода у пользователя

ПИН пользователя запрашивается с использованием компонента User Input. Добавим компонент в голосовое приложение:

  • Перетащите компонент User Input из набора компонентов слева в главный экран приложения. Выберите компонент и в окне Properties переименуйте его в requestPIN.Работа с базами данных в среде разработки 3CX Call Flow Designer - 2
  • Дважды кликните по компоненту, чтобы открыть окно конфигурации, и установите следующие свойства:
    • Initial Prompts – укажите WAV файл, в котором у пользователя будет запрашиваться ПИН, например, “Введите ваш персональный идентификационный номер”. Формат WAV файла: PCM, 8 kHz, 16 bit, Mono.
    • Subsequent Prompts – укажите WAV файл с более подробными пояснениями по вводу. Он проигрывается только, если пользователь сделал неверный ввод или вообще ничего не ввел. Например, “Введите ваш персональный идентификационный номер. Допускаются цифры от 0 до 9 и длина — от 3 до 6 цифр”.
    • Timeout Prompts – укажите WAV файл с предупреждением о том, что ничего не было введено, например, “К сожалению, мы не получили ввод от вас”.
    • Invalid Digit Prompts – укажите WAV файл с предупреждением о некорректном (слишком мало цифр или они недопустимы), например, “К сожалению, вы некорректно ввели ПИН”.

  • Остальные опции настройте, как показано ниже, и нажмите OK для сохранения.

Работа с базами данных в среде разработки 3CX Call Flow Designer - 3

Проверка введенного ПИН в базе данных

После получения ПИН от пользователя, его следует проверить в базе данных. Для этого добавим компонент Database Access в ветвление компонента Valid Input, предполагающее верный ввод. Переименуйте компонент в validatePIN и дважды кликните на нем, чтобы установить свойства:

  • Database Type — выберите SqlServer.
  • Configure each property separately – выберите эту опцию, чтобы указать параметры подключения по отдельности. Однако, вы можете указать и строку подключения к базе данных [1].
  • Server – имя или IP адрес сервера базы данных. Это поле может быть и выражением, поэтому, если вы указываете константу, возьмите ее в кавычки.
  • Port – порт SQL сервера. При использовании стандартного номера порта, это поле можно оставить пустым.
  • User Name и Password – учетные данные подключения к базе данных. Значения также могут переменными.
  • Statement Type – укажите Scalar, т.к. требуется получить только одно значение из базы – количество записей о пользователе с данным ПИН.
  • Timeout – оставьте по умолчанию 30 сек. или измените, при необходимости.
  • SQL Statement – в этом поле указывается строка запроса к базе данных. Но предварительно добавим параметр в раздел Parameters, который используется в строке запроса. Параметр – это ПИН, введенный пользователем.
  • id – имя переменной, requestPIN.Buffer – значение, т.е. буфер ввода в компоненте User Input (который мы ранее назвали requestPIN)

Теперь введем строку запроса к базе. Используйте небольшую кнопку справа от окна ввода, чтобы вставить значение переменной id. Наша строка имеет вид:

SELECT count(*) FROM customers WHERE id={0}

Окно свойств компонента Database Access должно выглядеть примерно так:

Работа с базами данных в среде разработки 3CX Call Flow Designer - 4

Проверка результата SQL запроса и выбор дальнейших действий

Настроив компонент Database Access, перейдем к проверке ПИН. Для этого добавим компонент Create a Condition с двумя условиями (ветвлениями) – успешная и неуспешная валидация.

Перетащите компонент из левой части и переименуйте в validateDatabaseResult. Переименуйте ветвления в success и error. Окно среды разработки должно выглядеть примерно так:

Работа с базами данных в среде разработки 3CX Call Flow Designer - 5

Чтобы выполнялось ветвление success, запрос к базе данных должен вернуть 1, что означает, то клиент с таким ПИН кодом найден (найдена одна запись). Для этого вручную или с помощью конструктора выражений введем условный оператор:

EQUAL(validatePIN.ScalarResult,1)

image [2]

После того, как вы указали условия для ветвления success, добавьте компоненты Prompt Playback для всех возможных ветвлений голосового приложения: ПИН найден, ПИН не найден и ПИН введен неверно допустимое количество раз (у нас в компоненте User Input Max Retry Count=3). В параметрах компонентов укажите соответствующие WAV файл уведомлений.

После этого в ветвление success добавьте компонент Transfer, который будет переводить вызов на сотрудника. Голосовое приложение будет иметь примерно такой вид:

Работа с базами данных в среде разработки 3CX Call Flow Designer - 7

Компиляция и установка приложения на сервер 3CX

Голосовое приложение готово! Теперь его следует скомпилировать и загрузить на сервер 3CX. Для этого:

  • Перейдите в меню Build > Build All, и CFD создаст файл DatabaseAccessDemo.tcxvoiceapp.
  • Перейдите в интерфейс управления 3CX, в раздел Очереди вызовов. Создайте новую Очередь вызовов, укажите название и добавочный номер Очереди, а затем установите опцию Голосовые приложения и загрузите скомпилированный файл.
  • Сохраните изменения в Очереди вызовов. Голосовое приложение готово к использованию.

Работа с базами данных в среде разработки 3CX Call Flow Designer - 8

Вы можете проверить работу приложения, позвонив на добавочный номер Очереди и введя ПИН для проверки. Если он будет найден в базе данных, вызов будет переведен на оператора.

Загрузки и документация

Автор: 3CX Ltd.

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/postgresql/261425

Ссылки в тексте:

[1] строку подключения к базе данных: https://www.connectionstrings.com/sql-server/

[2] Image: http://igorsnezhko.files.wordpress.com/2017/07/image6.png

[3] 3CX Call Flow Designer: http://downloads.3cx.com/downloads/3CXCallFlowDesigner.exe

[4] Документация 3CX CFD: https://www.3cx.com/docs/manual/cfd-installation/

[5] Источник: https://habrahabr.ru/post/334472/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best