Поле: id
Режим: inout
Тип: uuid
По умолчанию: generated
|
Идентификатор. Может быть задан при создании, иначе генерируется системой.
|
Поле: code
Режим: in
Тип: str
По умолчанию: required
|
Код. Используется для ассоциирования с другими сущностями. Представляет уникальное название канала, например telegram или viber .
|
Поле: mode
Режим: in
Тип: str
По умолчанию: request
|
Режим получения сообщений. Варианты:
* request – постоянный long-polling опрос мессенджера.
* webhook – информирование системы с помощью webhook (алгоритм настраивается внешним образом вплоть до размещения сообщений в коллекциях /model/im/RemoteParties и /model/im/Messages).
* disabled – канал не применяется в обработке коммуникационным слоем платформы.
|
Поле: recv_strategy
Режим: in
Тип: date | str_empty
По умолчанию: str_empty
|
Название стратегии получения сообщений.
В случае, если задана пустота, то в качестве названия стратегии применяется автоматически генерируемое значение %CODE%recv , где CODE - код канала.
В качестве стратегии ищется erlang-модуль plugin%RECV_STRATEGY% с экспортируемым интерфейсом, а при его отсутствии - сценарий с указанным кодом.
Стратегия применяется только в режиме mode = request для осуществления long-polling запроса на получение поступивших в аккаунт сообщений.
На вход передается связанная JSON-сущность из коллекции /im/Accounts.
При получении сообщений стратегия их размещает в коллекции /im/Messages, одновременно создавая или обновляя связанные сущности коллекции /im/RemoteParties.
К задачам, решаемым стратегией получения, относится обеспечение защиты от повторов и от сбоев, опираясь на уникальные идентификаторы сообщений в мессенджере.
В случае неудачного завершения выполнения стратегии, ее вызов повторяется спустя несколько секунд.
|
Поле: send_strategy
Режим: in
Тип: date | str_empty
По умолчанию: str_empty
|
Название стратегии отправки сообщений.
В случае, если задана пустота, то в качестве названия стратегии применяется автоматически генерируемое значение %CODE%send , где CODE - код канала.
В качестве стратегии ищется erlang-модуль plugin%SEND_STRATEGY% с экспортируемым интерфейсом, а при его отсутствии - сценарий с указанным кодом.
Стратегия применяется для отправки каждого отдельно взятого сообщения, на вход в качестве параметра передаются связанные JSON-сущности из коллекций /im/Accounts, im/RemoteParties, im/Messages.
В случае неудачного завершения выполнения стратегии, то отправляемое сообщение в коллекции получает статус error и описание причины.
|
Поле: opts
Режим: in
Тип: object
Составное поле
|
|
Поле: opts.title
Режим: in
Тип: str
По умолчанию: empty
|
|
Поле: opts.comment
Режим: in
Тип: str
По умолчанию: empty
|
|
Поле: opts.after_read_timeout
Режим: in
Тип: int
По умолчанию: 100
|
Таймаут в миллисекундах, применяемый перед следующим выполнением стратегии получения после возврата управления из предыдущего вызова.
|
Поле: opts.max_account_mps
Режим: in
Тип: int
По умолчанию: 30
|
Ограничение на количество отправляемых в аккаунт сообщений в течение 1 секунды.
|
Поле: opts.max_remoteparty_mps
Режим: in
Тип: int
По умолчанию: 1
|
Ограничение на количество отправляемых конкретному абоненту сообщений в течение 1 секунды.
|
Поле: ext
Режим: inout
Тип: object
Составное поле
|
Позволяет расширять состав произвольными ключами и значениями
|
Поле: ext.ct
Режим: out
Тип: date
По умолчанию: generated
|
|
Поле: ext.lwt
Режим: out
Тип: date
По умолчанию: generated
|
Время последней модификации объекта
|