Instant messaging processor (im)
Описание
Процессор обмена быстрыми сообщениями с мессенджерами.
Обеспечивает коммуникацию с мессенджерами. Поступающие из мессенджеров абонентские сообщения размещает в коллекции модели данных `/rest/v1/model/im/Messages`, а создаваемые в ней сообщения `sending` отправляет абонентам мессенджеров.
Формирует коллекции/классы: im/Accounts, im/RemoteParties, im/Messages. Допускает их дальнейшую модификацию в сторону расширения состава свойств и вариантов значений перечислимых полей.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Возможности
-
Сообщения могут быть текстовыми, в виде картинок, звуковых файлов и пр. Текст сообщения размещается в поле сущности `/im/Message`, а прочие варианты сохраняются в виде вложений (поле `file`) и доступны через `/rest/v1/model/im/Messages/ID_MESSAGE/file`.
-
Поддерживает добавление адаптеров к разным типам мессенджеров через создание плагинов (erlang) или реализацию стратегий в сценариях.
Ограничения
-
Каждый отдельный мессенджер требует уникальных параметров, которые могут быть установлены в опциях аккаунта (поле `options` сущности im/Accounts). В частности для Telegram там обязательно должен быть указан `token`, а также опционально `disable_notification` (`true` | `false`) и `parse_mode` (`none`, `markDown`, `HTML`).
-
В составе платформы присутствует коннектор к Telegram. Прочие коннекторы требуют проектной разработки, могут быть реализованы в виде сценариев (отдельно сценарий получения сообщений и размещения в коллекциях, отдельно сценарий отправки одного конкретного сообщения).
Параметры
Имя | Тип | Умолчание | Описание |
---|---|---|---|
|
|
required |
Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы. |
|
|
required |
Тип роли. Возможные значения: |
|
|
empty |
Дополнительные опции роли. Содержит json объект или список. |
|
|
empty |
Флаг активности роли. При установке в false роль не участвует в валидации и не запускается. |
|
|
empty |
Ограничитель количества используемых логических ядер процессора. По умолчанию: 0 - не ограничено. |
|
|
empty |
Уровень логирования по умолчанию, заданный адресно для экземпляра роли (типа микросервиса). Подробнее |
|
|
required |
Номер группы. |
|
|
required |
Порядок экземпляра роли в рамках группы. |
|
|
empty |
Список имен доменов, которые обслуживает данная группа. |
|
|
global |
Выключатель режима takeover.
|
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "im1",
"roletype": "im",
"group": 11330,
"order": 1
}