Обсуждая очень приятный чатик Slack, многие вспоминали HipChat, вот и пришло время посмотреть на этот сервис изнутри. В большинстве случаев HipChat дешевый, в пересчете на пользователя, аналог Slack и функции у него почти идентичные, за исключением того, что в HipChat есть возможность гостевого входа. Интеграции с множеством сервисов присутствует из коробки, впрочем кого этим сейчас удивишь? Описание функций и возможностей не тема этой заметки так, что перейдем к рассмотрению API (version 2).
Чтобы использовать API нужно создать token для пользователя, который будет использовать его, к сожалению, использование и создание сторонней интеграции сложнее чем в Slack. На пути этой статьи возникали небольшие несоответствия с описанием в документации HipChat, и тем, что есть на самом деле. Одним словом — грусть. Что ж, пора переходить к примерам, для удобства в репозитории есть тестовая обработка с небольшим набором методов:
СОЗДАНИЕ КОМНАТЫ
Описание API: https://www.hipchat.com/docs/apiv2/method/create_room
Пока в списке нет комнаты с именем «1С»:
Реализация вызова в 1С:
СтруктураCreateRoom = git_HipChat.ПолучитьПустуюСтруктуруCreateRoom(); СтруктураCreateRoom.name.data = "1C"; git_HipChat.ОтправитьДанныеJSON("api.hipchat.com", "***", СтруктураCreateRoom);
Результат:
СОЗДАНИЕ ОПОВЕЩЕНИЯ
Описание API: https://www.hipchat.com/docs/apiv2/method/send_room_notification
СтруктураNotification = git_HipChat.ПолучитьПустуюСтруктуруNotification(); СтруктураNotification.path_params.data = "1C"; СтруктураNotification.color.data = "green"; СтруктураNotification.message.data = "data-text-json"; СтруктураNotification.notify.data = "false"; СтруктураNotification.message_format.data = "text"; git_HipChat.ОтправитьДанныеJSON("api.hipchat.com", "***", СтруктураNotification);
Результат:
Реализация вызова в 1С:
СтруктураNotification = git_HipChat.ПолучитьПустуюСтруктуруNotification(); СтруктураNotification.path_params.data = "1C"; СтруктураNotification.message.data = "data-text-plain"; git_HipChat.ОтправитьДанныеText("api.hipchat.com", "***", СтруктураNotification);
Результат:
ШАРИТЬ ЛИНК В КОМНАТЕ
Описание API: https://www.hipchat.com/docs/apiv2/method/share_link_with_room
Реализация вызова в 1С:
СтруктураShareLink = git_HipChat.ПолучитьПустуюСтруктуруShareLink(); СтруктураShareLink.path_params.data = "1C"; СтруктураShareLink.message.data = "share-link-message"; СтруктураShareLink.link.data = "http://avtomat.biz"; git_HipChat.ОтправитьДанныеJSON("api.hipchat.com", "***", СтруктураShareLink);
Результат:
Конфигурация для интеграции на GitHub: https://github.com/pbazeliuk/1C-HipChat