...
Создать домен Slack domain.slack.com, завести в нём пользователя, авторизоваться.
Создать приложение Slack с ClientID и ClientSecret
В секции OAuth Settings указать любой действительный URL.Выполнить запрос:
https://slack.com/oauth/authorize?client_id=ClientID&scope=channels:history channels:read channels:write users:read groups:read groups:write groups:history chat:write:user chat:write:bot
Будет запрошено подтверждение на доступ под текущим пользователем, после согласия выполнен редирект на адрес URL/oauth?code=CODE- Выполнить запрос:
https://slack.com/api/oauth.access?code=CODE&client_id=ClientID&client_secret=ClientSecret
Результат должен быть вида: {"ok":true,"access_token":"TOKEN","scope":".. Сохраните полученный TOKEN, он необходим для настройки BGCRM.
Настройка BGCRM
Создать текстовый параметр пользователя для сохранения логина Slack.
...
Блок кода | ||
---|---|---|
| ||
messageType.<id>.title=<title> messageType.<id>.class=ru.bgcrm.plugin.slack.dao.MessageTypeChannel messageType.<id>.authToken=<token> # необязательные параметры messageType.<id>.accountParamId=<slackLoginParamId> messageType.<id>.messageExtractJexlstringExpressionMessageExtract=<jexl> |
Параметры, отличные от прочих типов сообщений:
- <token> - TOKEN авторизации, сохранённый ранее;
- <slackLoginParamId> - код текстового параметра пользователя, хранящего логин Slack, позволяющий сопоставить пользователя BGCRM с пользователем Slack;
- <jexl> - подстрока в сообщении Slack, требующем импорта в BGCRM JEXL выражение для извлечения сообщения Slack в текст входящего сообщения, исходное сообщение передаётся в параметре message, не null результат скрипта используется как текст входящего сообщения.
Синхронизация с форумом производится стандартной задачей обработки сообщений. Отправка сообщений производится немедленно, задача синхронизации лишь производит импорт необходимых сообщений.
...
Входящие сообщение импортируются из канала при наличии скрипта messageExtractJexl stringExpressionMessageExtract в типе сообщения.
Настройка типа процесса
...