Имя: Пароль:
1C
1С v8
УТ 10.3 и Wildberries API (новый)
,
0 wolfstermeister
 
04.03.23
16:57
Всем добрый день!
Пишу интеграцию УТ 10.3 с Wildberries по новому API
Получение списка номенклатур новым методом "/content/v1/cards/cursor/list"

Код:

Соединение = Новый HTTPСоединение("suppliers-api.wildberries.ru",,,,,5, Новый ЗащищенноеСоединениеOpenSSL());    
//Заполняем заголовки
HTTPЗапросЗаголовки = Новый Соответствие();
HTTPЗапросЗаголовки.Вставить("accept", "application/json");
HTTPЗапросЗаголовки.Вставить("Authorization", КлючAPI);    
HTTPЗапросЗаголовки.Вставить("Content-Type", "application/json");    
Запрос = Новый HTTPЗапрос("/content/v1/cards/cursor/list", HTTPЗапросЗаголовки);    
Запрос.УстановитьТелоИзСтроки("{""sort"":{""cursor"":{""limit"":1000},""filter"":{""withPhoto"": -1}}}");    
HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос);
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
Если HTTPОтвет.КодСостояния = 200 Тогда
   Сообщить("ОК");
   Сообщить(Ответ); //получим HTML-код страницы
   ЧтениеJSON = Новый ЧтениеJSON();
   ЧтениеJSON.УстановитьСтроку(Ответ);
   Структура = ПрочитатьJSON(ЧтениеJSON);
   ЧтениеJSON.Закрыть();
Иначе        
   Сообщить(Ответ);
   Сообщить("Код ответа: " + HTTPОтвет.КодСостояния); //анализируем код состояния и делаем выводы
КонецЕсли;


При выполнении вываливается ошибка с текстом:
request body could not be decoded: readObjectStart: expect { or n, but found �, error found in #1 byte of ...|{"sort":|..., bigger context ...|{"sort":{"cursor":{"limit":1000},"filter":{"with|...
Код ответа: 400

По тексту ошибки вроде понятно, что якобы неправильно составлено тело запроса: встречается какой-то непонятный символ вместо фигурной скобки. Но там же нет никаких лишних символов.
Я что-то не так понимаю в работе с новым АПИ?
1 бегинер
 
04.03.23
22:20
в postman проверь работу api, потом в 1с делай
2 Builder
 
05.03.23
00:40
(0) Запрос.УстановитьТелоИзСтроки("{""sort"":{""cursor"":{""limit"":1000},""filter"":{""withPhoto"": -1}}}");  
Жесть, дальше можно не смотреть....
3 Builder
 
05.03.23
00:45
(0) Открой для себя "Структуру" уже....
Смотри тут, я кидал примеры - Помогите с JSON
4 wolfstermeister
 
05.03.23
08:59
Всем спасибо за помощь!
Структура здесь ни при чем. А вот за ссылку на примеры - спасибо. В методе УстановитьТелоИзСтроки есть два необязательных параметра, один из которых определяет использование BOM в кодировке. Его установка в значение "НеИспользовать" решила проблему.
5 Builder
 
05.03.23
10:17
(4) Структура тут позволяет писать нормальный понятный код, а не городить кучу скобок и кавычек.
6 wolfstermeister
 
05.03.23
10:48
(5) А, в этом смысле)))) Ну извините, я не специально)))
7 wolfstermeister
 
11.03.23
12:19
Вдруг кому пригодится. Шаблон обработки для работы с Wildberries API (новый, с осени 2022 года). Реализовано: получение складов, остатков, данных о карточках товаров с баркодами. Дальше кому нужно - дорабатывайте под свои нужды.
https://disk.yandex.ru/d/EhwgmQY5gvMFfg
8 wolfstermeister
 
11.03.23
12:20
Да, забыл. Обработка под обычный интерфейс
9 mikecool
 
11.03.23
21:13
(7) не, после (2) - не надо )))
10 Fram
 
11.03.23
22:18
(5) а что в (2) непонятно?