Общая информация по загрузке вложений представлена в статье Загрузка вложения.
Разберем пример загрузки вложения на тестовую среду testdev2 при помощи инструмента Postman.
Создаем новый запрос и указываем:


Все необходимые данные для доступа к тестовой среде testdev2 содержатся в статье Тестовая среда testdev2. |
Отправляем запрос и получаем в ответ:

Узнать больше про ключ АПИ и авторизацию в системе можно в статье Авторизация. |
Создаем новый запрос и указываем:

Пример создания запроса можно посмотреть в статье Как создать свой первый Запрос на перевозку. |
Перед запуском можно проверить сохраненный авторизационный токен в разделе разделе Cookies:

Отправляем запрос и получаем в ответ:


Создаем новый запрос и указываем:
Запускаем запрос и получаем детальную информацию по запросу со списком вложений:

Подавляющее большинство утилит и библиотек для работы с HTTP запросами умеют отправлять данные в формате multipart/form-data (как правило, он является форматом по умолчанию для POST запросов).
Разберем несколько типовых примеров.
Во всех примерах будем использовать следующие параметры:
Перед использованием, рекомендуем ознакомиться со статьей Особенности использования API с помощью консольных утилит.
curl --location --request POST 'https://testdev2.logistpro.su/api/v1/tender/{id}/upload' \
--header 'x-apikey: jn/PYDwYKV7INbTQwZFdpXe4LEuYvBg9fgsIdykDigM=' \
--header 'Cookie: .AspNet.ApplicationCookie={token}' \
--form 'Type="Накладная"' \
--form 'File=@"/path/to/Накладная_Н-123 (test).pdf"' |
var client = new RestClient("https://testdev2.logistpro.su/api/v1/tender/{id}/upload");
var request = new RestRequest(Method.POST);
request.AddHeader("x-apikey", "jn/PYDwYKV7INbTQwZFdpXe4LEuYvBg9fgsIdykDigM=");
request.AddHeader("Cookie", ".AspNet.ApplicationCookie={token}");
request.AddParameter("Type", "Накладная");
request.AddFile("File", "/path/to/Накладная_Н-123 (test).pdf");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content); |
import requests
url = "https://testdev2.logistpro.su/api/v1/tender/{id}/upload"
payload={'Type': 'Накладная'}
files=[
('File',('Накладная_Н-123 (test).pdf',open('/path/to/Накладная_Н-123 (test).pdf','rb'),'application/pdf'))
]
headers = {
'x-apikey': 'jn/PYDwYKV7INbTQwZFdpXe4LEuYvBg9fgsIdykDigM=',
'Cookie': '.AspNet.ApplicationCookie={token}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text) |
Заголовки = Новый Соответствие;
Заголовки.Вставить("x-apikey", "jn/PYDwYKV7INbTQwZFdpXe4LEuYvBg9fgsIdykDigM=");
Cookies = Новый Массив;
Cookies.Добавить(Новый Структура("Наименование,Значение", ".AspNet.ApplicationCookie", "{token}"));
Файлы = Новый Массив;
Файлы.Добавить(Новый Структура("Имя,Данные,ИмяФайла", "File", Base64Значение("{содержимое файла}"), "Накладная_Н-123 (test).pdf"));
Данные = Новый Структура("field1,field2", "Type", "Накладная");
Результат = КоннекторHTTP.Post("https://testdev2.logistpro.su/api/v1/tender/{id}/upload", Неопределено, Новый Структура("Заголовки,Cookies,Файлы,Данные", Заголовки, Cookies, Файлы, Данные)); |