Файлы
Методы
GET /files/download/{file-id}
Метод скачивает файл из pyrus.
GET https://api.pyrus.com/v4/files/download/1334
Заголовки ответа
Content-Disposition: attachment; filename=test.txt Content-Length: 12 Content-Type: application/octet-stream
Тело ответа
file content
curl
curl -X GET \ https://api.pyrus.com/v4/files/download/1334 \ -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ -H 'Content-Type: application/json'
POST /files/upload
Метод загружает файлы для последующего прикладывания их в задачи. Файлы, на которые не ссылается ни одна задача, через некоторое время удаляются.
POST https://api.pyrus.com/v4/files/upload
Заголовки запроса
Authorization: Bearer gAAA***** Content-type: multipart/form-data; boundary=8d2f42366b41441 Content-Length: 5222
Тело запроса
--8d2f42366b41441 Content-Disposition: form-data; name="file"; filename="filename.jpg" Content-Type: application/octet-stream //тело файла --8d2f42366b41441--
Тело ответа
{ "guid": "08923d83-255b-4f18-b0eb-5c4d3b9bf1d2", "md5_hash": "cd4df826e3b9ce6e7895d8a31536d99d" }
curl
curl -X POST \ https://api.pyrus.com/v4/files/upload \ -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ -F 'filename.jpg=@C:\Path\To\File\filename.jpg'
В ответ вы получите идентификатор загруженного файла и хеш файла, вычисленный по алгоритму MD5. Чтобы приложить загруженный файл в задачу, воспользуйтесь методом добавления комментария и передайте полученный идентификатор в поле attachments
.
В большинстве языков программирования или программных средств для отправки REST API запросов, например curl или Postman, корректный запрос сформируется автоматически, если при передаче данных указать тип кодирования multipart/form-data. Таким образом для успешной загрузки файла в заголовках достаточно указать в разделе Authorization свой ключ авторизации, а в теле запроса — путь к файлу.
Загружайте ровно один файл, используя указанный запрос. Если необходимо загрузить несколько файлов, запустите запрос несколько раз соответственно. Максимальный размер прикладываемого файла — 2 ГБ.
Пример загрузки файла для 1С
Процедура ДействиеВыполнить() StaticToken = "!!!<Введите Токен>!!!"; РазделительСтрок = Символы.ВК + Символы.ПС; ФайлСДиска = Новый ДвоичныеДанные("C:\temp\Документ.pdf"); Сервер = "api.pyrus.com"; Ресурс = "/v4/files/upload/"; HTTP = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL()); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Authorization", "Bearer " + StaticToken); ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=8d2f42366b41441"); HTTP_Запрос = Новый HTTPЗапрос("/v4/files/upload/", ЗаголовокHTTP); ПотокТело = HTTP_Запрос.ПолучитьТелоКакПоток(); ЗаписьДанных = Новый ЗаписьДанных(ПотокТело, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь); ЗаписьДанных.ЗаписатьСтроку("--8d2f42366b41441"+РазделительСтрок); ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""%D0%9F%D1%83%D1%81%D1%82%D0%BE%D0%B9""; filename*=UTF-8''%D0%9F%D1%83%D1%81%D1%82%D0%BE%D0%B9.pdf" + РазделительСтрок); ЗаписьДанных.ЗаписатьСтроку("Content-Type: application/pdf" + РазделительСтрок); ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок); ЗаписьДанных.Записать(ФайлСДиска); ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок); ЗаписьДанных.ЗаписатьСтроку("--8d2f42366b41441--" + РазделительСтрок); ЗаписьДанных.Закрыть(); Ответ = HTTP.ОтправитьДляОбработки(HTTP_Запрос); ОтветВВидеСтроки = Ответ.ПолучитьТелоКакСтроку("UTF-8"); Сообщить(ОтветВВидеСтроки); КонецПроцедуры