Интеграции с внешними системами взаимодействия
С помощью системы взаимодействия «1С:Шины» вы можете отправлять уведомления пользователям, инициировавшим взаимодейст вие, из приложения во внешние системы взаимодействия. Поддерживаются такие популярные службы обмена сообщениями, как Telegram, WhatsApp, VK, WebChat и Webhook. Интеграции позволяют реализовать рассылку сообщений нескольким пользователям, отправить сообщение отдельному пользователю, а также получать уведомления о входящих сообщениях.
Работа с интеграциями в коде
В «1С:Шине» свойства и методы отдельной интеграции системы взаимодействия с внешним подключением описываются типом ИнтеграцияВзаимодействия
.
Получение информации о внешних системах
Чтобы получить типы внешних систем, поддерживаемых сервером взаимодействия, используйте метод ПолучитьВидыВнешнихСистем()
, который возвращает читаемый массив строк с названием поддерживаемых систем:
пер Виды = СистемаВзаимодействия.ПолучитьВидыВнешнихСистем()
// Виды: [WebChat, Telegram, VK, Webhook, WhatsApp Devino]
С помощью метода ПолучитьОписаниеВнешнейСистемы()
вы можете получить объект типа ОписаниеВнешнейСистемыВзаимодействия
с двумя свойствами:
ВидВнешнейСистемы
— строка с названием описываемой внешней системы;ОписанияПараметров
— массив объектов типаОписаниеПараметраВнешнейСистемыВзаимодействия
с именем параметра и признаком обязательности.
пер ОписаниеСистемы: ОписаниеВнешнейСистемыВзаимодействия = СистемаВзаимодействия.ПолучитьОписаниеВнешнейСистемы("Telegram")
// ВидВнешнейСистемы: Telegram
// ОписаниеПараметров:
// Имя: token
// Обязательный: Истина
Создание интеграций
Методы для работы с интеграциями содержатся в типе СистемаВзаимодействия
пространства имен Стд::СистемаВзаимодействия
:
СоздатьИнтеграцию()
,РедактироватьИнтеграцию()
,ПолучитьИнтеграции()
.
Пример создания интеграций с Telegram и WebChat
метод СоздатьИнтеграциюСТелеграм(КлючИнтеграции: Строка, Токен: Строка)
пер ПараметрыИнтеграции = <Строка, Строка>{:}
ПараметрыИнтеграции.Вставить("token", Токен)
СоздатьИнтеграцию("Telegram", КлючИнтеграции, ПараметрыИнтеграции)
;
метод СоздатьИнтеграциюСВебЧатом(КлючИнтеграции: Строка, Заголовок: Строка): Ууид
пер ПараметрыИнтеграции = <Строка, Строка>{:}
ПараметрыИнтеграции.Вставить("allowVideoconferences", "allowed")
ПараметрыИнтеграции.Вставить("colorTheme", "auto")
ПараметрыИнтеграции.Вставить("defaultApplicationUserCameraState", "on")
ПараметрыИнтеграции.Вставить("displayUserPictures", "true")
ПараметрыИнтеграции.Вставить("languageCode", "en")
ПараметрыИнтеграции.Вставить("mobileButtonOrientation", "rightBottom")
ПараметрыИнтеграции.Вставить("orientation", "bottom")
ПараметрыИнтеграции.Вставить("orientationPadding", "100")
ПараметрыИнтеграции.Вставить("signKey", "")
ПараметрыИнтеграции.Вставить("titleBackColor", "#FBED9E")
ПараметрыИнтеграции.Вставить("titleText", Заголовок)
ПараметрыИнтеграции.Вставить("titleTextColor", "#333333")
возврат СоздатьИнтеграцию("WebChat", КлючИнтеграции, ПараметрыИнтеграции)
;
метод СоздатьИнтеграцию(ТипВнешнейСистемы: Строка, КлючИнтеграции: Строка, ПараметрыИнтеграции: ЧитаемоеСоответствие<Строка, Строка>): Ууид
пер ОписаниеСистемы: ОписаниеВнешнейСистемыВзаимодействия = СистемаВзаимодействия.ПолучитьОписаниеВнешнейСистемы(ТипВнешнейСистемы)
знч Пользователь = СистемаВзаимодействия.ПолучитьТекущегоПользователяВзаимодействия()
пер УчастникиОбсуждения = [Пользователь.Ид]
пер НазваниеИнтеграции = "Интеграция_WebChat"
пер Таймаут = 30с
пер НоваяИнтеграцияИд: Ууид? = СистемаВзаимодействия.СоздатьИнтеграцию(
НазваниеИнтеграции,
ОписаниеСистемы.ВидВнешнейСистемы,
ПараметрыИнтеграции,
УчастникиОбсуждения,
КлючИнтеграции,
Истина,
Таймаут)
возврат НоваяИнтеграцияИд
;