Имя: Пароль:
1C
1С v8
1С Получение данных по API из Wildberries печать сборки (сервис /api/v3)
0 bormanius
 
22.02.23
14:18
Добрый день.

В http запросах не силен, не могу найти где ошибка.

Задача: по номеру задания Wildberries получить этикетку с двухмерным штрихкодом.

Ранее все работало по сервису /api/v2/orders/stickers/pdf:

Код модуля:
Заголовки=новый Соответствие();
    Заголовки.Вставить("Authorization",Токен);
    Заголовки.Вставить("Content-Type","application/json");
    Заголовки.Вставить("Accept","application/json");
    
    SSL_Соединение=Новый ЗащищенноеСоединениеOpenSSL();
    HttpСоединение=новый HttpСоединение("suppliers-api.wildberries.ru",443,,,,,SSL_Соединение);
    
    posting_number = Новый Массив; //Массив с номерами заданий ВБ
    posting_number.Добавить(НомерЗаказаВБ);

    
    //Блок по старому:
    Сервис="/api/v2/orders/stickers/pdf";
    
    ПараметрыЗапроса = Новый Структура;
    ПараметрыЗапроса.Вставить("orderIds", posting_number);
    ПараметрыЗапроса.Вставить("type", "qr");
    
    ТелоЗапроса = Ozon_ОбщегоНазначенияВызовСервера.ПреобразоватьДанныеВJSON(ПараметрыЗапроса);
    ПерекодированныйЗапрос = Ozon_ОбщегоНазначенияКлиентСервер.ПерекодироватьСтроку(ТелоЗапроса);
    
    //Основной запрос
    HTTPЗапрос=новый HttpЗапрос(сервис,заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ПерекодированныйЗапрос, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    
    HttpОтвет=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    СостояниеВыполнения = HttpОтвет.ПолучитьТелоКакСтроку();
    Сообщить(СостояниеВыполнения);

На выходе ранее получал двоичные данные, сейчас получаю:
{"additionalErrors":null,"data":{},"errorText":"Работа методов v2 ограничена. Методы в процессе деактивации. Просьба перейти на методы v3:\nhttps://openapi.wb.ru/#tag/Marketplace-Sborochnye-zadaniya\nhttps://openapi.wb.ru/#tag/Marketplace-Ostatki","error":true}


Попробовал перейти на новые методы, изменил код:
        Сервис="/api/v3/orders/stickers";
    
    ПараметрыЗапроса = Новый Структура;
        ПараметрыЗапроса.Вставить("orders", posting_number);
    ПараметрыЗапроса.Вставить("type", "png");    
    ПараметрыЗапроса.Вставить("width", 58);    
    ПараметрыЗапроса.Вставить("height", 40);    
    
    ТелоЗапроса = Ozon_ОбщегоНазначенияВызовСервера.ПреобразоватьДанныеВJSON(ПараметрыЗапроса);
    ПерекодированныйЗапрос = Ozon_ОбщегоНазначенияКлиентСервер.ПерекодироватьСтроку(ТелоЗапроса);

    HTTPЗапрос=новый HttpЗапрос(сервис,заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ПерекодированныйЗапрос, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
        
    HttpОтвет=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    
    СостояниеВыполнения = HttpОтвет.ПолучитьТелоКакСтроку();
    Сообщить(СостояниеВыполнения);

На выходе получаю:
Статус выполнения по новому
{"code":"IncorrectParameter","message":"Передан некорректный параметр"}


Не могу понять, какие параметры некорректны.
Описание методов АПИ:
https://openapi.wildberries.ru/
1 НафНаф
 
22.02.23
14:47
orders - это тело запроса, остальные параметры в строке запроса, то бишь: /api/v3/orders/stickers?type=png&width=58&height=40
2 bormanius
 
22.02.23
14:53
НафНаф, Спасибо огромное.
3 Проводкин
 
22.02.23
15:15
на wb на этой неделе методы все поменялись по работе с сборочными заданиями на v3  теперь v2 окончательно и бесповоротно отключено.,  а так же неделю назад  отрубили аторизацию   на старых  токенах  статистики.
4 Проводкин
 
22.02.23
15:19
(0) стикеры это еще только  начало)
5 Проводкин
 
22.02.23
15:21
(0) рекомендую  по  этим запросам установить postman и на нем тестировать запросы