mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-02 03:38:55 +02:00
B24: Отправка файла в чат
This commit is contained in:
parent
97f3995f29
commit
6459344e99
File diff suppressed because it is too large
Load Diff
@ -2237,7 +2237,7 @@
|
||||
СоответствиеФайла = Новый Соответствие;
|
||||
СоответствиеФайла.Вставить(ИмяФайла, Файл);
|
||||
|
||||
Ответ = OPI_Инструменты.PostMultipart(URLЗагрузки, , СоответствиеФайла);
|
||||
Ответ = OPI_Инструменты.PostMultipart(URLЗагрузки, , СоответствиеФайла, "");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@ -3004,6 +3004,55 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить каталог файлов чата
|
||||
// Получает каталог для хранения фйлов чата
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [im.disk.folder.get](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11483)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЧата - Строка, Число - ID чата - chat
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьКаталогФайловЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
||||
|
||||
Ответ = УправлениеЧатом(URL, IDЧата, "im.disk.folder.get", Токен);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Отправить файл
|
||||
// Отправляет файл диска в чат по ID
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [im.disk.file.commit](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11485)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЧата - Строка, Число - ID чата - chat
|
||||
// IDФайла - Строка, Число - ID файла, загруженного при помощи disk.folder.uploadfile - fileid
|
||||
// Описание - Строка - Описание файла - description
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ОтправитьФайл(Знач URL, Знач IDЧата, Знач IDФайла, Знач Описание = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "im.disk.file.commit");
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("CHAT_ID" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("UPLOAD_ID", IDФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Описание, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру чата
|
||||
// Получает структуру полей чата
|
||||
//
|
||||
|
@ -1,21 +1,21 @@
|
||||
<package-def>
|
||||
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
||||
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
|
||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
||||
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
|
||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
|
||||
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
|
||||
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
||||
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
||||
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
||||
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
|
||||
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
||||
</package-def>
|
||||
|
@ -3104,6 +3104,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста);
|
||||
|
||||
Bitrix24_СоздатьЧат(ПараметрыТеста);
|
||||
Bitrix24_ПолучитьСписокПользователейЧата(ПараметрыТеста);
|
||||
@ -3124,6 +3125,8 @@
|
||||
Bitrix24_ИзменитьСообщение(ПараметрыТеста);
|
||||
Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыТеста);
|
||||
Bitrix24_УдалитьСообщение(ПараметрыТеста);
|
||||
Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыТеста);
|
||||
Bitrix24_ОтправитьФайл(ПараметрыТеста);
|
||||
Bitrix24_ПрочитатьВсе(ПараметрыТеста);
|
||||
Bitrix24_СменитьВладельцаЧата(ПараметрыТеста);
|
||||
Bitrix24_ПокинутьЧат(ПараметрыТеста);
|
||||
@ -3795,6 +3798,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксФайлСообщение(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["MESSAGE_ID"]).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -9229,6 +9239,70 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_HookChatID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксОбъект(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_ChatID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата", "Bitrix24");
|
||||
|
||||
Проверка_БитриксОбъект(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ОтправитьФайл(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_HookChatID"];
|
||||
Файл = ПараметрыФункции["Document"]; // Двоичные данные, URL или путь к файлу
|
||||
Описание = "Очень важный файл";
|
||||
|
||||
Каталог = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);
|
||||
IDКаталога = Каталог["result"]["ID"];
|
||||
|
||||
ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога);
|
||||
IDФайла = ЗагруженныйФайл["result"]["ID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайлСообщение(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_ChatID"];
|
||||
|
||||
Каталог = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);
|
||||
IDКаталога = Каталог["result"]["ID"];
|
||||
|
||||
ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога, Токен);
|
||||
IDФайла = ЗагруженныйФайл["result"]["ID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание, Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайлСообщение(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область YandexDisk
|
||||
|
@ -2237,7 +2237,7 @@
|
||||
СоответствиеФайла = Новый Соответствие;
|
||||
СоответствиеФайла.Вставить(ИмяФайла, Файл);
|
||||
|
||||
Ответ = OPI_Инструменты.PostMultipart(URLЗагрузки, , СоответствиеФайла);
|
||||
Ответ = OPI_Инструменты.PostMultipart(URLЗагрузки, , СоответствиеФайла, "");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@ -3004,6 +3004,55 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить каталог файлов чата
|
||||
// Получает каталог для хранения фйлов чата
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [im.disk.folder.get](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11483)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЧата - Строка, Число - ID чата - chat
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьКаталогФайловЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
||||
|
||||
Ответ = УправлениеЧатом(URL, IDЧата, "im.disk.folder.get", Токен);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Отправить файл
|
||||
// Отправляет файл диска в чат по ID
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [im.disk.file.commit](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11485)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЧата - Строка, Число - ID чата - chat
|
||||
// IDФайла - Строка, Число - ID файла, загруженного при помощи disk.folder.uploadfile - fileid
|
||||
// Описание - Строка - Описание файла - description
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ОтправитьФайл(Знач URL, Знач IDЧата, Знач IDФайла, Знач Описание = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "im.disk.file.commit");
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("CHAT_ID" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("UPLOAD_ID", IDФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Описание, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру чата
|
||||
// Получает структуру полей чата
|
||||
//
|
||||
|
@ -3104,6 +3104,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста);
|
||||
|
||||
Bitrix24_СоздатьЧат(ПараметрыТеста);
|
||||
Bitrix24_ПолучитьСписокПользователейЧата(ПараметрыТеста);
|
||||
@ -3124,6 +3125,8 @@
|
||||
Bitrix24_ИзменитьСообщение(ПараметрыТеста);
|
||||
Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыТеста);
|
||||
Bitrix24_УдалитьСообщение(ПараметрыТеста);
|
||||
Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыТеста);
|
||||
Bitrix24_ОтправитьФайл(ПараметрыТеста);
|
||||
Bitrix24_ПрочитатьВсе(ПараметрыТеста);
|
||||
Bitrix24_СменитьВладельцаЧата(ПараметрыТеста);
|
||||
Bitrix24_ПокинутьЧат(ПараметрыТеста);
|
||||
@ -3795,6 +3798,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксФайлСообщение(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["MESSAGE_ID"]).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -9229,6 +9239,70 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_HookChatID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксОбъект(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_ChatID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата", "Bitrix24");
|
||||
|
||||
Проверка_БитриксОбъект(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ОтправитьФайл(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_HookChatID"];
|
||||
Файл = ПараметрыФункции["Document"]; // Двоичные данные, URL или путь к файлу
|
||||
Описание = "Очень важный файл";
|
||||
|
||||
Каталог = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);
|
||||
IDКаталога = Каталог["result"]["ID"];
|
||||
|
||||
ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога);
|
||||
IDФайла = ЗагруженныйФайл["result"]["ID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайлСообщение(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDЧата = ПараметрыФункции["Bitrix24_ChatID"];
|
||||
|
||||
Каталог = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);
|
||||
IDКаталога = Каталог["result"]["ID"];
|
||||
|
||||
ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога, Токен);
|
||||
IDФайла = ЗагруженныйФайл["result"]["ID"];
|
||||
|
||||
Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайлСообщение(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область YandexDisk
|
||||
|
Loading…
Reference in New Issue
Block a user