Имя: Пароль:
1C
1С v8
Отправка сообщений в битрикс24 через API
0 dema666666666
 
29.10.20
13:19
Всем привет, помогите пожалуйста с задачей. Необходимо из 1С, отправлять сообщения в битрикс, как это сделать с помощью API?
1 Сергиус
 
29.10.20
14:24
2 Надо работать
 
29.10.20
16:16
ПараметрыЗапроса = Новый Структура;
    ПараметрыЗапроса.Вставить("TASK_ID", Формат(НомерТаска, "ЧГ="));
    ПараметрыЗапроса = СериализоватьВJSON(ПараметрыЗапроса);
    
    СтруктураВозврата = Новый Структура;
    
    Метод = "task.elapseditem.getlist";
    
    ВыполнитьЗапрос(Метод, ПараметрыЗапроса, СтруктураВозврата);
    
    Если Не СтруктураВозврата["result"] = Неопределено Тогда
        Для каждого Стр Из СтруктураВозврата["result"] Цикл
        КонецЦикла;
    КонецЕсли;
3 Надо работать
 
29.10.20
16:18
Функция ВыполнитьЗапрос(Метод, Знач ПараметрыЗапроса = "", СтруктураВозврата = Неопределено, УРЛ = "") Экспорт
    АдресСервера = "bitrix.net";
    АдресРесурса = "/rest/" + ?(ПустаяСтрока(УРЛ), Константы.BitrixWebHook.Получить(), УРЛ) + Метод;
    
    Попытка
        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Ответ.КодСостояния;
    
КонецФункции
4 Надо работать
 
29.10.20
16:20
только метод и параметры поменять

Ну и получить вебхук для начала в Битриксе с правами для сообщений
5 dema666666666
 
30.10.20
06:33
(4) Спасибо большое, щас буду пробовать, как чего выйдет, напишу)
6 dema666666666
 
30.10.20
06:43
(4) А вместо Task_id мне что писать?
7 dema666666666
 
30.10.20
08:09
(4) С task понял, а в ДесериализоватьИзJSON у тебя что?)
8 dema666666666
 
30.10.20
08:24
(4) И как вот это место выглядет? - Константы.BitrixWebHook.Получить(),
9 dema666666666
 
30.10.20
09:04
(4) А то ошибка лезет(
{"error":"USER_ID_EMPTY","error_description":"User ID can\u0027t be empty"}