Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Название: OmniToken, Код: OmniToken
    В данной настройке хранится токен Beesender для работы с коннектором. Данный токен индивидуальный для каждой системы и используется при синхронизации с коннектором Beesender и работе с каналами.

  • Название: OmniConnectorHost, Код: OmniConnectorHost
    Данная настройка хранит адрес коннектора Beesender (balance, bee-conn) и является аналогом настройки BeesenderOperatoHost.

  • Название: OmniFileServiceHost, Код: OmniFileServiceHost
    Данная настройка хранит адрес файлового сервиса Beesender, который участвует при отправке файлов различного формата из CRM в мессенджер.

  • Название: OmniChannelUrl, Код: OmniChannelUrl
    Данная настройка хранит путь запроса на коннектор Beesender (balance, bee-conn) для работы с каналами и является аналогом настройки BeesenderServices.

  • Название: OmniCrmHost, Код: OmniCrmHost
    В данной настройке хранится адрес текущей системы Creatio, который используется при синхронизации с коннектором Beesender.

  • Название: OmniCrmUserLogin, Код: OmniCrmUserLogin
    Настройка хранит значение логина конкретного аккаунта(с правами администратора), которое используется при синхронизации.

  • Название: OmniCrmUserPassword, Код: OmniCrmUserPassword
    Настройка хранит значение пароля конкретного аккаунта(с правами администратора), которое используется при синхронизации. В самой настройке значение будет недоступно для чтения(маскировка значения пароля).

  • Название: OmniInstagramService, Код: OmniInstagramService
    Данная настройка хранит адрес кнопки “Вход через facebook“, которая используется при добавлении канала facebook (стена и мессенджер) и инстаграм. Данная настройка является аналогом настройки BeesenderInstagramService.

  • Название: OmniWebSiteUserNumber, Код: OmniWebSiteUserNumber
    Данная настройка хранит номер последнего добавленного пользователя виджета Beesender (WebSite) для установки имени контакта в формате “Web-00000“.

...

Полезно для работы с системными настройками:

...

P.S. У визуальных модулей присутствует свой не визуальный модуль с таким же названием, только на конце используется слово Module. а не Page. Пример: ViberChannelPage и ViberChannelModule. В этих модулях как правило описаны стили во вкладке LESS, которые касаются только этого визуального модуля.

2.Исходный код:

  • BsOmniChatSetupService - веб-сервис, который вызывается из BsOmniChatConfigurationPage и OmniChatSection при синхронизации и работе с системными настройками.

  • BsOmniSynchronizer - класс, в котором реализована логика синхронизации с коннектором Beesender.

  • BsOmniChannelService - веб-сервис, который вызывается в ViberChannelPage при добавлении, обновлении и актуализации канала Omnichannel.

  • BsOmniChannelHandler - класс, в котором реализована вся необходимая логика для работы с каналами.

  • BsOmniMessagingService - веб-сервис, который вызывается коннектором при отправке сообщения от клиента(из мессенджера) в CRM-систему.

  • BsOmniIncomingMessageHandler - класс, в котором реализована логика создания и распределения чата на оператора.

  • BsOmniOutcomeMessageWorker - класс в котором реализована логика отправки сообщения из CRM-системы на коннектор.

  • BsOmniFileUploader - класс для обработки файлов из CRM через файловый сервис Beesender, перед отправкой на коннектор.

  • BsOmniExtensions - файл, в котором собраны все необходимые классы-расширения для имеющихся типов.

  • BsOmniEnums - файл, в котором собраны все необходимые перечисления (enums), необходимые для работы с каналами Omnichannel.

  • BsOmniHelper - файл, в котором собраны все вспомогательные классы, необходимые для работы с каналами Omnichannel (логгер, класс для работы с системными настройками и т.д.)

  • BsOmniAppEventListener - класс для маппинга необходимых интерфейсов от Terrasoft для работы с каналами Omnichannel.

  • BsOmniModels - файл, в котором собраны все необходимые модели данных, необходимые для работы каналов Omnichannel.

  • BsOmniIncomingMessageConverter - класс для конвертации пришедшего от коннектора сообщения в формат “MessagingMessage”, необходимый для работы логики чатов на уровне Terrasoft.

  • BsOmniMsgSettingsHandler - класс для работы с именной таблицей настроек конкретного канала BsOmni{Имя провайдера}MsgSettings.

  • BsOmniMsgSettingsExecutor - набор пользовательских типов данных для работы с BsOmni{Имя провайдера}MsgSettings, состоящий из интерфейса IBsOmniMsgSettingsExecutor и его реализаций под конкретные каналы.

  • BsOmniProviderHandler - набор пользовательских типов данных для индивидуальной работы с каждым провайдером в ходе добавления канала, обработки входящих и исходящих сообщений и так далее. Данная схема исходного кода состоит из интерфейса IBsOmniProviderHandler и его реализаций под конкретные каналы. Не для всех каналов есть реализации в связи с ненадобностью использования отдельного класса.

  • BsOmniProfileDataProvider - класс, реализующий интерфейс IProfileDataProvider от Terrasoft и предназначен для отображения данных о клиенте. Используется в BsOmniAppEventListener.

  • BsOmniAttachmentLoadWorker - класс, реализующий интерфейс IAttachmentsLoadWorker от Terrasoft и предназначен для работы с файлами. Используется в BsOmniAppEventListener.

  • BSCrmRequestHelperService BsOmniCrmRequestHelperService - веб-сервис, который даёт возможность отправить запрос в другую crm систему (Creatio).

  • BSSysSettingsHelperService - веб-сервис, который возвращает значение системной настройки.

3.Бизнес-процессы:

...

3.Бизнес-процессы:

  • DeletingEntryFromMsgsettingsTable - БП для удаления записи из объекта “BsOmni{Имя провайдера}MsgSettings” при удалении записи из объекта “Сhannel“.

  • AttachFileToChat - БП для записи сообщения из чата в объект “OmnichannelMessagefile“ до его закрытия. Это связано с тем, что все сообщения конкретного чата записываются в объекты “ChatMessages“ и “OmnichannelMessagefile“ только после закрытия чата, что мешает отображению файлов в РМО.

  • ChangeDefaultContactName - БП для изменения имени контакта и чата при установке системой значения по умолчанию (New contact (“Имя провайдера“ - “Значение InternalId“)). Новый формат имени контакта: “Имя провайдера“-”Порядковый номер”

4.Объекты:

  • BsOmniLog - логгер (аналог BeesenderLog). В основном для поиска ошибок используется такой шаблон наименования логов: “Название класса“.”Название метода”Error. Пример: "BsOmniIncomingMessageHandler.ExecuteError"

  • BsOmniClient - пользователь мессенджера, на основе которого создаётся контакт в системе (аналог BeesenderClient)

  • BsOmniViberMsgSettings - именной объект для настроек канала Viber.

  • BsOmniInstagramMsgSettings - именной объект для настроек канала Instagram.

  • BsOmniWebSiteMsgSettings - именной объект для настроек канала WebSite.

  • Channel - канал, который хранит ссылку на объект из таблицы BsOmni{Имя провайдера}MsgSettings. Реализация Terrasoft.

  • ChatQueue - очереди чатов (группа операторов), в которой хранится название самой группы. Реализация Terrasoft.

  • ChatQueueOperator - оператор в конкретной очереди чатов. Реализация Terrasoft.

  • OmniChat - чат. Реализация Terrasoft.

  • ChannelProvider - конкретный провайдер канала (Viber, Telegram и т.д.), в котором должна указываться ссылка на страницу создания и модификации канала (поле “PageUrl“). Реализация Terrasoft.

  • OmnichannelMessageFile - файлы в чате. Реализация Terrasoft.

  • ChatMessages - текстовые сообщения в чате. Реализация Terrasoft.

  • OmnichannelChatStatus - статус чата. Реализация Terrasoft.

  • OperatorRoutingRules - правила распределения чатов на группу операторов. Реализация Terrasoft.

...

  1. {Название провайдера канала}ChannelPage - визуальный модуль представления страницы добавления и изменения конкретного канала. Данные модули должны наследоваться от OmniChannelPage. В качестве хранилища необходимых CSS-стилей можно использовать модуль OmniChannelCss либо же не визуальный модуль, который вызывает визуальный.

  2. {Название провайдера канала}ChannelModule - не визуальный модуль для вызова визуального модуля, описанного выше.

...