Отправка записей разговоров на e-mail — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 19: Строка 19:
  
 
Компонент "'''Старт 1'''" - в качестве параметра запуска переменная '''content''' (строковая). В этой переменной будет храниться контент цепочки коммутаций.
 
Компонент "'''Старт 1'''" - в качестве параметра запуска переменная '''content''' (строковая). В этой переменной будет храниться контент цепочки коммутаций.
 +
  
 
Компонент "'''Вывод контента'''" - отладочное уведомление, выводит переменную '''content'''.
 
Компонент "'''Вывод контента'''" - отладочное уведомление, выводит переменную '''content'''.
 +
  
 
Компонент "'''Количество коммутаций'''" - Парсер, определяет количество коммутаций с операторами (исключает соединение с IVR-сценариями).  
 
Компонент "'''Количество коммутаций'''" - Парсер, определяет количество коммутаций с операторами (исключает соединение с IVR-сценариями).  
Строка 33: Строка 35:
  
 
Если парсер не находит таких коммутаций, он переходит по ветке "Ошибка". Так как в сценарии специально не задается обработка ошибки, то сценарий просто заканчивает свое выполнение.  
 
Если парсер не находит таких коммутаций, он переходит по ветке "Ошибка". Так как в сценарии специально не задается обработка ошибки, то сценарий просто заканчивает свое выполнение.  
 +
  
 
Компонент "'''Ув1'''" - отладочное уведомление, выводит переменную '''com_count'''.
 
Компонент "'''Ув1'''" - отладочное уведомление, выводит переменную '''com_count'''.
 +
  
 
Компонент "'''Счетчик'''" - присвоение переменной '''i''' (строковая) значения '''1''' (строка).
 
Компонент "'''Счетчик'''" - присвоение переменной '''i''' (строковая) значения '''1''' (строка).
 +
  
 
Компонент "'''Id записи'''" - парсер, определяет i-й Id коммутации, по которой в дальнейшем восстанавливается путь к файлу записи. Счетчик i в дальнейшем инкрементируется, таким образом пробегаются все коммутации клиента с операторами.
 
Компонент "'''Id записи'''" - парсер, определяет i-й Id коммутации, по которой в дальнейшем восстанавливается путь к файлу записи. Счетчик i в дальнейшем инкрементируется, таким образом пробегаются все коммутации клиента с операторами.
Строка 71: Строка 76:
 
где  
 
где  
  
'''@filename''' - переменная file (строковая)
+
*'''@filename''' - переменная file (строковая)
'''@id''' - переменная id.
+
*'''@id''' - переменная id.
 +
 
  
 
Компонент "Вывод пути" - отладочное уведомление, выводит переменную file.  
 
Компонент "Вывод пути" - отладочное уведомление, выводит переменную file.  
 +
  
 
Компонент "file?" - Компонент меню производит циклическую запись в переменные file1, file2, file3, file4 и file5.  
 
Компонент "file?" - Компонент меню производит циклическую запись в переменные file1, file2, file3, file4 и file5.  
Строка 94: Строка 101:
  
 
Компонент "'''Обнуление имени файла'''" - переменной "'''file'''" присваивается пустая строка.  
 
Компонент "'''Обнуление имени файла'''" - переменной "'''file'''" присваивается пустая строка.  
 +
  
 
Компонент "'''i++'''" - переменной '''i''' присваивается выражение "'''[i]+1'''"
 
Компонент "'''i++'''" - переменной '''i''' присваивается выражение "'''[i]+1'''"
 +
  
 
Компонент "'''Проверка на завершение'''" - значение счетчика '''i''' после инкремента сравнивается с количеством коммутаций '''com_count'''.  
 
Компонент "'''Проверка на завершение'''" - значение счетчика '''i''' после инкремента сравнивается с количеством коммутаций '''com_count'''.  
Строка 105: Строка 114:
  
 
Если '''ложь''', то переход на компонент "'''Ув2'''" и в дальнейшем на отправку электронного письма.
 
Если '''ложь''', то переход на компонент "'''Ув2'''" и в дальнейшем на отправку электронного письма.
 +
  
 
Компонент "'''Ув2'''" - отладочное уведомление, показывает значения переменных '''file1'''..'''file5'''.  
 
Компонент "'''Ув2'''" - отладочное уведомление, показывает значения переменных '''file1'''..'''file5'''.  
 +
  
 
Компонент "'''Количество вложений'''" - нужен для того, чтобы правильно задать отправку e-mail письма. Если имеется 1 коммутация, то прикрепляется только переменная '''file1'''; если 4 коммутации, то соответственно настраиваются 4 вложения. Если коммутаций 5 и больше, то отправляются 5 вложений.
 
Компонент "'''Количество вложений'''" - нужен для того, чтобы правильно задать отправку e-mail письма. Если имеется 1 коммутация, то прикрепляется только переменная '''file1'''; если 4 коммутации, то соответственно настраиваются 4 вложения. Если коммутаций 5 и больше, то отправляются 5 вложений.
 +
  
 
Компоненты отправка e-mail настраиваются одинаковым образом:  
 
Компоненты отправка e-mail настраиваются одинаковым образом:  

Версия 11:35, 19 февраля 2014

Наверх

Задача: Отправить записи разговора клиента с операторами на почту. Учесть переключения клиента между операторами.

Руководителям всех отделов, подразделений и целых предприятий бывает полезно знать как их сотрудники общаются с клиентами, верно ли они преподносят информацию о продукте, правильно ли предлагают услуги. Если не контролировать этот процесс, лояльность ваших клиентов, и их отношение к организации в целом, может упасть.

Отследить качество клиентского обслуживания и разрешить спорные ситуации, возникающие при телефонных контактах с клиентами, поможет прослушивание аудиозаписей телефонных разговоров. В Oktell все разговоры сотрудников с клиентами записываются по умолчанию.

Вы так же можете настроить автоматическую отправку отчета о разговорах на вашу электронную почту. В тексте письма вы получите дату и время звонка, имя оператора, продолжительность разговора, номер телефона клиента и его оценку разговора.

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

В таких крайних случаях крайне важно понять, почему клиент недоволен и поставил низкую оценку. Учитывая, что в компаниях клиента могут переключать от одного оператора к другому, требуется восстановить всю последовательность разговоров - от первой коммутации с секретарем до последней коммутации с ответственным оператором.

Создание сценария

Для решения задачи используется сценарий обработки контента. Сценарий выглядит следующим образом:


Компонент "Старт 1" - в качестве параметра запуска переменная content (строковая). В этой переменной будет храниться контент цепочки коммутаций.


Компонент "Вывод контента" - отладочное уведомление, выводит переменную content.


Компонент "Количество коммутаций" - Парсер, определяет количество коммутаций с операторами (исключает соединение с IVR-сценариями).

  • Документ - переменная content
  • Алгоритм - Язык OQuery для HTML
  • Поисковый запрос - используется следующее выражение:
commutation:has([name=abonent])>[key=idconnection]
  • Функция - Количество элементов
  • Результат в переменную - переменная com_count (число). В переменной будет храниться количество коммутаций.

Если парсер не находит таких коммутаций, он переходит по ветке "Ошибка". Так как в сценарии специально не задается обработка ошибки, то сценарий просто заканчивает свое выполнение.


Компонент "Ув1" - отладочное уведомление, выводит переменную com_count.


Компонент "Счетчик" - присвоение переменной i (строковая) значения 1 (строка).


Компонент "Id записи" - парсер, определяет i-й Id коммутации, по которой в дальнейшем восстанавливается путь к файлу записи. Счетчик i в дальнейшем инкрементируется, таким образом пробегаются все коммутации клиента с операторами.

  • Документ - переменная content
  • Алгоритм - Язык OQuery для HTML
  • Поисковый запрос - используется следующее выражение:
'commutation:has([name=abonent])>[key=idconnection]:eq('+[i]+')'
  • Функция - Значение атрибута
  • Атрибут - value
  • Результат в переменную - переменная id (строковая). В переменной будет храниться id коммутации.

Компонент "Путь к файлу" - В SQL-запросе явно прописывается в какой папке располагаются записи разговоров. Рекомендуется проверить запрос на предмет использования в вашей системе (возможно, стоит убрать (x86)). Используется следующий SQL-запрос:

declare @aln nvarchar(10)
declare @bln nvarchar(10)
declare @idrecdir int
declare @ts nvarchar(50)
declare @path nvarchar(1000)
select top 1 @aln=case when alinenum<blinenum then alinenum else blinenum end,
@bln=case when blinenum>alinenum then blinenum else alinenum end,
@idrecdir=idrecdir, 
@ts=replace(convert(nvarchar(10), TimeStart, 121),'-','_')+'__'+
replace(convert(nvarchar(20), TimeStart, 114),':','_') from A_Stat_Connections_1x1
where Id=@id and isrecorded=1
set @path='C:\Program Files (x86)\oktell\Server\RecordedFiles\'
if (@idrecdir>0)
select @path=path from A_Stat_RecordDirectories where id=@idrecdir
set @filename=@path+replace(substring(@ts, 1, 10),'_',)+'\'+substring(@ts, 13, 2)
+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'.mp3'

где

  • @filename - переменная file (строковая)
  • @id - переменная id.


Компонент "Вывод пути" - отладочное уведомление, выводит переменную file.


Компонент "file?" - Компонент меню производит циклическую запись в переменные file1, file2, file3, file4 и file5.

Пояснение: Все записи разговоров требуется отправить в компоненте Отправка Email. Компонент поддерживает до 5 вложений и эти вложения необходимо каким-либо образом указывать. Поэтому используются 5 строковых переменных file1...file5, в каждую из которых в ходе цикла записывается путь к записи разговора. Путь к первой записи разговора (i=1) будет записан в переменную file1, путь к пятой (i=5) в file5. Путь к шестой записи разговора будет перезаписан в переменную file1 и так далее. Таким образом при отправке электронного письма, к нему будут прикреплены последние пять коммутаций клиента.

У компонента используются следующие настройки:

  • Аргумент - выражение "[i]%5". Выражение возвращает остаток от деления переменной i на 5.
  • Значения - 0, 1, 2, 3, 4.

В зависимости, от остатка путь, содержащийся в переменной file будет записываться следующим образом:

  • по ветке 0 - путь записывается в переменную file5 (т.к. это выполнится при i=5, 10...)
  • по ветке 1 - путь записывается в переменную file1
  • по ветке 2 - путь записывается в переменную file2
  • по ветке 3 - путь записывается в переменную file3
  • по ветке 4 - путь записывается в переменную file4

Компонент "Обнуление имени файла" - переменной "file" присваивается пустая строка.


Компонент "i++" - переменной i присваивается выражение "[i]+1"


Компонент "Проверка на завершение" - значение счетчика i после инкремента сравнивается с количеством коммутаций com_count.

  • Аргумент 1 - переменная i
  • Аргумент 2 - переменная com_count
  • Тип сравнения - <=

Если правда, то производится еще одна итерация. Переход на компонент Id записи.

Если ложь, то переход на компонент "Ув2" и в дальнейшем на отправку электронного письма.


Компонент "Ув2" - отладочное уведомление, показывает значения переменных file1..file5.


Компонент "Количество вложений" - нужен для того, чтобы правильно задать отправку e-mail письма. Если имеется 1 коммутация, то прикрепляется только переменная file1; если 4 коммутации, то соответственно настраиваются 4 вложения. Если коммутаций 5 и больше, то отправляются 5 вложений.


Компоненты отправка e-mail настраиваются одинаковым образом:

  • Способ отправки - настраивается smtp-сервер, данные для авторизации.
  • Кому - адрес получателя
  • От кого - адрес отправителя
  • Тема, Содержание письма - генерируется соответствующая информация. В содержании письма можно указать с какого номера на какой номер звонил клиент, сколько времени ожидал на линии, с какими операторами разговаривал. В данном сценарии не рассматривается.
  • Вложение 1..Вложение 5 - указываются соответствующие переменные file 1... file 5.

От каждого компонента по ветке Ошибка сценарий переходит на уведомление администратору. В случае успешной отправки, сценарий заканчивается.