Продажи со склада поставщика WildBerries. Взаимодействие с АПИ из 1С
Учетные задачи - Розничная торговля
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
| Наименование | Скачано | Купить файл | По подписке PRO |
|---|---|---|---|
|
Продажи со склада поставщика WildBerries. Взаимодействие с АПИ из 1С
.epf 21,62Kb ver:2.0
155
|
155 | 4 200 руб. Купить | 5 SM Скачать |
|
Продажи со склада поставщика WildBerries. Взаимодействие с АПИ из 1С УТ 10.3 обычные формы
.epf 43,25Kb
67
|
67 | 4 200 руб. Купить | 5 SM Скачать |
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Внимание
Статья сильно устарела, новая по ссылке Интеграция с API WIldberries. Что нового в 2022 во взаимодействии 1С и Вайлдберриз
Целых 3 API
Для начала оказалось, что у Вайлдберриз аж 3 АПИ:
1) АПИ Контент (позволяет авторизоваться и получить карточки товаров, а также загрузить описания и фото)
https://suppliers.wildberries.ru/remote-wh-site/api-content.html
Для его работы сильно помогла публикация //infostart.ru/public/1316698/
2) API Stock&Price - обмен остатками на складе
Для его работы требуются отдельные токены АПИ, получаемые в настройках ЛК.
https://suppliers.wildberries.ru/marketplace-pass/api-access
Если вы их забудете и не скопируете сразу при получении(как я), то придется недельку подождать ответа ТП. Видимо, такой же дикой как ягоды, потому что ну "гениальное" же решение показать токены ровно 1 раз в ЛК а дальше написать "Токены уже предоставлены. Для повторного получения токенов необходимо обратиться в техническую поддержку."
Также не забудьте, что токен занимает целых 64 символа и не обрезается у вас.
3) API Orders - работа с заказами и сборочными заданиями.
Эту часть я дополню позже.
Подготовка к обмену товарами/остатками
Я исходил из того что в ЛК уже есть сколько-то загруженных товаров, через Ексель или созданных вручную. Возможно позже допишу обработку для создания товаров из 1С.
Для работы со вторым АПИ остатков требуется знать Код размера (chrtId) и Артикул WB (nmId) для каждой номенклатуры. Можно их получить, кроме работы с АПИ, просто выгрузив Ексель из перечня номенклатуры поставщика (https://suppliers.wildberries.ru/analytics/nomenclatures) и из него загрузить в дополнительные реквизиты номенклатуры. Но мы же не ищем легких путей? Поэтому написал код получения всех товаров из АПИ. Но, кстати, загрузку из Ексель (точнее csv) тоже оставил.
В процессе работы с АПИ контент для получения номенклатуры столкнулся с такой ошибкой: передавал валидный Json в метод card/list но приходила ошибка доступ запрещен "code":-32603,"message":"access denied"
Оказалось, нужно передавать SupplierID вовсе не тот что получается из АПИ по методу suppliers/getID а из раздела Спецификаций в ЛК полученный по кнопке "получить uuid". Это кстати было в Инструкции написано! Полезно иногда читать мануал.
Кстати говоря чтобы получить WbToken и нормально с ним работать надо сделать логин 3 раза (о да!)
1) сначала получить пинкод смс и смс-токен с помощью метода
/passport/api/v2/auth/login_by_phone
2) потом с этим смс-токеном и пинкодом получить куки со значением WBToken
/passport/api/v2/auth/login
кстати да кроме куки тут в ответе ничего нет
3) потом можно "запомнить" этот WBToken отправив его на
/passport/api/v2/auth/grant
в ответ возвращается еще один токен (аутентификации или как я его назвал основной)
и вот его мы отправляем вместе с куки WBToken на passport/api/v2/auth/login в виде
{
"country": "RU",
"device": "test",
"token": "основной"
}
Теперь с токеном аутентификации можно запрашивать обновление через cookies того самого ВБТокен. Дописал для этого процедуру ОбновитьВБТокенПоОсновному
Запрос номенклатуры
Следующий прикол на который я наткнулся, запросив наконец-то карточки номенклатуры методом LIST (https://content-suppliers.wildberries.ru/card/list) - ограничение лимита по 100 штук, даже если я хочу 999 и явно поставил лимит. Блин мы в 2020, у меня мощный канал интернета, у вас в Диких Ягодах наверняка Дико Производительный Сервер на Golang, если я хочу получить сразу 999 карточек, так дайте мне их блин. Но нет, прилетает 100 штук, и приходится запрашивать еще раз.
Дальше понятно, получаем номенклатуру в Json, находим ее по артикулу и записываем в регистр дополнительные сведения данные по chrtId и nmId. Далее эти сведения нам пригодятся при обмене остатков.
Обмен остатков
Получаем остатки по нужному складу и цены по нужному виду цен. Данные по chrtId и nmId получаем из регистра ДополнительныеСведения. Кстати, если заносить их из файла выгрузки Ексель - тоже можно, есть у меня функция ЗанестиВДопРеквизиты. Только пересохраните Ексель в CSV, так с ним проще работать.
Дальше произошло чудо - сразу возникает ошибка "token is not valid". Причем я пробовал оба, и тестовый и рабочий. Это кажется возникало если данные по ценам были в 0. Или еще json is not valid без каких-то пояснений.
Я долго смотрел на разницу примера, приведенного у Диких Ягод, и своего тестового json и не мог ничего увидеть. Потом понял - цены были с дробной частью, а ДЯ требуют int. Поправил, получил "token is not valid", оказалось что у меня обрезался токен до 50 символов. Поправил, получил успех, остатки обновились.
Создаем номенклатуру
Для начала попробовал создать номенклатуру без фото. Есть метод АПИ https://content-suppliers.wildberries.ru/card/batchCreate
Но думаете там все так просто? Как бы не так!
Создать-то карточку получается, вот только в ответе АПИ поля nmId и chrtId, которые дальше нужны для обмена остатками в API Stock&Price, приходят в 0 - не заполнены то есть! Подозреваю что карточка отправляется на модерацию, но пока точный ответ про это не получил. Поддержка отправляет писать в заспамленный телеграм чат.
Созданная таким образом карточка не появляется в "Аналитике - Отчет с перечнем номенклатур" и не выгружается в Ексель, однако появляется в разделе "Спецификации New". Но этот новый раздел нерабочий и из него карточка не открывается.
Также не все просто оказалось с загрузкой фото - если просто установить тело из двоичных данных, вылезает ошибка upload file 'data' error: request has no multipart/form-data Content-Type. Тут мне помогла статья про формирование multipart/form-data из 1С //infostart.ru/public/20017/ - оказалось двоичные данные картинки нужно кодировать с помощью XMLСтрока. Тогда загрузка файла в Вайлдберриз заработала.
Тестировал на УТ 11.1, платформа 8.3.11.
Иногда обработка работает не у всех - выдает ошибку "access denied" или "supplierID is not valid" - в таких случаях техподдержка отправляет искать помощь в заспамленный телеграм чат. К сожалению, эту проблему можно решать только на стороне WildBerries.
UPD1: добавил версию для УТ 10.3 на обычных формах.
UPD2: на текущий момент написан функционал обмена остатками и создания карточек
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Маркетплейсы 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)
Автоматизация заказов WILDBERRIES, ОЗОН, ЯНДЕКС.МАРКЕТ и СБЕРМЕГАМАРКЕТ по схеме FBS: управление остатками, синхронизация заказов, снижение ошибок. Подключение за 1 день.
67620 руб.
22.03.2021 313554 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
ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения Россия Платные (руб)
Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1, ФФД 1.2). Подключайте любую онлайн кассу к практически любой конфигурации на обычных формах. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим и маркировку. Поддерживает локальный модуль честного знака для офлайн проверки. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows Адаптировано к ставке НДС 22% и ТС ПИоТ.
6100 руб.
27.02.2017 918976 6631 10489
Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь 1С:Предприятие 7.7 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)
Автоматизация заказа поставщику через 1С. Загрузка прайсов, анализ цен, управление заказами в УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2
39141 руб.
21.04.2017 113561 213 44
Оптовая торговля Розничная торговля Обмен с ГосИС Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)
Решение создано для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Задавайте вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, накоплен опыт и знания по данным темам.
20900 руб.
18.03.2019 128398 112 115
Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)
Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.
1091 руб.
15.12.2015 188399 1403 374
Уточню, на всякий случай.
1) АПИ Контент. СМС достаточно будет получить 1 раз, и потом основной токен можно будет всегда использовать в дальнейшем?
2) API Stock&Price. На закладке "Доступ к АПИ" у меня уже написано "Токены уже предоставлены. Для повторного получения токенов необходимо обратиться в техническую поддержку.". Это значит, что токен уже потерян и нужно делать запрос в ТП? В техподдержку нужно звонить или писать куда-то? Куда придет этот токен?
При получении карточек получаю:
{"id":1,"jsonrpc":"2.0","error":{"code":-32603,"message":"access denied","data":{"err":"access denied","trKey":"accessDenied"}}}
Еще вопрос по ссылке есть кнопка "создать токен". Что это за еще один токен?
Получается, что возможно только выгружать всю номенклатуру, либо "запоминать", что выгрузил в прошлый раз. Оба варианта как-то не очень...
"Созданная таким образом карточка не появляется в "Аналитике - Отчет с перечнем номенклатур" и не выгружается в Ексель, однако появляется в разделе "Спецификации New". Но этот новый раздел нерабочий и из него карточка не открывается."
Удалось решить данную проблему?
использую токен аутентификации и cookie: WBToken =
Получаю "err":"access denied" в методе /list
и
"err":"wrong supplier vendor code" в методе /create
Буквально сегодня столкнулся с такой проблемой.
Там в теле запроса для "params" надо добавить еще "supplierVendorCode". Более подробно можно увидеть в инструкции API, расположенной в разделе "Товары" - "Спцификации new".
Если честно, такое API конечно, по кусочкам везде раскидано...
Видимо WB токен истек. Тебе надо его обновить, запросив cookies. Более подробно написано в описании этой статьи
По плану ТП будет обрабатывать мой вопрос неделю! Кажется, это претендент на звание Самая Дикая ТП в мире!
САМЫЙ УЖАСНЫЙ АПИ что я видел!
1)добавили новое поле supplierVendorCode нигде об этом не написав
2) запрос на создание карточек номенклатур в card/batchCreate все еще возвращает chrtId и nmId в 0, а они нужны дальше для обмена остатками
3) созданные карточки видны только в разделе "спецификации new" но при попытке их открыть - backend-errors.предмет не найден
И да, API действительно очень сырой
получила токен, куки, но при получении товаров ошибка.
Дело было в учетной записи. Я для себя, как для разработчика создавала дополнительную учетку, и прикрепляла номер к нему. И токен был не рабочий, но вот когда я использовала номер основной учетки, со всеми правами, токен сработал и успешно получилось список товаров.
Если я отправляю пустую цену-цена останется та же, что и была? Ибо цены у нас на сайте ставят, и в 1С нету нужной цены.
И если при получении списка номенклатуры получаем ответ "access denied" дело в неправильной авторизации или SupplierID неправильный. Беру его по кнопке "Получить uiid"
Простой get с токеном на suppliers-orders.wildberries.ru/api/v1/orders?date_start=2020-11-30T20:59:55+03:00 отдает ошибку на стороне ВБ - 500 "У нас проблемы. Попробуйте позже"
Уже думаю с suppliers.wildberries.ru/marketplace-api/api/private/portal/v1/gather_tasks попробовать дергать, что бы хоть как-то резервирование остатка проходило.
У меня сегодня при попытке получить СМС на строке
ssl = Новый ЗащищенноеСоединениеOpenSSL();
HTTPСоединение = Новый HTTPСоединение("content-suppliers.wildberries.ru",,,,,, SSL);
Виснет режим предпряития и всё.
1.Чтобы все заработало нужно создать Заявка на API Content (Склад поставщика)? после того как ее выполнят получить токен через смс и по этому токену получать WBToken. далее смс авторизация уже не будет нужна?
2.По методу какие параметры обязательны, скажем если я хочу получить весь справочник, а передает только 100 штук, предполагаю что должен быть параметр типа страница с которой надо получать. Кроме каких то фильтров непонятных в их запросе есть еще
"query": { // Пагинаци "limit":10, "offset": 20} это и есть подобие страниц, если да то как это использовать?
ЧЯДНТ?
2. При обновлении остатков на что влияет параметр цена? Передавал разные значения, цена так и не изменилась. На витрине остается цена и скидка та которую установили в ЛК
//шаг1 получить постоянный токен
//НомерТелефона - строго тот что указывался при регистрации ЛК как основной
//смс приходят на любые телефоны но вот токен генерит левый
Процедура ПолучитьТокенНажатие(НомерТелефона)
Стр = Новый Структура;
Стр.Вставить("phone", НомерТелефона);
Стр.Вставить("is_terms_and_conditions_accepted", Истина);
ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login_by_phone", Стр);
Сообщить(ТекстОтвета);
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТекстОтвета);
Ответ = ПрочитатьJSON(Чтение);
Чтение.Закрыть();
Токен = Ответ.token;
КонецПроцедуры
//шаг2 получить постоянный токен
//КодИзСМС - код из смс что пришла на телефон указанный ранее
//Токен - токен который был получен в процедуре ранее
Процедура ПолучитьWBTokenНажатие(КодИзСМС, Токен)
options = Новый Структура;
options.Вставить("notify_code", КодИзСМС);
Стр = Новый Структура;
Стр.Вставить("token", Токен);
Стр.Вставить("options", options);
Заголовки = Неопределено;
ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовки);
Сообщить(ТекстОтвета);
WBtok = Заголовки.Получить("set-cookie");
Поз = СтрНайти(WBtok, "max-age");
WBtok = Сред(WBtok, 1, Поз-3);
Заголовок2 = Новый Соответствие();
Заголовок2.Вставить("Content-Type", "application/json");
Заголовок2.Вставить("Cookie", WBtok);
ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/grant",, Заголовок2);
Сообщить(ТекстОтвета);
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТекстОтвета);
Ответ = ПрочитатьJSON(Чтение);
Чтение.Закрыть();
ГлавныйТокен = Ответ.token;
Стр = Новый Структура;
Стр.Вставить("country", "RU");
Стр.Вставить("device", "");
Стр.Вставить("token", ГлавныйТокен);
Заголовок2 = Новый Соответствие();
Заголовок2.Вставить("Content-Type", "application/json");
Заголовок2.Вставить("Cookie", WBtok);
ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовок2);
Сообщить(ТекстОтвета);
КонецПроцедуры
Функция ПолучитьДанные(Сервер, Ресурс, ВхДанные=Неопределено, Заголовки=Неопределено)
Если ВхДанные=Неопределено Тогда
ДанныеJSON = "";
Иначе
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет));
ЗаписатьJSON(Запись, ВхДанные);
ДанныеJSON = Запись.Закрыть();
КонецЕсли;
SSL = Новый ЗащищенноеСоединениеOpenSSL();
HTTP = Новый HTTPСоединение(Сервер,,,,,600, SSL);
Если Заголовки = Неопределено Тогда
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/json");
Иначе
ЗаголовокHTTP = Заголовки;
КонецЕсли;
ЗапросHTTP = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP);
Если ЗначениеЗаполнено(ДанныеJSON) Тогда
ЗапросHTTP.УстановитьТелоИзСтроки(ДанныеJSON);
КонецЕсли;
HTTPОтвет = HTTP.ОтправитьДляОбработки(ЗапросHTTP);
Если Заголовки=Неопределено Тогда
Заголовки = HTTPОтвет.Заголовки;
КонецЕсли;
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
Возврат Ответ;
КонецФункции Показатьдля получения временного токена(WBТокен ) для работы используем этот главныйТокен
Процедура ОбновитьТокенНажатие()
Стр = Новый Структура;
Стр.Вставить("token", ГлавныйТокен);
Заголовки = Неопределено;
ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовки);
WBtok = Заголовки.Получить("set-cookie");
Поз = СтрНайти(WBtok, "max-age");
WBТокен = Сред(WBtok, 1, Поз-3);
КонецПроцедуры Показать
{
"token": "111",
"data": [
{
"nmId": 9641619,
"stocks":[
{
"chrtId": 31855256,
"quantity": 1,
"storeId": 111
}
]
}
]
}
ошибка {"error": "json is not valid","errorDetails": ""}, тело запроса копирую из инструкции и подставляю свои значения
token Беру из ЛК меню Товары - Спецификации - Создать токен.
Специалист по API WB написал "Если вы уже работаете по обычной схеме, значит уже умеете загружать товар. Вот тогда можно отдельно загружать остатки для работы по схеме Продажа со склада поставщика и там свои сервисы, адреса сервисов и токены, которые можно получить прямо в ЛК". Товар у нас уже заведен, продается по схеме FBO, поэтому по API его не создаем.
Если удастся решить ошибку "json is not valid" напишите, пожалуйста.
### Шаг 1: Отправка SMS кода на телефон и получения токена в ответе для шага 2
POST
Content-Type: application/json
{
"phone": "",
"is_terms_and_conditions_accepted": true
}
### Шаг 2: Отправка верификационного SMS кода на сервер вместе с токеном из предыдущего ответа и получение Cookie для доступа к методам API
POST
Content-Type: application/json
{
"token": "",
"options":{
"notify_code": ""
}
}
### Дальнейшие шаги позволяют отбновлять Cookie без запроса кода на телефон
### Шаг 3: Отправка Cookies из предыдущего ответа для получения токена
POST
Content-Type: application/json
Cookie: WBToken=
### Шаг 4: Добавление токена из предыдущего запроса в список разрешенных
POST
Content-Type: application/json
Cookie: WBToken=
{
"country": "RU",
"device": "Test",
"token": ""
}
### Обновление Cookie (шаг 2) без SMS c токеном (шаг 3)
POST
Content-Type: application/json
{
"token": ""
}
###
Показатьи у озона тоже кругом лимиты на запросы. 2021 год, да, как же можно больше 100 карточек раздавать (((
<Response [500]> {'success': False, 'errors': 'Internal server error'}
Уже мозг сломал.....
Эту часть я дополню позже.
Когда ждать эту часть?
&НаКлиенте
Процедура ПериодПоискаЗаказовПриИзменении(Элемент)
ДатаНачалаJSON = ЗаписатьДатуJSON(ПериодПоискаЗаказов.ДатаНачала, ФорматДатыJSON.ISO, ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением);
ДатаОкончанияJSON = ЗаписатьДатуJSON(НачалоДня(ПериодПоискаЗаказов.ДатаОкончания), ФорматДатыJSON.ISO, ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением)
ДатаНачалаКодированная = КодироватьСтрокуСервер(ДатаНачалаJSON);
ДатаОкончанияКодированная = КодироватьСтрокуСервер(ДатаОкончанияJSON);
ПараметрПередачи = "?date_start=" + ДатаНачала + "&date_end=" + ДатаОкончания;
КонецПроцедуры
&НаСервере
Функция КодироватьСтрокуСервер(Строка)
КодированнаяСтрока = КодироватьСтроку(Строка, СпособКодированияСтроки.КодировкаURL);
Возврат КодированнаяСтрока;
КонецФункции // СпособКодировки()
ПоказатьПроцедура ЗаписатьДопСвойство(НоменклатураСсылка,ИмяСвойства,ЗначениеСвойства)
ПВХСвойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ИмяСвойства,Истина);
Если ПВХСвойство.Пустая() Тогда
ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
ПВХ.Наименование = ИмяСвойства;
// ПВХ.НазначенияСвойствКатегорийОбъектов = Справочники.Номенклатура;
ПВХ.Заголовок = ИмяСвойства;
ПВХ.ТипЗначения = Типзнч(ЗначениеСвойства);
ПВХ.Записать();
ПВХСвойство = ПВХ.Ссылка;
КонецЕсли;
Набор = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Набор.Период = ТекущаяДата();
Набор.Объект = НоменклатураСсылка;
Набор.Свойство = ПВХСвойство;
Набор.Значение = ЗначениеСвойства;
Набор.Записать(Истина);
КонецПроцедуры
Показатьподскажите, как их правильно заполнить
У кого получилось, если не трудно выложите, пожалуйста, пример файла.
{
"token": "11111111111111",
"data": [
{
"nmId": 14656654,
"stocks": [
{
"chrtId": 43263599,
"price": 5847,
"quantity": 1,
"storeId": 111
},
{
"chrtId":43263600,
"price":5847,
"quantity":1,
"storeId":1877
},
{
"chrtId": 43263601,
"price": 5847,
"quantity": 1,
"storeId": 111
},
{
"chrtId": 43263602,
"price": 5847,
"quantity": 1,
"storeId": 111
}
]
}
]
}
Подскажите. Оправляю остатки и цену, ответ 200. Остатки меняются, мы это видим. Цена не меняется. В чем может быть проблема? И как можно получить эту цену, т.к. в card/list такого поля нет
Токен использую же который в ЛК создавал, верно?
Заголовки: Cookie и Content-type, больше никаких?
Сервер: "wbxgate.wildberries.ru" ?
Но при привязки его к карточке выходит ошибка:
{"id":"c403d163-d096-5b21-9f4e-8cf4afb9683c","jsonrpc":"2.0","error":{"code":-32603,"message":"internal error: media client: response status code from is 500, resp body: photo index: 0. err: не удалось декодировать изображение cause: map[err:Ошибка загрузки фотографий. Пожалуйста, повторите позже]","data":{"err":"internal error","trKey":"card.internal","cause":{"err":"Ошибка загрузки фотографий. Пожалуйста, повторите позже"},"payload":"media client: response status code from is 500, resp body: photo index: 0. err: не удалось декодировать изображение"}}}
Автор, у вас работает этот механизм на сегодняшний день?
Не получается авторизоваться с токеном что выдали на сайте.
Хочу выбрать заказы с определенной даты.
/api/v2/orders?date_start =2021-05-24 00:00:00&take=100&skip=0
Токен отправляю в заголовке как "X-Auth-Token"
Заголовки=новый Соответствие();
Заголовки.Вставить("X-Auth-Token",ЭтотОбъект.Токен);
в ответе
errors "invalid authorization token" .
Может название ключа для токена неправильное?
Адрес сервера использую - suppliers-api.wildberries.ru
в заголовках указываю токен с ключом "X-Auth-Token"
скрипт такой - /api/v2/orders?date_start =2021-10-04 00:00:00&take=100&skip=0
ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
Заголовки=новый Соответствие();
Заголовки.Вставить("X-Auth-Token",ЭтотОбъект.Токен);
//Заголовки.Вставить("accept","application/json");
HTTP_Соединение = Новый HTTPСоединение(ЭтотОбъект.АдресСервера,,,,,,ssl);
HTTPЗапрос=новый HttpЗапрос(АдресСкрипта,заголовки);
HttpОтвет=HTTP_Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Показатьв ответе 405 код - ошибка авторизации или запроса.
Скорее всего, что-то не так в параметрах. А что?
ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
Заголовки=новый Соответствие();
Заголовки.Вставить("X-Auth-Token",ЭтотОбъект.Токен);
Заголовки.Вставить("Authorization",ЭтотОбъект.ApiKey);
Заголовки.Вставить("accept","application/json");
HTTP_Соединение = Новый HTTPСоединение(ЭтотОбъект.АдресСервера,,,,,,ssl);
HTTPЗапрос=новый HttpЗапрос(АдресСкрипта,заголовки);
HttpОтвет=HTTP_Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Результат=HttpОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
Показатьне авторизует
КодСостояние HttpОтвет = 405
Результат = Method Not Allowed
"validation error cause: map[err:Пожалуйста, выберите Страну производства из нашего справочника!]"
Пробовал вместо своего текста запроса подставлять тт что в примере API таже ошибка
СТрану передаю
""countryProduction"": ""Россия"",
Может кто в курсе в чем причина?
Пробовал скачивать справочник стран там так и написано "Россия"
что-то я не понял про заголовок Autotrization
suppliers-api.wildberries.ru/api/v2/orders?date_start=" + ДатаОт + "&take=900&skip=0" + "&id=" + ИдЗаказа;
куда здесь еще заголовок втыкать?
вот есть строка, тупо прям с браузера: ?
она должна быть а-ля: или еще каким-то образом должна выглядеть?
В связи с переходом на новое API Контента старые методы будут отключены. К их числу относятся:
/card/*
/api/v1/config/*
/api/v1/directory/*
Данные методы теперь возвращают код 404. Новое API Контента описано в данном документе в разделах Контент / *
Кто-нибудь уже разобрался, как получить карточки с WB (/card/list)?
Скажите, в урле :
для логина из скрипта, что-то помелянось ?
Может сейчас какой-то другой субдомен для этого ?
Я все время получаю ошибку :
502 Bad Gateway
Может кто-нибудь знает , в чем может быть проблема ?
Вызываю в своем php скрипте....
Спасибо.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1321781
Создание 06.11.20 08:00
Обновление 09.01.22 21:59
Просмотры 56381
Загрузки 222
Рейтинг
36
Комментарии 145
Код открыт Да
Рубрики Розничная торговля Маркетплейсы
Кому Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С:Предприятие 8
Конфигурация 1С:Управление торговлей 11
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Управленческий учет
Доступ к файлу Абонемент ($m)