Статья №299
IVR - Фиксировать в БД пропущенные звонки.
Зачастую звонок попавший в Главный сценарий не доходит до конечного пользователя. Данная статья посвящена тому, как не оставить такие звонки без ответа.
Возьмем, к примеру, стандартный главный сценарий.
Необходимо сразу же сделать запись в таблицу о том, что в Главный сценарий попал звонок. Для этого создадим локальную таблицу в разделе Call-центр\Таблицы абонентов с именем Zvonki. Если у вас нет модуля Call-центр, то создайте таблицу используя SQL-менеджер.
Создаем столбцы для дальнейшего заполнения.
В поле phone записываем номер звонившего абонента, Date - текущую дату, Status - состояние звонка(0-попал в IVR, но еще не обработан, 1-вызов был обработан).
Затем в Главном сценарии необходимо выполнить SQL-запрос, который записал бы в таблицу данные о поступившем звонке. Для этого немного изменяем Главный сценарий. Сперва используя компонент "Присвоение" переменной Номер присваиваем значение функции "Номер абонента(CallerID)".
<br/>
Затем необходимо выполнить SQL-запрос. Для этого используем компонент SQL-запрос.
insert into dbo.Zvonki (phone, Date, Status)
values (@phone,getdate(),0)
select @id = @@identity
В качестве параметров(Обращение к БД\вкладка "Параметры") входной переменной phone присваиваем значение переменной "номер", а значение выходной переменной id - присваиваем вновь созданной строковой переменной id.
<br/>
Затем необходимо присвоить значение "1" полю Status, если звонок был обработан. Для этого необходимо после каждого компонента "Переключение на номер", перед компонентом "Стоп" добавить компонент "SQL-запрос", в котором переменной Status будет присвоено значение 1.
update dbo.Zvonki
set Status = 1
where id = @id
В качестве входного параметра id присваиваем значение строковой переменной id.
<br/>
Таким образом все звонки, которые попали в IVR и обработаны пользователями, будут иметь статус "1", остальные( пропущенные, не обработанные и прочие неуспешные) статус "0".
Затем можно будет делать выборку неудачных вызовов по этой таблице. Достаточно вывести все записи со статусом "0".