Отправка файла в Битрикс из 1С [webhooks]

1. Lonelcor 11 07.05.22 16:04 Сейчас в теме
Всем доброго дня.

На сервере по расписанию сохраняется отчет в файл с XLS расширением. Делаю рег. задание, чтобы этот файл периодически выгружался в чат в Битриксе.

В документации к Битрикс есть метод im.message.add у которого есть параметр (массив массивов) ATTACH, в котором, в моем случае, должен присутствовать массив FILE с параметром LINK (ссылка на прикрепляемый файл, очевидно).

Вопрос в следующем: как должен выглядеть запрос (от и до)? Пытался кодировать в Base64 и отправлять через GET, но возвращает 400ую.

Буду благодарен за помощь...

P.S. Помимо всего прочего в запросе должно быть ещё несколько параметров, помимо ATTACH.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Chinga050 19 07.05.22 23:17 Сейчас в теме
https://"ВашьДомен".bitrix24.ru/rest/681/"ВашьКлюч"/im.message.add?DIALOG_ID=chatXXX&MESSAGE=''&ATTACH[FILE]="Ссылка нафайл"
Запрос должен быть такого вида
DIALOG_ID=chatXXX - chatXXX вместо этого id чата (из описания понятно)
MESSAGE='' - Этот параметр тоже должен быть (если пустой не прокатит попробуте пробел поставить Битрикс может на это ругатся)
ATTACH='' - Это передача вложения (не более 30 Кб)
Также можете просто без 1С по экспериментировать с этим запросом.
3. krasnodar-it 08.05.22 10:49 Сейчас в теме
Процедура ОтправитьВБитрикс(СтрокаСообщение, КодЧата)
	
	  //СтрокаСообщение - текст сообщения
	  //КодЧата - кому отправляем, можно посмотреть в чате битрикса командой "/getDialogId", либо в урле профиля
	  
	Попытка
		АдресБитрикс = "ВашаКомпания123.bitrix24.ru";
		КодАвторизации = "123примерТокена123"; //токен из поля "Вебхук для вызова rest api" 
		КодПользователя = "416"; // от кого отправляем, можно посмотреть в чате битрикса командой "/getDialogId", либо в урле профиля
		
		Соединение = Новый HTTPСоединение(АдресБитрикс,,,,,60,Новый ЗащищенноеСоединениеOpenSSL);
		
		АдресЗапроса = "/rest/"+КодПользователя+"/"+КодАвторизации+"/im.message.add";
		
		Запрос = Новый HTTPЗапрос(АдресЗапроса);
		//ТелоЗапроса     = "DIALOG_ID=chat"+КодЧата+"&MESSAGE="+СтрокаСообщение+"&SYSTE­M=N";  //для группового чата "chat" + номер чата	
		ТелоЗапроса     = "DIALOG_ID="+КодЧата+"&MESSAGE="+СтрокаСообщение+"&SYSTEM=N"­;
		
		Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
		
		Результат = Соединение.ОтправитьДляОбработки(Запрос);
	Исключение
		Сообщить("Не удалось отправить в битрикс");
		Сообщить(ОписаниеОшибки());
	КонецПопытки;	
	
КонецПроцедуры
Показать
4. Lonelcor 11 08.05.22 15:16 Сейчас в теме
(3) Спасибо, но мне нужен запрос с функционалом отправки Excel-файла. В шапке описал подробности.
9. SP2000 29 06.11.22 00:20 Сейчас в теме
(3) подскажите, я использую эту функцию а получаю ответ {"error":"PARAMS_ERROR","error_description":"Incorrect params"}
6. Lonelcor 11 11.05.22 09:47 Сейчас в теме
Кто-нибууудь, помогите :)))
7. James_Bong 16.05.22 09:28 Сейчас в теме
Скорее всего вам придется использовать 3 запроса. im.disk.folder.get для получения папки хранения файлов чата. disk.folder.uploadfile для сохранения файла в папку и im.disk.file.commit для отправки файла в чат.
FuJluH; Lonelcor; +2 Ответить
8. Lonelcor 11 14.06.22 04:48 Сейчас в теме
(7) Будет время - проверю :) И отправлю вознаграждение.
Оставьте свое сообщение

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