На сервере по расписанию сохраняется отчет в файл с XLS расширением. Делаю рег. задание, чтобы этот файл периодически выгружался в чат в Битриксе.
В документации к Битрикс есть метод im.message.add у которого есть параметр (массив массивов) ATTACH, в котором, в моем случае, должен присутствовать массив FILE с параметром LINK (ссылка на прикрепляемый файл, очевидно).
Вопрос в следующем: как должен выглядеть запрос (от и до)? Пытался кодировать в Base64 и отправлять через GET, но возвращает 400ую.
Буду благодарен за помощь...
P.S. Помимо всего прочего в запросе должно быть ещё несколько параметров, помимо ATTACH.
https://"ВашьДомен".bitrix24.ru/rest/681/"ВашьКлюч"/im.message.add?DIALOG_ID=chatXXX&MESSAGE=''&ATTACH[FILE]="Ссылка нафайл"
Запрос должен быть такого вида
DIALOG_ID=chatXXX - chatXXX вместо этого id чата (из описания понятно)
MESSAGE='' - Этот параметр тоже должен быть (если пустой не прокатит попробуте пробел поставить Битрикс может на это ругатся)
ATTACH='' - Это передача вложения (не более 30 Кб)
Также можете просто без 1С по экспериментировать с этим запросом.
Процедура ОтправитьВБитрикс(СтрокаСообщение, КодЧата)
//СтрокаСообщение - текст сообщения
//КодЧата - кому отправляем, можно посмотреть в чате битрикса командой "/getDialogId", либо в урле профиля
Попытка
АдресБитрикс = "ВашаКомпания123.bitrix24.ru";
КодАвторизации = "123примерТокена123"; //токен из поля "Вебхук для вызова rest api"
КодПользователя = "416"; // от кого отправляем, можно посмотреть в чате битрикса командой "/getDialogId", либо в урле профиля
Соединение = Новый HTTPСоединение(АдресБитрикс,,,,,60,Новый ЗащищенноеСоединениеOpenSSL);
АдресЗапроса = "/rest/"+КодПользователя+"/"+КодАвторизации+"/im.message.add";
Запрос = Новый HTTPЗапрос(АдресЗапроса);
//ТелоЗапроса = "DIALOG_ID=chat"+КодЧата+"&MESSAGE="+СтрокаСообщение+"&SYSTEM=N"; //для группового чата "chat" + номер чата
ТелоЗапроса = "DIALOG_ID="+КодЧата+"&MESSAGE="+СтрокаСообщение+"&SYSTEM=N";
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
Результат = Соединение.ОтправитьДляОбработки(Запрос);
Исключение
Сообщить("Не удалось отправить в битрикс");
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры