Настройка способов уведомлений
Настройка уведомлений
Для отправления уведомлений можно добавить разные типы уведомлений с указанием алгоритма, который будет использоваться для отправления данных.
Один и тот же алгоритм можно использовать с разными настройками для уведомлений.
При добавлении нового способа уведомлений необходимо указать тип и алгоритм отправления. После выбора алгоритма уведомлений необходимо указать дополнительные настройки для алгоритма.
Для каждого способа уведомлений можно указать признак "Отправлять всегда". При данной отметке уведомление будет отправлено сразу игнорирую очередь на отправление уведомлений.
Некоторые алгоритмы не поддерживают подтверждение о доставке. Для них необходимо указать признак "Без подтверждения". Если данный признак не указан, то по достижению значения "Время жизни" будет установлен признак что сообщение не доставлено и будет вызван следующий алгоритм уведомлений.
При указании признака "Без подтверждения" признак о доставке сообщения будет установлен после успешного отправления сообщения.
Время жизни указывает срок ожидания подтверждения о доставке. Если сообщение не было доставлено в указанный период, то данное уведомление будет отмечено как недоставленное и будет произведена попытка отправить следующее уведомление.
После добавления нового способа уведомления необходимо отметить список событий, при возникновении которых будет происходить уведомление заявителя выбранным алгоритмом.
Уведомления через электронную почту
Для настройки алгоритма необходимо указать данные для подключения к серверу отправления почты и настроить список событий, которые будут вызывать выполнение данного алгоритма.
Уведомление через Kannel
Для настройки необходимо указать полный адрес сервиса Kannel. Номер телефона заменить меткой $phone сообщение $message.
Уведомление через CMD
Для настройки необходимо указать команду CMD. Номер телефона заменить меткой $phone сообщение $message.
Списки для ЦТО
Для настройки необходимо выбрать тип "Списки для ЦТО" с единственным алгоритмом "Формирование списков для ЦТО"
Отправка SMS через оператора
При необходимости отправлять SMS сообщения можно выбрать один из доступных сервисов для отправления. Указать логин и пароль для доступа и имя отправителя (если его поддерживает сервис)
После настройки нового механизма настройки из раздела Настройки-Отправка сообщений заявителю будет игнорироваться и из интерфейса пропадет возможность настраивать отправление СМС.
Автообзвон через call center
Добавлена возможность настроить автообзвон через call центры.
Уведомления через VK
Существуют два способа отправления сообщений через сервис ВКонтакте.
- Использование универсальных шаблонов для уведомления
- Использование уникальных шаблонов для каждого события
Универсальные шаблоны для уведомления
Для использования универсальных шаблонов нужно включить соответствующую настройку и при необходимости указать имена шаблонов для уведомления. По умолчанию система будет использовать имя nofiy
и notify_vashkontrol
. Если не включена возможность использования универсальных шаблонов, то система будет отправлять уведомления только по событиям у которых указано имя шаблона в стороннем сервисе на форме "Персональные шаблоны для алгоритмов".
Для работы уведомления необходимо создать два шаблона.
Один универсальный шаблон и второй шаблон с кнопкой для оценки качества (при необходимости).
Текст шаблона должен быть примерно таким. Здравствуйте #name#! По вашему обращению в МФЦ #order# поступило новое уведомление №#notify#: #message#
name и order возможно не будут заполняться. В метку #message#
будет вставлен сформированный системой текст уведомления.
Второй шаблон с кнопкой для оценки качества. Имя метки с адресом сервис по оценке качества можно посмотреть в разделе Список меток
на форме ШАБЛОНЫ СООБЩЕНИЙ ДЛЯ СОБЫТИЙ
Отправление текстовых уведомлений из раздела Тестирование настройки
будет работать только если включен механизм универсальных шаблонов для уведомления.
Использование персональных имен шаблонов
При редактировании персонального шаблона для ВКонтакте можно указать имя шаблона в стороннем сервисе. Это дает возможность на стороне ВКонтакте создать для каждого события персональный шаблон и отправлять одну метку #message#
с готовым текстом уведомления, а весь набор меток и из значений в соответствии с формой Список меток
в разделе Шаблоны сообщений для событий
. При этом необходимо учитывать принципы формирования имени шаблона с учетом оценки качества через сервис ВашКонтроль.
Документация https://notify.mail.ru/ на основании которой был разработан адаптер для работы с сервисов уведомлений ВКонтакте.
ВКонтакте может вернуть статус UNSUPPORTED_TEMPLATE
если в шаблоне ВКонтакте были указаны метки, которые не формируются или не передаются при отправлении уведомления.
Добавление кнопок для вызова сервисов в чат боте
Для вызова сервисов чат боте ВКонтакте можно добавить кнопки в сообщениях.
Для этого необходимо в шаблоны с уведомлениями добавить кнопки и в значении payload
указать json с названием сервиса, который необходимо запустить при нажатии на кнопку. Пример json строки "{\"new\":\"case-status\"}"
. Список доступных названий сервисов для вызова можно посмотреть в списке сервисов в боте. Часть сервисов возможно будет доступна только после входа в личный кабинет (подтверждения номера телефона).
Бизнес уведомления должны передать идентификатор сообщения при первом нажатии на одну из кнопок. При этом чат бот свяжет уведомление которое было отправлено и аккаунт пользователя. При этом если пользователь в боте не авторизован (не входил в личный кабинет) автоматически свяжет чат бота и номер телефона, на который было отправлено уведомление.
Для корректной работы бота необходимо в настройках шаблона указать параметр принимать от пользователей ответные сообщения
. Иначе не будет вызван бот для отработки переданного сообщения. При этом бизнес уведомления будут приходить в чат сообщества, а не в раздел с бизнес уведомлениями.
Отправление ссылки на оценку качества через сервис ВашКонтроль
Существует возможность добавить в уведомление ссылку для оценки качества через сервис ВашКонтроль. Для этого необходимо в персональные шаблоны для алгоритмов
вставить метку $$$UrlОценкаВашКонтроль$$$
. В момент формирования сообщения будет произведена проверка дела на возможность оценки качества через сервис ВашКонтроль.
Чтобы ссылка была вставлена должны совпасть следующие условия:
- У подразделения указан код МКГУ и секрет МКГУ
- У услуги в разделе "КОДЫ ФРГУ" должен быть указан идентификатор услуги
- У организации исполнитель должен быть указан ID организации в ФРГУ
- В общих настройках МФЦ необходимо указать адрес сервиса ВашКонтроль (Необходимо указать путь до сервиса оценки качества в аналогичном формате https://178.185.193.193/vashkontrol/vk-evaluate. Данный адрес тестового стенда.)
Если все поля указаны, при формировании персонального сообщения метка $$$UrlОценкаВашКонтроль$$$
будет заменена на адрес для оценки качества.
Метка для оценки качества формируется только на событиях Исполнено дело
и Исполнено дело (нет выдачи)
.
Если метка $$$UrlОценкаВашКонтроль$$$
сформирована и указано имя шаблона в стороннем сервисе на форме "Персональные шаблоны для алгоритмов", то к имени шаблона в момент отправления уведомления будет добавлен текст _vashkontrol
. Обязательно учитывайте эту особенность при добавлении шаблонов в ЛК для событий, которые формируют ссылку на оценку качества.
Принципы формирования адреса:
https://178.185.193.193/vashkontrol/vk-evaluate?unitId=3634&responsibleOrg=10001752052&serviceId=332009203&clientId=79611628774&hash=EDC3AABFABDCB31A4E6B4CB63D1089D4
Описание атрибутов:
unitID - идетнификатор МФЦ
responsibleOrg - код ФРГУ организации, предоставившей услугу
serviceId - код ФРГУ услуги
clientId - номер телефона заявителя
hash = md5(unitId + serviceId + clientId + secret)
secretKey = testKey
Работа системы
Выполнение задач происходит в фоновом режиме с использованием очередей. Для выполнения всех задач необходимо запустить команду php artisan queue:work
. При возникновении ошибки программу надо запускать повторно. Рекомендация запускать обработку очередей через supervisor (https://laravel.ru/docs/v5/queues#supervisor)
Кроме выполнения задач необходимо настроить запуск планировщика Laravel. Для этого необходимо добавить вызов artisan команды schedule:run
Пример для Cron
* * * * * php /path/to/artisan schedule:run >>/dev/null 2>&1
Планировщик проверяет какие сообщения еще не были отправлены и формирует задачи для отправления уведомлений.