Отправка сообщений или уведомлений из 1С в битрикс24

1. maximdemin666 7 30.10.20 12:07 Сейчас в теме
Всем привет)
API я пока знаю плохо, а задачу решать надо. Есть у нас битрикс24, мне необходимо из 1с, присылать в битрикс24 уведомление или сообщение. Чтобы оповещать их об определенных проблемах. Нашел пару примеров, но слепить из них рабочий вариант я не смог.
Вот сам код, помогите кто шарит)

Перем ЗаписьJSON;
Перем Метод;
Перем ПараметрыЗапроса;

Функция СериализоватьВJSON(ПараметрыЗапроса)
    ЗаписьJSON = Новый ЗаписьJSON;
    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, Символы.Таб);
    ЗаписьJSON.ОткрытьФайл("C:\Users\demin\Documents\1. Текущие задачи\bt.json", , , ПараметрыЗаписиJSON);
    
    СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ПараметрыЗапроса, НазначениеТипаXML.Явное);
    
    Возврат ЗаписьJSON.Закрыть();
КонецФункции

Функция ДесериализоватьИзJSON()
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.ОткрытьФайл("C:\Users\demin\Documents\1. Текущие задачи\bt.json");
    
    Объект = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON);
    
    Возврат ЧтениеJSON.Закрыть();
КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)
    ПараметрыЗапроса = Новый Структура;
    ПараметрыЗапроса.Вставить("to", "555");
    ПараметрыЗапроса.Вставить("message", "Это тестовое сообщение отправленное из 1С, не отвечайте на него!");
    
    ПараметрыЗапроса = СериализоватьВJSON(ПараметрыЗапроса);
    
    СтруктураВозврата = Новый Структура;
    
    Метод = "im.notify";
    
    ВыполнитьЗапрос(Метод, ПараметрыЗапроса, СтруктураВозврата);
КонецПроцедуры

Функция ВыполнитьЗапрос(Метод, Знач ПараметрыЗапроса = "", СтруктураВозврата = Неопределено, УРЛ = "") Экспорт
    АдресСервера = "ural24.ru";
    АдресРесурса = "/rest/" + "555/s4468_____btv0ya/" + Метод; 
    
    Попытка
        HTTPСоединение = Новый HTTPСоединение(АдресСервера, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL);// соединяемся по https
    Исключение
        Возврат ОписаниеОшибки();
    КонецПопытки;
    
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Accept-Language", "ru");
    Заголовки.Вставить("Accept-Charset", "utf-8");
    Заголовки.Вставить("Content-Language", "ru");
    Заголовки.Вставить("Content-Charset", "utf-8");
    Заголовки.Вставить("Content-type", "application/json");// тут обозначаем, что "общаемся" через JSON
    
    HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ПараметрыЗапроса);
    
    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    ТелоОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
    
    СтруктураВозврата = ДесериализоватьИзJSON();
    
    Возврат HTTPОтвет.КодСостояния;
КонецФункции


Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. XAKEP 30.10.20 12:25 Сейчас в теме
3. maximdemin666 7 30.10.20 12:28 Сейчас в теме
(2)
ural24.ru
Я скрыл реальный домен)
4. malikov_pro 1331 30.10.20 15:38 Сейчас в теме
Порядок действий
* ищите нужную точку входа в API в документации https://dev.1c-bitrix.ru/rest_help/im/index.php,
* решаете вопрос аутентификации, там же в документации описано
* тестируете, напрмер с помощью Postman
* реализуете в 1С

Укажите к какому API будете подключаться

Коллекцию postman под тестирование помогу сделать, можно после опубликовать и дополнять при необходимости.
5. uno-c 267 30.10.20 16:09 Сейчас в теме
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ПараметрыЗапроса, НазначениеТипаXML.Явное);
СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON);

Можно без сериализатора, просто ПрочитатьJSON(...) и ЗаписатьJSON(...)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот