Файлы

Облачный Pyrus
Безоблачный Pyrus

Методы

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 свой ключ авторизации, а в теле запроса — путь к файлу.

Загружайте ровно один файл, используя указанный запрос. Если необходимо загрузить несколько файлов, запустите запрос несколько раз соответственно. Максимальный размер прикладываемого файла — 250 Mb.

Пример загрузки файла для 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");
    Сообщить(ОтветВВидеСтроки);

КонецПроцедуры

Была ли эта статья полезной?