Изменение наименования товара на Wildberries

13.06.22

Интеграция - Маркетплейсы

Обработка для изменения наименования номенклатуры на сайте WB посредством API.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Изменение наименования товара на Wildberries:
.epf 13,21Kb
9
9 Скачать (1 SM) Купить за 1 850 руб.

Обработка для изменения наименования номенклатуры на сайте WB посредством API.

Полноценно рабочая, но с минимальным функционалом.

Как пользоваться: На форме необходимо выбрать Организацию и нажать на кнопку "Получить значения", обработка запросит список номенклатуры из вашего магазина и заполнит таблицу на форме для дальнейшей работы.

Также во вкладке Настройки есть возможность выбрать конкретную номенклатуру по его Артикулу в маркетплейсе.

Поля "Ограничение списка" нужны для того, чтобы выбрать определенное количество товаров (если их много), пропустив (если необходимо) указанное количество.

Очередность товаров в данном списке на усмотрение Маркетплейса.

После заполнения таблицы и для активации кнопки "Применить значение" необходимо заполнить одно из полей колонки "Новое наименование".

После нажатия "Применить значение" наименование на маркетплейсе изменяется на указанное. Обновление на сайте происходит до 30 минут, в зависимости от количества SKU. В среднем 10 минут.

Обработка не привязана к конфигурации и не имеет ограничений по платформе.

Тестировалась на платформе 8.3.18, в конфигурациях УТ11.4.13 и Бухгалтерия 3.0.108

Для полноценной работы необходимо в справочнике Организации добавить дополнительный реквизит, строка, с именем "WB_ApiKey". А также в хараrтеристике реквизит "КодВБ" (по желанию можно переписать откуда брать "nmID" - код обработки открыт)

Затем вставить туда API ключ, который можно получить в личном кабинете WB.

Руководство по получению API можно найти в сети. Как вариант по ссылке //infostart.ru/public/1581395/
 


Если скачивать обработку нет желания, вот основные функции:

1. Получение данных:

Соединение = Новый HTTPСоединение("suppliers-api.wildberries.ru",,,,,5, Новый ЗащищенноеСоединениеOpenSSL());
    //Заполняем заголовки
    HTTPЗапросЗаголовки = Новый Соответствие();
    HTTPЗапросЗаголовки.Вставить("accept", "application/json");
    HTTPЗапросЗаголовки.Вставить("Authorization", APIKey);
    HTTPЗапросЗаголовки.Вставить("Content-Type", "application/json");
    Запрос = Новый HTTPЗапрос("/card/list", HTTPЗапросЗаголовки);

    СериализованнаяСтрока = СобратьЗапросКарточек(КоличествоSKU,ПропуститьSKU,КодSKU);
    Запрос.УстановитьТелоИзСтроки(СериализованнаяСтрока);
    
    HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос);
    Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
    
    Если HTTPОтвет.КодСостояния = 200 Тогда
        ЧтениеJSON = Новый ЧтениеJSON();
        ЧтениеJSON.УстановитьСтроку(Ответ);
        Стрктурра = ПрочитатьJSON(ЧтениеJSON);
        ЧтениеJSON.Закрыть();
        
        НомерСтроки = 0;
        Для каждого стр из Стрктурра.result.cards Цикл
            НомерСтроки = НомерСтроки+1;
            СтрокаТЗ = Объект.ТЗ.Добавить();
            
            Для каждого стр_nomenclatures из стр.nomenclatures Цикл
                СтрокаТЗ.imtId = УбратьВсеПробелы(стр_nomenclatures.nmId);
            КонецЦикла;
            
            СтрокаТЗ.Наименование = "";
            
            Для каждого стр_type из стр.addin Цикл
                Если ВРЕГ(стр_type.type) = ВРЕГ("Наименование") Тогда
                    Если стр_type.params.Количество()>0 Тогда
                        СтрокаТЗ.Наименование = стр_type.params[0].value;
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;
            
            СтрокаТЗ.НаименованиеНовое = "";
            СтрокаТЗ.ИдентификаторСтроки = НомерСтроки;
            СтрокаТЗ.Номенклатура1С = ПолучитьНоменклатуруПоID(СтрокаТЗ.imtId);
            
            СтрокаТаблицаJSONОбъектов = ЭтаФорма.ТаблицаJSONОбъектов.Добавить();    
            СтрокаТаблицаJSONОбъектов.ИдентификаторСтроки = НомерСтроки;
            СтрокаТаблицаJSONОбъектов.СтрокаJSON = стр;
        КонецЦикла;
    Иначе
        Сообщить("NOPE, обратитесь к Программисту 1С");
    КонецЕсли;

 

2. Применить значения.

        Соединение = Новый HTTPСоединение("suppliers-api.wildberries.ru",,,,,5, Новый ЗащищенноеСоединениеOpenSSL());
        //Заполняем заголовки
        HTTPЗапросЗаголовки = Новый Соответствие();
        HTTPЗапросЗаголовки.Вставить("accept", "application/json");
        HTTPЗапросЗаголовки.Вставить("Authorization", APIKey);
        HTTPЗапросЗаголовки.Вставить("Content-Type", "application/json");
        Запрос = Новый HTTPЗапрос("/card/update", HTTPЗапросЗаголовки);
        СериализованнаяСтрока = СобратьЗапросОбновленияКарточки(стр.ИдентификаторСтроки,стр.НаименованиеНовое);
        Запрос.УстановитьТелоИзСтроки(СериализованнаяСтрока);  
        HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос);
        Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
        Если HTTPОтвет.КодСостояния = 200 Тогда
            Сообщить("Наименование для номенклатуры с Артикулом WB "+стр.imtID+" удачно изменено на: "+стр.НаименованиеНовое);
        Иначе
            Сообщить("Ошибка измнения наименования ("+стр.imtID+") :"+стр.НаименованиеНовое);
            Сообщить("Код ответа: "+Ответ.КодСостояния); //анализируем код состояния и делаем выводы
        КонецЕсли;


3. Сбор Запросов

Функция СобратьЗапросКарточек(Лимит=0,ОФсет=0,КодSKU=Неопределено)
    Если Лимит>100 Тогда Лимит=100 КонецЕсли;
    СтруктураЗ = Новый Структура;
    СтруктураЗ.Вставить("id",1);
    СтруктураЗ.Вставить("jsonrpc","2.0");
    СтрПарам = Новый Структура;//Params
    СтрФильтра = Новый Структура;
    Если ЗначениеЗаполнено(КодSKU) И СокрЛП(КодSKU)<>"" Тогда
        СтрФинд = Новый Структура;
        СтрФинд.Вставить("column","nomenclatures.nmId");
        МассивСКУ = Новый Массив();
        МассивСКУ.Добавить(Число(КодSKU));
        СтрФинд.Вставить("search", МассивСКУ);
        МассивФинд = Новый Массив;
        МассивФинд.Добавить(СтрФинд);
        СтрФильтра.Вставить("find",МассивФинд);
    КонецЕсли;
    //    СтрФильтра.Вставить("order",СтрОрдер);
    
    СтрПарам.Вставить("filter",СтрФильтра);
    
    СтрЗапроса = Новый Структура;
    Если КоличествоSKU<>0 Тогда
        СтрЗапроса.Вставить("limit",Лимит);//max 100
    КонецЕсли;
    Если ПропуститьSKU<>0 Тогда
        СтрЗапроса.Вставить("offset",ОФсет);
    КонецЕсли;
    
    СтрПарам.Вставить("query",СтрЗапроса);
    //    СтрПарам.Вставить("isArchive", ЛОЖЬ);
    //    СтрПарам.Вставить("supplierID",Объект.supplierID);
    //    СтрПарам.Вставить("withError", ЛОЖЬ);
    
    СтруктураЗ.Вставить("params",СтрПарам);
    
    НастройкиСериализацииJSON = Новый НастройкиСериализацииJSON;
    НастройкиСериализацииJSON.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.ЛокальнаяДата;
    НастройкиСериализацииJSON.ФорматСериализацииДаты = ФорматДатыJSON.ISO;
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();  
    ЗаписатьJSON(ЗаписьJSON, СтруктураЗ, НастройкиСериализацииJSON);            
    Результат = ЗаписьJSON.Закрыть();
    
    Возврат Результат;
КонецФункции

Функция СобратьЗапросОбновленияКарточки(Идентификатор, НовоеНаименование)
    НайденнаяСтрока = ЭтаФорма.ТаблицаJSONОбъектов.НайтиСтроки(Новый Структура("ИдентификаторСтроки",Идентификатор));
    Если НайденнаяСтрока.Количество() > 0 Тогда
        ПрежняяСтруктура = НайденнаяСтрока[0].СтрокаJSON;
    Иначе
        Возврат Неопределено;
    КонецЕсли;
    
    //Меняем наименование
    Для каждого стр_type из ПрежняяСтруктура.addin Цикл
        Если ВРЕГ(стр_type.type) = ВРЕГ("Наименование") Тогда
            Если стр_type.params.Количество()>0 Тогда
                стр_type.params[0].value = НовоеНаименование;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    
    //Модификация для выгрузки
    ПрежняяСтруктура.Вставить("uploadID", "");
    ПрежняяСтруктура.Удалить("batchID");
    
    //Меняем дату модификации    
    ПрежняяСтруктура.updatedAt = ТекущаяДата()+60;
    
    СтруктураЗ = Новый Структура;
    СтруктураЗ.Вставить("id",1);
    СтруктураЗ.Вставить("jsonrpc","2.0");
    СтрПарам = Новый Структура;//Params
    
    СтрПарам.Вставить("card",ПрежняяСтруктура);
    СтрПарам.Вставить("supplierID",ПрежняяСтруктура.supplierID);
    СтруктураЗ.Вставить("params",СтрПарам);
    
    НастройкиСериализацииJSON = Новый НастройкиСериализацииJSON;
    НастройкиСериализацииJSON.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.УниверсальнаяДата;
    НастройкиСериализацииJSON.ФорматСериализацииДаты = ФорматДатыJSON.ISO;
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();  
    ЗаписатьJSON(ЗаписьJSON, СтруктураЗ, НастройкиСериализацииJSON);            
    Результат = ЗаписьJSON.Закрыть();
    
    Возврат Результат;
    
КонецФункции

 

Wildberries изменение наименования WB API

См. также

SALE! 20%

Маркетплейсы Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширения позволяют взаимодействовать с личными кабинетами маркетплейсов WILDBERRIES, ОЗОН, ЯНДЕКС.МАРКЕТ и СБЕРМЕГАМАРКЕТ по схеме: FBS. Основным приоритетом в данной разработке является простота запуска и использования, а также увеличение скорости сборки и обклейки стикерами заказов при больших объемах отгрузок.

58800 52920 руб.

22.03.2021    214541    1454    1791    

666

Маркетплейсы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Расширение интеграции с маркетплейсами позволяет управлять своими аккаунтами ведущих маркетплейсов по принципу одного окна из своей базы 1С для УНФ, УТ, КА, ERP. Единый интерфейс работы для всех площадок. Отправка остатков по сопоставленным товарам по расписанию, гибкая настройка отправки.

49800 руб.

23.01.2023    39665    485    196    

157

Маркетплейсы Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Готовая интеграция и синхронизация с Озон ,Вайлдберриз и ЯндексМаркет для обычных форм. Конфигурация встраивается в типовую УТ10.3, КА 1.x, УПП 1.3 или самописные конфигурации. Программа осуществляет выгрузку карточек товаров в ОЗОН/Wildberries, загрузку и синхронизацию ранее загруженных в ОЗОН/Wildberries/ЯндексМаркет карточек с номенклатурой в 1С, гибкую настройку синхронизации по номенклатуре, характеристикам, сериям и единицам измерения, а также загрузку отправлений ОЗОН/ Сборочных заданий Wildberries/Заказов ЯндексМаркет и создание на их основании документов в 1С и управление статусами отправлений ОЗОН/ Сборочных заданий Wildberries/Заказов ЯндексМаркете. Два варианта документооборота: Заказ покупателя - Реализация и Внутренний заказ - Перемещение - Реализация. Минимальная платформа 8.3.10

21100 руб.

12.05.2021    95690    660    273    

296

SALE! 20%

Маркетплейсы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Ювелирная промышленность и торговля Фармацевтика, аптеки Легкая промышленность, мода и одежда Пищевая промышленность Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Расширение позволяет работать из 1С с площадкой Wildberries (Авторизированный сервис Wildberries), Яндекс Маркет (без публикации базы), СберМегамаркет по Схеме FBS и FBO. В FBO реализован механизм сборки коробов по штрих кодам в Wildberries. Отличительная особенность легкая настройка и информативный управленческий учет! Всего через 15 минут вы сможете полностью автоматизировать свои продажи на WB, ЯМ, Мегамаркет и узнать какую итоговую выручку вы получаете за вычетом всех комиссий ВБ, ЯМ, Мегамаркет. Исключите штрафы за продажу товара отсутствующего на складе и не своевременную передачу кодов маркировок, легкий и интуитивно понятный интерфейс позволит перенести всю работу с площадкой в 1С. Есть Демо.

39900 31920 руб.

17.07.2023    11485    53    20    

40

Маркетплейсы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Функциональное решение для торговли на всех популярных маркетплейсах. Работает со схемами FBO и FBS. Простое в использовании и установке, не вносит изменения в код программы. Существенно упрощает работу с товарным ассортиментом, обработку заказов с площадок, работу с поставками, а также ведение аналитики по продажам и остаткам.

119999 руб.

19.07.2024    1986    53    0    

3

SALE! 20%

Маркетплейсы Программист Пользователь Платформа 1С v8.3 Оперативный учет 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 по API с Wldberries, Яндекс.Маркет, OZON, ALI, VK и МегаМаркет. 1С:Розница 2.3/УНФ 1.6 и выше с МегаМаркет. Схемы работы: ВИТРИНА + ДОСТАВКА, ЗАКАЖИ И ЗАБЕРИ + ВИТРИНА, ДОСТАВКА СИЛАМИ ПРОДАВЦА, ЭКСПРЕСС-ДОСТАВКА. Модуль зарегистрирован в Реестре программного обеспечения, а также являемся технологическими партнерами МегаМаркет, что говорит о гарантиях использования решения.

60000 руб.

09.10.2020    55879    119    81    

116
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vano-ekt 124 24.05.22 10:47 Сейчас в теме
а потом карточку в бан или пессимизацию выдачи 😉
2. crushos 10 25.05.22 20:45 Сейчас в теме
(1) Обработкой уже пользуемся довольно долго. Проблем нет.
Это стандартная функция API WB
https://suppliers-api.wildberries.ru/swagger/index.html#/Card/post_card_update
Возможно и ее когда-то прикроют...
3. user1790745 29.05.22 13:55 Сейчас в теме
Подскажите, как узнать ImtID по nmID?
9. crushos 10 13.06.22 21:20 Сейчас в теме
(3)
Если правильно помню, в полученной структуре на ветке Cards|Adins
4. IwantToLearn 02.06.22 14:34 Сейчас в теме
Подскажите рабочее решение до сих пор??? с выходом APIv2 ничего не поменялось?
5. IwantToLearn 02.06.22 15:40 Сейчас в теме
(4) Просто отработала только после добавления характеристик Номенклатуры КодВБ и КодВБ1
11. crushos 10 13.06.22 21:23 Сейчас в теме
(5)
Да, код нужно подкорректировать под свою конфигурацию. У нас код WB привязан к характеристике.
Мы сейчас в процессе переделывания всех механизмов на Правильные рельсы. С Номенклатурой контрагентов и т.п. - Чтобы все работало и на стандартной конфигурации.
По готовности выложу.
10. crushos 10 13.06.22 21:20 Сейчас в теме
(4)
Этот код уже был написан на APIv2
В пятницу еще работал )))
6. injrd 03.06.22 23:54 Сейчас в теме
Добрый день!
Можете бота в телеграмм такого сделать?
7. IwantToLearn 06.06.22 12:50 Сейчас в теме
(6) Таких ботов в телеге куча уже есть, вопрос в том, хотите ли вы свой API давать третьим лицам
12. crushos 10 13.06.22 21:27 Сейчас в теме
(6)
Бот у нас уже есть, но работает только как "прокладка" между удалёнными пользователями и 1С (Чтобы доступ к 1С извне не открывать).
По мере обрастания функционалом, который пишется под требования отдела продаж, добавляем и функционал в бот.

Шаблон бота был взят на просторах infostart ;)
8. ovandre 10.06.22 16:21 Сейчас в теме
Огромное Вам спасибо за код, всё работает как часы.
13. crushos 10 13.06.22 21:28 Сейчас в теме
(8)
Пожалуйста. Все ради спокойных нервов )
14. IwantToLearn 22.06.22 09:54 Сейчас в теме
Подскажите, с 20 числа получаем
Поле объекта не обнаружено (result)
{ВнешняяОбработка.ИзменениеНаименованияWB.Форма.УправляемаяФорма.Форма(203)}: Для каждого стр из Стрктурра.result.cards Цикл
{ВнешняяОбработка.ИзменениеНаименованияWB.Форма.УправляемаяФорма.Форма(246)}: ПолучитьЗначенияНаСервере(ЭтаФорма.FindCodeWB, ЭтаФорма.КоличествоSKU, ЭтаФорма.ПропуститьSKU);

В отладчике поймали сообщение что WB отключил доступ к карточкам по API на 20-21 числа, а потом что-то поменяется. Ещё неизвестно что поменялось и как более-менее оперативно это решать?
15. IwantToLearn 22.06.22 10:02 Сейчас в теме
(14) Если я правильно увидел, то в коде используется Запрос = Новый HTTPЗапрос("/card/update", HTTPЗапросЗаголовки), а про него пишут вот что:
Позволяет обновлять карточку товара.Карточка с определённым ID изменяется на ту, которую прислали. Данный метод будет работать только, если у вас доступен раздел "Товары - Карточка товара". Если у вас доступен раздел "Карточка товара New" работа по API временно будет недоступна. Способ умер?
18. crushos 10 22.08.22 17:58 Сейчас в теме
(15) 2022.08.22 - работает.
По сути обработка замещает карточку на новую с новым наименованием.
В новом методе, скорее всего, будет подобное решение.
19. crushos 10 22.08.22 18:00 Сейчас в теме
(14) Скорее всего вам возвращается json без result.
Раньше, когда карточка не была найдена result был, но был пустой.
Сейчас если карточка не найдена - result'а не будет.
Включите отладку на 203 строке.
16. markovki 20 27.07.22 10:48 Сейчас в теме
День добрый! У меня УНФ. Добавил В Номенклатуру Код, в организацию Апи, немного подправил запросы выборки номенклатуры в строки ТЧ формы, остальное не трогал. Смотрю в отладчике, что новое наименование попадает в серилизованную строку, ответ на запрос приходит 200. Но при получении обновленных значений ничего не меняется. Делал и вчера и сегодня. Но я так понимаю, что обновленные значения в любом случае долны быть видны сразу, другое дело что на сайте ВБ они обновляются чуть позже. Подскажите, куда копать? Карточки как 2020-го года так и 2022-го. Категория товаров одна.
17. markovki 20 31.07.22 12:13 Сейчас в теме
(16) Причина найдена в использовании недопустимого символа * в наименовании товара.
Оставлю здесь, так сказать, для истории, кому-нибудь на заметку.
Автору респект за обработку, с минимальными поправками под УНФ, всё работает))

П.С. Что интересно, у нас почти все прежние наименования со * в карточках ВБ так и остались.
20. IwantToLearn 13.09.22 09:45 Сейчас в теме
Новость для API-разработчиков и продавцов. API для «Карточка товара NEW»
Уважаемые Продавцы!

Рады сообщить Вам, что разработано API для «Карточка товара NEW»
Описание доступно по ссылке: https://openapi.wb.ru (разделы «Контент/»).
21. neon57 22 07.11.22 12:54 Сейчас в теме
Данная обработка устарела в связи с отключением старых функций, теперь работают только новые функции для «Карточка товара NEW». Подскажите будут доработки под новые функции?
Оставьте свое сообщение