Отправка сообщений или уведомлений из 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 1293 30.10.20 15:38 Сейчас в теме
Порядок действий
* ищите нужную точку входа в API в документации https://dev.1c-bitrix.ru/rest_help/im/index.php,
* решаете вопрос аутентификации, там же в документации описано
* тестируете, напрмер с помощью Postman
* реализуете в 1С

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

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

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

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