В ходе интеграции столкнулись с рядом накладываемых ограничений которые перевешивают достоинства продукта. В дальнейшем можно подумать об интеграции если в других продуктах мы упремся в ограничения которые данный сервис позволяет обойти.
- можно отказаться от собственного MiddleEnd
- в основе сервиса лежит открытый протокол XMPP (Jabber) у которого достаточно много плюсов.
- исходный код доступен через GitHub и npm, но использовать его можно только на NodeJS, на стороне браузера предлагают использовать сборку загружаемую с CDN.
- код не типизирован и нет перспектив получить родные тайпинги
- после регистрации мы получаем appId, authKey, authSecret которые необходимо использовать на клиентской части для авторизации на BackEnd сервиса, что представляет собой потенциальную бреша в безопасности.
- для аутентификации на сервисе необходимо хранить пользовательские учетные записи на BackEnd сервиса, добавление можно производить как через веб интерфейс предоставляемым сервисом так и с помощью REST API
- взаимодействие с BackEnd сервиса осуществляется через REST API. Так получение и списков доступных каналов прим и отправка сообщений, все кроме подписок осуществляется через REST.
- при подписке на сообщения в канале мы получаем пакет в котором отсутствует информация о том кто отправил это сообщение. Узнать о том кто отправил сообщение нужно используя дополнительные методы.
- для того чтоб отправить файл необходимо в начале загрузить файл через один метод получив токен загруженного файла, затем в через обычный метод отправки текстовых сообщений указать, что в сообщении есть прикрепленные файлы и передать массив токенов загруженных файлов.
Исходя из выше указанного я читаю что если все-таки возникнет необходимость использовать данный сервис то лучше написать свой MiddleEnd который позволит прозрачно взаимодействовать с сервисом через WS и облегчит использование сервиса.
- API Documentation После регистрации идем в дашборд Создаем приложение