Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)
Добрый день, хочу описать опыт интеграции с API WB (Wildberries) в части создания карточки товаров (спецификации).
Сама задача состояла в том, чтобы была возможность работать со своего склада, управлять остатками через API , а не через личный кабинет, и использовать все возможности API для автоматизации процесса.
Здесь уже есть статьи по интеграции с WB, а именно получение токенов для интеграции, поэтому получение токенов опишу вкратце.
Для интеграции используется три API
1. Для работы с карточками.
2. Для управления остатками на своем складе и получения заказов на сборку
3. Сервис статистики: загрузка заказов, продаж, поставок, отчета по продажам
Для каждого из вариантов используется свои ключ/токен.
Для работы с карточками необходимо получить основной токен, с помощью которого получаем Cookie, который используем в запросах. Для получения основного токена необходимо выполнить шаги, которые указаны по ссылке https://suppliers.wildberries.ru/remote-wh-site/api-content.html. Для регистрации нужно использовать основной номер, на который была регистрация. Отмечу, что обновление Cookie понадобится в том случае, если вы долгое время не делали запросов.
Для управления остатками на своем складе токен для работы получаем на странице https://suppliers.wildberries.ru/marketplace-pass/warehouses при первом запросе доступа к API. Если токены (их два: основной и тестовый) не сохранились, то для получения необходимо создать заявку на Service Desk. Тестовый url и тестовый токен у меня были не доступны, поэтому для тестирования использовала рабочие. Здесь отмечу, что метод обновления стоков и цен обновляет только стоки, цены на момент написания статьи пока не меняет.
Для работы с сервисом статистики необходимо создать заявку на Service Desk. Есть отдельная категория для этого: Заявка на API content. В моем случае пришлось ждать около недели для получения ответа на заявку. Само описание сервиса статистики нашла в разделе Обучение в личном кабинете.

Далее подробно опишу свой опыт интеграции с API по работе с карточками.
Получение списка карточек
Получение списка карточек не вызвало трудностей. Описание работы с API можно прочитать здесь https://suppliers.wildberries.ru/remote-wh-site/api-content.htm. Обращаю внимание на параметр offset, это не следующая страница, а количество записей, которое надо пропустить, это написано в описании, но сначала не обратила на это внимания.
Запрос отправляла без отборов, вида:

SupplierID получаем на странице

В заголовке запроса указываем куки:

Куки указываем во всех последующих запросах по работе с карточками товаров.
Получаем в результате JSON вида:

Создание карточки товара
Здесь оказалось не все так просто. Для формирования структуры запроса для отправки на создание карточки необходимо выполнить кучу дополнительных запросов.
Структура карточки, если описать словами:
Верхняя структура – карточка и ее свойства, подструктура – номенклатура карточки (массив) и свойства номенклатуры, подструктура номенклатуры – вариации(массив) и его свойства. И свойство может иметь массив параметров.
Часть свойств обязательна и, причем, некоторые свойства заполняются из определенного списка (предопределенного), часть числового формата с указанием свойства units, часть строкового типа.
Пример JSON для отправки запроса на создание карточки (addIn – это свойства, постаралась показать что имела ввиду под свойствами карточки, свойства номенклатуры и свойства вариации).

Для создания карточки понадобится:
- Предварительная загрузка фотографии с сохранением ID файла
- Получение категории карточки, здесь не получится вариант указать свой, нужно выбрать из предопределенного набора.
- Получение свойств по категории, получение свойств по номенклатуре, получение свойств по вариации, которые необходимо заполнить.
- Получение предопределенных значений по свойствам (не по всем).
Загрузка файла
Для загрузки файла в описании API написано, что можно использовать два метода:
Create. https://content-suppliers.wildberries.ru/card/create
Update. https://content-suppliers.wildberries.ru/card/update
Описание https://content-suppliers.wildberries.ru/card/update не нашла, использовала ту же структуру, что и для метода create, но в итоге не обновляет, а работает также как метод create, поэтому использовала только метод https://content-suppliers.wildberries.ru/card/create.
Для начала нужно файл/фото загрузить на сайт. Фотография должна быть вертикальная, размер не менее 900x1200, расширение или jpg или png.
В API описание загрузки следующее:

В 1С у меня формирование файла для отправки выглядит следующим образом
Вырезки кода по формированию файла для отправки:


Самое главное, это IDFile, который у меня равен Строка(Новый УникальныйИдентификатор) ( можно и по-своему, главное сохранить формат "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"), его нужно сохранить, так как он используется при создании карточки.
В тэге photos указываем сохраненные ID файлов.
Получение категории товара
В структуре JSON на верхнем уровне обязательны к заполнению тэги object, countryProduction, supplierVendorCode.
Про supplierVendorCode, в поддержке пишут, в дальнейшем будет упразднен, сейчас заполняю его равным VendorCode в структуре «nomenclatures»,
countryProduction – это значение из справочника countries (dictionary = countries, ниже описано как получить значения из этого справочника, это пункт «Получение значений по свойствам»),
object – категория товара, выбирается из определенного набора значений, который получаем следующим образом:
Отправляем запрос get https://content-suppliers.wildberries.ru/ns/characteristics-configurator-api/content-configurator/api/v1/config/get/object/list?pattern=игр&lang=ru, где в url запроса pattern – подстрока по категории. Указание обязательно, если не указать, то не получится получить весь список категорий, получаем пустой массив.
В ответ получаем JSON следующего вида:

Получение свойств по категории
Затем необходимо найти , какие свойства указать для выбранной категории, для этого отправляем запрос на адрес GET https://content-suppliers.wildberries.ru/ns/characteristics-configurator-api/content-configurator/api/v1/config/get/object/translated?name=Кроссовки&lang=ru , где name в запросе – это Наименование категории, что параметр регистрозависимый.
Получаем JSON вида

В итоге получаем набор свойств, который необходимо заполнить для выбранной категории, набор свойств номенклатуры и набор свойств для вариации номенклатуры.
Необходимо обратить внимание на следующие тэги:
type – это само свойство,
required – обязательность заполнения,
dictionary – тег указывает на то, что значения необходимо брать из указанного справочника,
isNumber – указывает, что это число, и указывать надо число и заполнять тэг count, в противном случае value в структуре карточки товара (пример JSON вначале),
units – это единица измерения, если тэг указан, то при создании карточки необходимо указать этот тэг свойства и указать значение,
maxCount – это максимально возможное указанное значения count.
Здесь обязательными к заполнению являются помимо прочего свойства вариации:
type: «Розничная цена», units: «рублей», count: «ЗначениеЧисло»;
type: «Размер», value: «0».
Получение значений по свойствам
И наконец, для получения значений по свойствам, по которым указан тэг dictionary, отправляем запрос GET https://content-suppliers.wildberries.ru/ns/characteristics-configurator-api/content-configurator/api/v1/directory/brands?pattern=nike&lang=ru&top=50.
В этом примере brands – это значение dictionary, pattern – это подстрока значения, top – количество элементов.
В ответ получаем JSON вида

Значения – это тэг translate.
Если все обязательные свойства указаны, структура сформирована верно, то в ответ получаем код состояния 200 и примерно такой JSON

Если все верно, то на сайте в Спецификации New появляется карточка со статусом Создан.
Если статус «На проверке», то, скорее всего, состояние перейдет в состояние «Ошибки» (по крайней мере в моем случае так и было).
Остались нерешенные проблемы с загрузкой файла, указывала как описано в API, и в свойствах номенклатуры как тип «Фото», пробовала разные варианты, но или карточка совсем перестает открываться и без поддержки ее не открыть, или отображение в виде двоичного кода. Запросы в поддержку пока не дали результата. Если у кого есть ответ на этот вопрос, то буду признательна.
Надеюсь, что сумела донести мысль, задавайте, пожалуйста, вопросы, если таковые возникли.
Дополнение от 11.02.2021
Появилось обязательное заполнение поля Код ТНВЭД. Чтобы получить значения нужно указать запрос get вида https://content-suppliers.wildberries.ru/ns/characteristics-configurator-api/content-configurator/api/v1/directory/tnved?subject=Термосы. Если вашего значения кода нет, то нужно создать инцидент на Service Desk.
Дополнение от 02.03.2021
Победила загрузку файла, оказалось, что файл не кодированный.
Кусок кода для загрузки фото на сайт, надеюсь кому поможет , спасибо статье
http://infostart.questa.ru/public/20017/
Boundary = "boundaryImage";
ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt";
МассивФайловДляОбъединения = Новый Массив;
//Формируем начальный фрагмент файла POST-запроса
ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt");
ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь);
//Определяем раздел двоичных данных
ФайлОтправкиНачало.ЗаписатьСтроку("--" + Boundary);
ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name=""uploadfile""; filename=""photo.jpg""");
ФайлОтправкиНачало.ЗаписатьСтроку("");
ФайлОтправкиНачало.Закрыть();
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);
//Копируем файл для загрузки во временный и добавляем в массив файлов для объединения
ИмяФайлаДляЗагрузкиВременный = ПолучитьИмяВременногоФайла("jpg");
КопироватьФайл(ПутьКНашемуФайлу, ИмяФайлаДляЗагрузкиВременный);
МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузкиВременный);
ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt");
ФайлОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь);
//Завершение раздела двоичных данных
ФайлОтправкиКонец.ЗаписатьСтроку(символы.ПС + "--" + Boundary + "--");
ФайлОтправкиКонец.Закрыть();
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);
//Теперь сформированные фрагменты сообщения для сервера объединяем в один файл POST-запроса
ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);
ОтветАПИ = di_HTTPService.ПолучитьСоединениеHTTP_POST_File(Справочники.di_Методы.ЗагрузитьФайл,Объект.supplierID,Объект.IDFile,ИмяФайлаОтправки);
Если ОтветАПИ <> неопределено Тогда
СтрокаJSON = Строка(ОтветАпи.КодСостояния) + " " + ОтветАпи.ПолучитьТелоКакСтроку();
КонецЕсли;
И добавлять надо в свойства номенклатуры, в итоге вот так должно выглядеть ( это кусок только)
"addin": [
{
"type": "Фото",
"params": [
{
"value": "e3ee6410-a09b-4dfe-a84b-ce8946abc521",
"units": "images/jpeg"
}
]
}
Вступайте в нашу телеграмм-группу Инфостарт
Интеграция с WB 1С маркетплейс создание карточки API токены загрузка файлов
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Маркетплейсы 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)
Автоматизация заказов WILDBERRIES, ОЗОН, ЯНДЕКС.МАРКЕТ и СБЕРМЕГАМАРКЕТ по схеме FBS: управление остатками, синхронизация заказов, снижение ошибок. Подключение за 1 день.
67620 руб.
22.03.2021 313552 2603 2186
Маркетплейсы 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)
Подключите маркетплейсы Ozon, WB, АлиЭкспресс и ЯндексМаркет к 1С. Удобное управление заказами, остатками и синхронизация данных из одного окна 1С для УНФ, УТ, КА, ERP. Единый интерфейс работы для всех площадок. Отправка остатков по сопоставленным товарам по расписанию, гибкая настройка отправки. Парсинг цен СПП для Озон и Вайлбериз доступен в версии модуля 3.0.5.10
23.01.2023 82727 785 user1468243 212
Маркетплейсы Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)
SynchroWB — модуль для интеграции 1С с Wildberries. Автоматизация заказов, управление остатками, поддержка УТ, КА, ERP, УНФ и Розница.
19700 руб.
16.04.2021 131749 1416 704
Маркетплейсы Разработчик Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)
Интеграция маркетплейсов с 1С:УТ 10.3, КА 1.1, УПП 1.3. Автоматизация по FBS/FBO, управление заказами и синхронизация остатков для старых конфигураций. Поддержка RICH-контента OZON
28800 руб.
12.05.2021 123662 1073 274
Маркетплейсы Разработчик Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)
Полноценный обмен со всеми маркетплейсами: МегаМаркет, Wildberries, Яндекс.Маркет, OZON, VK, ALI, Авито, МагнитМаркет, Детский мир. Так же подключили сервис Dostavista, автоматическая отправка заказов на доставку. Данный модуль позволяет полностью интегрировать 1С:УТ11.4/11.5, 1С:КА 2.4/2.5, 1С:ERP 2.4/2.5, 1С: УНФ 3.1, 1С: Розница 2.3/2.4 по API с Wldberries, Яндекс.Маркет, OZON, ALI, VK, МегаМаркет и МагнитМаркет. Схемы работы: ВИТРИНА + ДОСТАВКА, ЗАКАЖИ И ЗАБЕРИ + ВИТРИНА, ДОСТАВКА СИЛАМИ ПРОДАВЦА, ЭКСПРЕСС-ДОСТАВКА. Модуль зарегистрирован в Реестре программного обеспечения, а также являемся технологическими партнерами МегаМаркет и Wildberries, что говорит о гарантиях использования решения.
70000 руб.
09.10.2020 68408 419 84
Загрузка и выгрузка в Excel Маркетплейсы Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)
Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, ЛаМода, Мегамаркет, Aliexpress, Детский мир, Магнит Маркет (быв.МагнитЭкспресс), Лемана про, ЭНФАНТА (Акушерство), Летуаль, Твой дом, Золотое Яблоко, Каспи, Авито, Аптеки+, М.Видео,Тинькоф в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP.
5490 руб.
12.08.2021 48524 654 71
Загрузка и выгрузка в Excel Маркетплейсы Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Платные (руб)
Обработки загрузки данных о продажах WildBerries предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3
6000 руб.
11.12.2019 68100 1163 3
Загрузка и выгрузка в Excel Маркетплейсы Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)
Обработки загрузки данных о продажах Ozon предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3
6000 руб.
26.11.2020 51323 865 4
В рабочей базе запросы не в WB, а к этому промежуточному звену. Это снимает нагрузку с рабочей базы и дает возможность хранить историю запросов и данных, не меняя конфигурацию рабочей базы и не привязывается к определенной конфигурации.
Попробовала, добавила тэг ID в структуру card, в ответ получила {"id":"d9018ee2-b709-465b-ab0e-79b4cefa0b69","jsonrpc":"2.0","result":{}}, я так понимаю, это означает, что обновление прошло успешно.
В личном кабинете Номенклатура обнулилась ( как вы и написали), и упало в статус Ошибки, потому что при обновлении не указала страну. Странно, конечно, работает update, по-хорошему перед тем как обновить, необходимо было проверить заполненность... ))
К слову, даже когда указала второй раз все верно по другой карточке по заполнению, все равно карточка упала в ошибку.
Текст ошибки "Характеристика: tech_size. Ошибка: Артикул с таким размером уже создан! Удалите позицию из спецификации и загрузите на нее баркод в разделе Загрузки - Загрузки баркодов.", хотя до этого проблем с артикулами не было и карточка была создана.
Мне тоже при апдейтах возвращает ошибку "Артикул с таким размером уже создан". Если сделать еще один апдейт с новым баркодом, то карточка сразу получает заполненный nmId, ошибки уходят (если ее перечитать после апдейта). Возможно что по аналогии с id карточки нужно добавлять соответствующие id номенклатур и вариаций. Подозреваю, что без id пытается создать новую вариацию, даже если id карточки и указано. Но это догадка, еще не проверял.
А как вы удаляете? delete с одним тегом {id}?
Имела ввиду, что удалить в личном кабинете не дает карточку, у которой заполнена номенклатура, а так хотя бы можно ее удалить из списка после обнуления номенклатуры без обращения в поддержку, которая обрабатывает запросы неделю.
Этот API - черный ящик :). Спасибо за идею, надо попробовать указать id номенклатуры и вариации, или еще как вариант указать их chrtId и nmId.
По удалению: есть метод /card/delete, работает аналогично cardById. Удаляет даже с заполненным nmId (во всяком случае через апи этих карточек больше не видно, а через кабинет я посмотреть не могу).
Фото еще не грузил, но чувствую тоже будут сюрпризы. Раньше (с месяц назад) в карточке приходили идентификаторы фото, как в документации указано, теперь получаешь карточку - а там url вместо идентификаторов.
некорректно указан минимальный вес: строка 2
jenyavp, пожалуйста, помогите мне разобраться! Я совсем новичок, все заполнила, но немного накосячила с бар-кодом. Теперь система не дает его изменить. А если добавляю второй бар-код, то выдает точно такую же ошибку: "Характеристика: tech_size. Ошибка: Артикул с таким размером уже создан! Удалите позицию из спецификации и загрузите на нее баркод в разделе Загрузки - Загрузки баркодов.".
Очень прошу Вас, расскажите пошагово про удаление карточки через Service Desk.
ЗАРАНЕЕ БЛАГОДАРЮ!!!
Можно также отправить запрос к API , если вы знаете CARD_ID,
Тело {
"id": 1,
"jsonrpc": "2.0",
"params": {
"cardID": "00000000-0000-0000-0000-000000000000", // ID карточки. Можно получить в ответе сервиса после создания карточки или методом "List", который рассмотрен ниже.
"supplierID": "00000000-0000-0000-0000-000000000000" // ID поставщика. Выдаётся при регистрации поставщика.
}
}
Как писали выше, удаляет даже если заполнена Номенклатура.
jenyavp, пожалуйста, помогите мне разобраться! Я совсем новичок, и это моя первая карточка))). Я все заполнила, но немного накосячила с бар-кодом. Теперь система не дает его изменить. А если добавляю второй бар-код, то выдает точно такую же ошибку: "Характеристика: tech_size. Ошибка: Артикул с таким размером уже создан! Удалите позицию из спецификации и загрузите на нее баркод в разделе Загрузки - Загрузки баркодов.".
Очень прошу Вас, расскажите пошагово про удаление карточки через Service Desk.
ЗАРАНЕЕ БЛАГОДАРЮ!!!
(7)
Тоже не удалось побороть загрузку файлов, в ответ стабильно возвращает пустую структуру: "{ }" (при коде возврата = 200, если нет ошибок).
Причем не важно, разрешение ли 900x1200 или другое, кодировать ли тело методами xmlстрока() или base64строка(), формат фото (jpg,png), имя... Код возврата 200 и "{ }".
Можно предположить, что это и означает успешную загрузку, потому что при повторной загрузке на тот же самый идентификатор фото, сайт возвращает код 500 Internal Server Error (видимо идентификатор уже занят). Но update карточки с тегом photos в номенклатуре и с этим id имеет нулевой эффект. При чтение карточки после update фото нет (
Не слышал о таком. Думаю тут имеют место быть недоделки со стороны WB. Если id фото передавать при create, а не при update, то в этом случае это id присутствует при чтении карточки в photos. Только я не могу оценить это со стороны ЛК, нет туда быстрого доступа.
Возможно в этом теге photos обозначается нахождение фото на модерации, но сколько это должно длится по времени - вопрос.
Похоже на то, что WB не может декодировать то, что ему присылают через xmlстрока или base64строка.
Я попробовал в ручном режиме загрузить через curl, как в примере документации. После загрузки возвращает все также {}, но зато файл, загруженный таким образом можно прицепить к карточке и это получилось ) Цеплял через update в секции Addin номенклатуры (там, где приходят url-ы имеющихся фото, только вместо url указывал идентификаторы).
Тут просто нужен какой-то работающий механизм загрузки, аналогичный curl.
Response status code from ... is 500, resp body: photo index: 0. err: не удалось декодировать изображение cause: map[err:Ошибка загрузки фотографий. Пожалуйста, повторите позже]
А то, что загружено при помощи curl - привязывается.
"validation error cause: map[err:Пожалуйста, выберите Страну производства из нашего справочника!]"
Пробовал вместо своего текста запроса подставлять тт что в примере API таже ошибка
СТрану передаю
""countryProduction"": ""Россия"",
Может кто в курсе в чем причина?
ИмяФайлаЗапросаWB = ПолучитьИмяВременногоФайла();
ОбъектЗапись = Новый ЗаписьJSON;
ОбъектЗапись.ОткрытьФайл(ИмяФайлаЗапросаWB,КодировкаТекста.UTF8 );
ОбъектЗапись.ЗаписатьБезОбработки( ПараметрыЗапроса );
ОбъектЗапись.Закрыть();
Сервер = "suppliers-api.wildberries.ru"; //Новый Content API
HTTP = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапросаWB); ПоказатьСоединение = Новый HTTPСоединение("suppliers-api.wildberries.ru",,,,,5, Новый ЗащищенноеСоединениеOpenSSL());
//Заполняем заголовки
HTTPЗапросЗаголовки = Новый Соответствие();
HTTPЗапросЗаголовки.Вставить("accept", "application/json");
HTTPЗапросЗаголовки.Вставить("Authorization", КлючAPI);
HTTPЗапросЗаголовки.Вставить("Content-Type", "application/json");
Запрос = Новый HTTPЗапрос("/card/list", HTTPЗапросЗаголовки);
Запрос.УстановитьТелоИзСтроки("{""id"":1,""jsonrpc"":""2.0"",""params"":{""query"":{""limit"":"+100 (как вариант первые 100)+"}}}");
HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос);
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
Если HTTPОтвет.КодСостояния = 200 Тогда
Сообщить("ОК");
Сообщить(Ответ); //получим HTML-код страницы
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Ответ);
Стрктурра = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Иначе
Сообщить("NOPE");
Сообщить("Код ответа: "+Ответ.КодСостояния); //анализируем код состояния и делаем выводы
КонецЕсли; ПоказатьВы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1362401
Создание 18.01.21 08:30
Обновление 02.03.21 21:51
Просмотры 84544
Загрузки 0
Рейтинг
47
Комментарии 69
Код открыт Да
Рубрики Маркетплейсы
Кому Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Россия
Отрасль ИТ-компания
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)