- PVSM.RU - https://www.pvsm.ru -
В этой статье мы расскажем, как делать запросы к базе данных 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.
ПИН пользователя запрашивается с использованием компонента User Input. Добавим компонент в голосовое приложение:
После получения ПИН от пользователя, его следует проверить в базе данных. Для этого добавим компонент Database Access в ветвление компонента Valid Input, предполагающее верный ввод. Переименуйте компонент в validatePIN и дважды кликните на нем, чтобы установить свойства:
Теперь введем строку запроса к базе. Используйте небольшую кнопку справа от окна ввода, чтобы вставить значение переменной id. Наша строка имеет вид:
SELECT count(*) FROM customers WHERE id={0}
Окно свойств компонента Database Access должно выглядеть примерно так:
Настроив компонент Database Access, перейдем к проверке ПИН. Для этого добавим компонент Create a Condition с двумя условиями (ветвлениями) – успешная и неуспешная валидация.
Перетащите компонент из левой части и переименуйте в validateDatabaseResult. Переименуйте ветвления в success и error. Окно среды разработки должно выглядеть примерно так:
Чтобы выполнялось ветвление success, запрос к базе данных должен вернуть 1, что означает, то клиент с таким ПИН кодом найден (найдена одна запись). Для этого вручную или с помощью конструктора выражений введем условный оператор:
EQUAL(validatePIN.ScalarResult,1)
После того, как вы указали условия для ветвления success, добавьте компоненты Prompt Playback для всех возможных ветвлений голосового приложения: ПИН найден, ПИН не найден и ПИН введен неверно допустимое количество раз (у нас в компоненте User Input Max Retry Count=3). В параметрах компонентов укажите соответствующие WAV файл уведомлений.
После этого в ветвление success добавьте компонент Transfer, который будет переводить вызов на сотрудника. Голосовое приложение будет иметь примерно такой вид:
Голосовое приложение готово! Теперь его следует скомпилировать и загрузить на сервер 3CX. Для этого:
Вы можете проверить работу приложения, позвонив на добавочный номер Очереди и введя ПИН для проверки. Если он будет найден в базе данных, вызов будет переведен на оператора.
Автор: 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
Нажмите здесь для печати.