# О плагине

Плагин позволяет отправлять уведомления по событиям в системе в поддерживаемые мессенджеры. Пользователь самостоятельно может подписаться или отписаться на уведомления. Все сообщения отправляются приватно.

# Возможности

* Отправка уведомлений всем пользователям, подписанным на уведомления
* Мгновенная доставка уведомлений
* Поддержка различных мессенжеров:
  - Telegram
  - Slack
  - Viber
  - Vk.com (сбор заявок)
* Поддержка шаблонов для каждого типа события
* Редактор шаблонов с возможностью вставки тэгов для замены
* Ведение лога отправленных сообщений

#Бот для Telegram <i class="icon-paper-plane blue"></i>

1. На вкладке "Справка" **подключите все или только необходимые события** к системе WebHook (для CRM)
2. **Зарегистрируйте бота**:
 - в Telegram ([https://tlgrm.ru/docs/bots](https://tlgrm.ru/docs/bots "Инфо по ботам в Telegram"))
3. **Подключим бота к плагину** на вкладке "Боты, Пользователи"
 - Достаточно указать тип бота и Secret Key
 - Далее нажмем "Проверить" - в случае успешного подключения будут заполнены поля "Bot ID" и "Имя бота"
 - После сохранения бота можно узнать состояние подключения Webhook с помощью ссылки "Инфо" в колонке "Действия"
4. **Добавляем сотрудников**, которому будет доступна возможность получать уведомления
 - Заполненное поле "User ID" дает плагину понять, что сотрудник подписан на уведомления
 - Поле "User ID" можно не заполнять, оно будет заполнено при первом подключении сотрудника к боту
 - Уведомления будут получать только активные пользователи CRM

> ### Для сведения
> Все манипуляции с ботами осуществляются через **@BotFather**. Для получения информации по всем своим ботам используйте команду **/mybots**

### Подписка на уведомления и отписка

Пользователь будет подписан на уведомления через Webhook Telegram сразу после ввода команды "**/start**", т.е. после подключения к боту.

Для отключения уведомлений необходимо набрать команду "**/stop**"


> ### Важно для функционирования
> 
> * Адрес скрипта для подключения Webhook в Telegram: {{telegramHookUrl}}
> * Регистрация Webhook проводится в момент сохранения настроек бота автоматически.
> * Самоподписанные сертификаты не поддерживаются Telegram (рекомендуем использовать сертификаты от Let’s Encrypt).
> * На текущий момент отправка обновлений через вебхуки доступна только на эти порты: 443, 80, 88, 8443
> * Webhook используется только для реализации функции "Свой - Чужой"



# Бот для Slack <i class="icon-slack red"></i>

1. На вкладке "Справка" **подключите все или только необходимые события** к системе WebHook (для CRM)
2. **Создайте приложение**:
 - Создадим приложение в Slack - [https://api.slack.com/apps/new](https://api.slack.com/apps/new "Инфо")
 - **Вариант 1:**
 	 - В разделе "Install App" подключим команду к приложению и получим "Bot User OAuth Access Token" (Secret Key)
 	 - В разделе "Bot Users" добавим пользователя-бота
 - **Вариант 2:**
     - Добавим бота - [https://my.slack.com/services/new/bot](https://my.slack.com/services/new/bot "Создание бота")
     - Получим "API Token" (Secret Key) для бота
3. **Подключим бота к плагину** на вкладке "Боты, Пользователи"
 - Достаточно указать тип бота и Secret Key (Bot User OAuth Access Token)
 - Далее нажмем "Проверить" - в случае успешного подключения будут заполнены поля "Bot ID" и "Имя бота"
 - Нажимаем "Сохранить" и переходим к добавлению сотрудников
4. **Добавляем сотрудников**, которым плагин будет отправлять уведомления
 - В поле "Username" указываем имя сотрудника в Slack (без знака @) либо..
 - ..Сотрудник может создать спец.канал для получения уведомлений из CRM. В этом случае следует указать имя канала
 - В поле "User ID" можно не заполнять
 - Уведомления будут получать только активные пользователи CRM
 
# Бот для Viber <i class="icon-whatsapp fiolet"></i>

1. **Зарегистрируемся в Админ-панели** - [https://partners.viber.com/login](https://partners.viber.com/login "Инфо"). После регистрации мы попадем в панель и сможем создавать ботов
2. **Добавим бота** с помощью кнопки **Create Bot Account**
  - добавим аватар бота
  - укажем необходимую информацию
  - принимаем соглашение
  - жмем кнопку "Create"
  В результате мы получим Token такого вида -  **4875a8xxxx-d949xxxxx-463xxx**
3. **Подключим бота к плагину** на вкладке "Боты, Пользователи"
 - Достаточно указать тип бота и Secret Key
 - Далее нажмем "Проверить" - в случае успешного подключения будут заполнены поля "Bot ID" и "Имя бота"
 - Сохраняем данные


> ### Важно для функционирования
> 
> * Адрес скрипта для подключения Webhook в Viber: {{viberHookUrl}}
> * Webhook используется только для реализации функции "Свой - Чужой"
> * Адрес для Webhook должен обеспечиваться модулем Apache Mod_Rewrite
> * Регистрация Webhook проводится в момент сохранения настроек бота автоматически.
> * Самоподписанные сертификаты не поддерживаются Viber (рекомендуем использовать сертификаты от Let’s Encrypt).
> * На текущий момент отправка обновлений через вебхуки доступна только на эти порты: 443, 80, 88, 8443


### Подписка на уведомления и отписка

Для получения уведомлений каждый сотрудник должен самостоятельно пройти авторизацию Плагина - сопоставить пользователя Viber и пользователя SalesMan CRM. Для этого:

1. Предоставьте сотруднику ссылку на бота
2. Сотрудник подключается к боту и указывает либо Логин от CRM, либо Email, либо номер мобильного, указанного в личных настройках
3. Сотрудник подписан

> ### Важно
> - Отправка уведомлений производится только активным сотрудникам, т.е. если пользователь деактивирован, то никаких уведомлений он получать не будет.
> - Пользователя можно заблокировать в пределах плагина (без деактивации в CRM)

# Доступ к управлению плагином

По умолчанию доступ к настройкам плагина имеют ВСЕ администраторы. Для ограничения доступа конкретным сотрудникам необходимо провести настройки в разделе "Доступы".

> ### Важно
> Доступ к плагину предоставляет ВСЕ возможности по управлению его настройками без ограничения функционала

# Работа с шаблонами

Формирование сообщений происходит с использованием шаблонизатора Mustache ([http://mustache.github.io/mustache.5.html](http://mustache.github.io/mustache.5.html "Manual")) и набора специальных тегов.

* Шаблонами можно управлять на вкладке "Шаблоны"
* Поддерживается один шаблон для каждого события
* Поддерживается вставка спец.тэгов
* Для каждого события предоставляется свой набор тэгов, который будет доступен после выбора события


> ### <h3 class="red">Важно</h3>
> * Если для события отсутствует шаблон, то оно будет игнорироваться, даже если WebHook активен
> * Тег {{{comments}} содержит расширенную информацию, которая отличается для каждого события
> * Большинство ботов не поддерживают html в сообщениях, либо поддерживают его на минимальном уровне