|
3CX Voice Application Designer (VAD) позволяет получить доступ к базам данных, таким как SQL Server, Oracle и БД доступные через ODBC, например MySQL.
Подготовка
Для начала необходимо установить ODBC драйвер для MySQL. Его можно скачать с официального сайта - ODBC Driver for MySQL (Connector / ODBC): http://www.mysql.com/products/connector/.
После установки переходим к созданию System DSN.
Создание System DSN
Чтобы Веб-сервер (IIS или Abyss), который используется с 3CX Phone System, смог иметь доступ к базе данных когда это потребуется приложению VAD, ODBC должна быть создана как System DSN.
Для создания System DSN перейдите в Start -> Administrative Tools -> Data Sources (ODBC) ии выберите вкладку System DSN. Нажмите Add и выберите драйвер MySQL ODBC 5.1 Driver. После этого нажмите Finish и укажите имя DataSource и другую информацию для подключения к БД.

Создание приложения с VAD
Для начала создайте новый проект. Откройте VAD и перейдите в меню File -> New -> Project, выберите имя проекта и папку для сохранения. В нашем случае проект будет называться MySqlTest.
Наше приложение будет запрашивать Код Клиента и проверять его по базе MySQL. Для ввода цифр будет использоваться компонента User Input, перетащите ее из панели инструментов на рабочую область Callflow и переименуйте в requestPIN. Укажите сообщение, которое будет проигрываться при запросе ПИН-кода. У нас Код Клиента будет содержать 10 цифр. Укажите в параметрах MaxDigits и MinDigits - 10.

Когда пользователь вводит корректный код из 10 цифр, выполнения сценария пойдет по ветви Valid Input. Теперь необходимо проверить введенный код. Чтобы это сделать используется компонента Database Access перетащите ее на рабочую область и расположите следом за Valid Input. Переименуйте в validatePIN и дважды кликните для запуска Мастера Настройки. Заполните следующие поля:
-
Database Type - ODBC.
-
DataSource - укажите имя которое было использовано при создании System DSN. Обратите внимание, что это поле содержит выражение и значение нужно вводить в одинарных кавычках.
-
В полях User Name и Password укажите имя пользователя и пароль для соединения с базой данных. Значения вводятся в одинарных кавычках.
-
Значение поля Statement Type поставьте Scalar т.к. мы хотим получить из БД одно значение.
-
30 секунд, значение тамаута можно оставить или поменять, если это необходимо.
-
Перед заполнением поля SQL Statement , необходимо добавить параметр в список Parameters: ПИН-код введенный пользователем. Это будет использовано позже при написании SQL-запроса. Укажите в качестве наименования CustomerPIN , значение - requestPIN.Buffer , это цифры введенные пользователем.
-
Теперь сформируем SQL -запрос для поиска информации в базе данных, делается это в полеe SQL Statement. Для того чтобы вставить значение CustomerPIN используете кнопку справа. Выражение будет следующим: select count(*) from customers where id={0}

Теперь, когда подключение к БД настроено, необходимо сделать верификацию введенного кода. Для его используется компонент Conditional, который имеет 2 ветви, одна срабатывает при успешной проверки, вторая при неверном коде.
Перетащите компонент на рабочую область и укажите в качестве наименования для него validateDatabaseResult. Теперь переименуйте ветви как success и error соответственно. Рабочая область в итоге должна выглядеть так:

Чтобы сработала ветвь success БД должна вернуть значение 1, это означает что звонящий ввел верный код, зададим условие для проверки:
EQUAL(validatePIN.ScalarResult,1)
Теперь остается только добавить записи об успешном или не успешном вводе ПИН-кода и переадресацию на оператора.

|