Подробнее о получении данных в сценарии IVR
База данных клиентов ведется во внешней программе для call-центра, которая использует в качестве СУБД MS SQL сервер. Данные о клиентах и их персональных менеджерах лежат в таблице dbo.tbClients в базе данных Client_DB. Таблица dbo.tbClients имеет длинный список полей, но нас интересуют только следующие:
id – внутренний целочисленный уникальный идентификатор клиента
cName – строковое, наименование клиента
cManager – строковое, ФИО персонального менеджера (если задан)
cPhone – строковое, номер телефона клиента
cManagerPhone – строковое, внутренний телефон персонального менеджера (если задан)
cManagerMobile – строковое, мобильный телефон персонального менеджера (если задан)
cCategory – строковое, маркетинговая категория абонента (если задана)
Регистрация внешней базы данных Client_DB производится в «Infinity Call-центр X» по процедуре, описанной в разделе документации Интеграция с базами данных.
Данные клиента определяются на основе простого SQL запроса:
SELECT top 1 [cName], [cManager], [cManagerPhone], [cManagerMobile], [cCategory]
FR OM [Client_DB].[dbo].[tbClients] wh ere [cPhone]=:cPhone
Данным запросом выбирается первая строка из таблица [dbo].[tbClients] в которой поле [cPhone] совпадает с переменной cPhone.
Внимание! Все входные переменные запроса вне зависимости от синтаксиса языка SQL базы данных обозначаются через знак двоеточие перед переменной.
Фрагмент сценария с запросом к базе данных будет выглядеть так: сначала объявляем строковые переменные cName, cManager, cManagerPhone, cManagerMobile, cCategory и задаем им начальное значение «пустая строка».
После чего ставим компонент "SQL запрос", двойным щелчком мыши активируем его свойства и в свойствах запроса указываем, что будем использовать SQL запрос, в качестве базы данных выбираем зарегистрированную базу Client_DB_MSSQL, а в тело самого запроса пишем наш SQL, запрос, не забывая поставить перед входным параметром двоеточие:
После проверки запроса в компоненте появится перечень переменных, которым задаем значения переменных:
Входному параметру [phone] задаем значение функции АОН(), а выходным параметрам ставим в соответствие переменные сценария cName, cManager, cManagerPhone, cManagerMobile, cCategory.
Общий вид фрагмента сценария выглядит так:
В компоненте "Информация о звонке" записываем в карточку вызова полученные данные.
В итоге после выполнения данного фрагмента сценария у нас в переменные сценария попадут соответствующие значения из таблицы клиентов для данного телефонного номера или останется пустота, если совпадений строки с таким номером телефона в таблице не будет.