Плагин HelpDesk
Назначение плагина
Плагин предназначен для работы с клиентами через Web. Клиент в случае возникновения проблемы пишет на сервере статистики (которая может быть доступна ему даже, если у него нет счета ). По запросу клиента создаётся отдельное сообщение и в дальнейшем вся переписка с клиентом по этой проблеме идёт в рамках этого сообщения. Клиент может вести обсуждение с провайдером, прикреплять файлы к обсуждению.
Алгоритм работы
Пользователь заходит на страницу статистики и может создавать новую тему, может оставить сообщение в одну из созданных им тем . Пользователь видит только те, темы, которое созданы от его имени . Провайдер ведёт обсуждение с пользователем.
Активные темы - темы на которые не было ответов со стороны провайдера.
Закрытые темы - темы, по которым обсуждение уже завершено.
Новые темы - темы , которые не помечены как прочитанные.
Менеджеры могут просматривать сообщения от пользователей и отвечать на них . Менеджер может назначить себя ответственным за конкретную тему.
Информация о новых темах и сообщениях рассылается на почту провайдера . Оповещения о новых сообщениях от менеджеров приходят на почту клиента.
Темы могут автоматически закрываться по прошествии некоторого периода.
Опционально можно включить поддержку платных обращений. Она реализуется в пакетном режиме. Пакет - это некоторый набор обращений на определённый срок. Указывается стоимость пакета . Клиент через Web-интерфейс может активировать определённый пакет, если у него на счёте достаточно средств для оплаты этого пакета . При этом ему начисляется расход, равный стоимости пакета .
Установка и настройка плагина
Плагин устанавливается стандартным образом. В настройках плагина (Плагины->HelpDesk->Конфигурация ) задайте конфигурацию :
# папка для хранения вложенных файлов
file.storage.root.path=/home/bill/BGBillingServer/filestorage/helpdesk
# Список режимов для договоров
mode.list=off:выключено;on:включено;package:пакетный
# Режим по умолчанию
mode.default.id=on
# Проверка на присутствие статуса при закрытии темы (не действует, если у договора пакетный режим): 0 - не проверять, 1 - проверять
state.mode=
0
# режим по умолчанию: 0 - отключено; 1 - по телефону; 2 - по e-mail
default.comm.mode=
0
# доступность режима оповещения по телефону (true/false)
default.comm.phone.enable=
false
# доступность режима оповещения по e-mail (true/false)
default.comm.email.enable=
true
# Тема письма с оповещением
default.comm.email.subject=HelpDesk => Опубликован ответ на Ваше сообщение в теме: [{id}] {title}
# Параметр "Закрывать автоматически" по умолчанию при открытии темы (true - да, false - нет)
topic.avto.closed.default=
false
# наименование пункта меню в Web-интерфейсе (опционально)
web.menuItem1=HelpDesk
# код расхода, начисляемого пользователю в непакетном режиме
topic.charge.type.id=
51
# шаблон комментария для расхода по обращению в непакетном режиме
topic.default.comment=Работы по обращению номер {topicId}
# стоимость обращения по умолчанию в непакетном режиме
topic.default.cost=
2000
.
0
Для рассылки оповещений нужно настроить задачу планировщика "Рассылка уведомлений о приходе новых сообщений" для менеджеров. В параметрах запуска задачи надо указать:
#адрес провайдера
mail.to=billing
@zzz
.ru
#шаблон номера договоров, если его задать, то будут присылаться только сообщения из договоров, удовлетворяющих этому шаблону
#contract.title.regexp=
#битовая маска группы договоров, если её задать, то будут присылаться только сообщения из договоров, принадлежащих этим группам
#contract.group.mask=
# тема сообщений о приходе новых сообщений в helpdesk
mail.subject=HelpDesk => Не отвеченные сообщений - {countAll}/{countDay}/{countHour} (всего/сегодня/за час)
# текст сообщения о приходе новых сообщений в helpdesk
mail.body={countAll} - всего не отвеченных\n{countDay} - новых сообщений за сегодня\n{countHour} - новых сообщений за последний час
Для автоматического закрытия старых тем, на которые нет ответов менеджеров, нужно настроить задачу "Автозакрытие тем через заданный интервал". Параметры запуска это задачи :
# через сколько дней после последнего сообщения от пользователя закрывать тему в случае отсутствия сообщений от клиента
topic.avto.closed.period=
5
#куда слать оповещение о закрытых темах
mail.to=billing
@zzz
.ru
Для рассылки персональных оповещений надо настроить задачу "Рассылка персональных уведомлений о новых сообщениях", она позволяет настроить для каждого менеджера уведомления на e-mail и/или на jabber о появлении новых ответов в его теме, а также в темах, которые ещё не закреплены за менеджером. Пример конфигурации:
# В конфигурации задачи можно ставить параметры (шаблоны):
mail.body=Ваши темы:\n{youNews}\nНичейные:\n{unmanagedNews}
mail.subject=HelpDesk => {youCountAll} новых сообщений (и {unmanagedCountAll} новых ничейных)
mail.bodypart={title} (
ID
{id}) - {count} новых\n
# В конфигурации задачи нужно ставить параметр - каким пользователям и куда слать.
user.dimon.mail=dimon
@mail
.ru
user.dimon.jid=dimon
@jabber
.ru
user.test1.mail=test1
@bitel
.ru
user.test2.jid=test2
@jabber
.ru
Для того, чтобы работали оповещения на jabber, в конфигурации СЕРВЕРА должны быть прописаны данные jabber-аккаунта (бота), например:
# Параметры jabber
# логин@сервер/ресурс
jabber.jid=bgbilling
@jabber
.***.ru/helpdesk
# пароль
jabber.password=***
Также есть "Рассылка персональных уведомлений о новых сообщениях" и у клиентов. При выборе уведомления по e-mail в конфигурации плагина следует добавить url сервера биллинга, чтобы в письмо добавлялась ссылка на топик. Пример конфигурации:
url.reference.topic=http://localhost:
9580
/bgbilling/webexecuter?
Можно, чтобы при создании темы пользователь выбрал дополнительную информацию которая подставиться к названию темы в квадратные скобки( тогда название темы будет иметь следующий вид - [выбор пользователя] Название темы )
# Описание выбора
topic.additionalTextToSubject.title=Версия биллинга:
# Варианты выбора через запятую
topic.additionalTextToSubject.options=
5
.
1
,
5
.
2
,
6
.
0
,
6
.
1