Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Создать домен Slack domain.slack.com, завести в нём пользователя, авторизоваться.

  2. Создать приложение Slack с ClientID и ClientSecret
    В секции OAuth Settings указать любой действительный URL.

  3. Выполнить запрос:
    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

  4. Выполнить запрос:
    https://slack.com/api/oauth.access?code=CODE&client_id=ClientID&client_secret=ClientSecret
    Результат должен быть вида: {"ok":true,"access_token":"TOKEN","scope":"..
  5. Сохраните полученный TOKEN, он необходим для настройки BGCRM.

Настройка BGCRM

Создать текстовый параметр пользователя для сохранения логина Slack.

...

Блок кода
languageruby
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 в типе сообщения.

Настройка типа процесса

...

Документация BGCRM 3.0