Загрузка в 1С остатков, продаж, заказов, поставок из Wildberries по API статистики
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Искал простой и легкий код для загрузки данных через API статистики, без ненужных мне справочников, сопоставлений данных и т.п., просто получение данных и загрузку в таблицы.
Прямо в таком виде не нашел, пришлось наваять своё, делюсь. Будет полезна в основном разработчикам, которые хотят сэкономить время. В меньшей степени аналитикам, менеджерам и др., т.к. это не какое то готовое решение, а пример взаимодействия с Wildberries. Нет справочников, сопоставлений с номенклатурой и т.п. Просто внешняя обработка, чтобы получить табличные данные для разрабатываемого решения. Тестировался и использовался по состоянию на 14.10.23
Привожу на всякий случай основной код.
...
мДатаСтр = Формат(СДатыИзменения,"ДФ=гггг-ММ-дд");
мСтрокаПараметры = "?dateFrom="+мДатаСтр;
мРез = СформироватьЗапросWBСтат(КлючAPIстатистики,"/api/v1/supplier/stocks",мСтрокаПараметры);
...
&НаСервере
Функция СформироватьЗапросWBСтат(Токен,МетодAPI,СтрокаПараметры)
мАдресСервераСтат = "statistics-api.wildberries.ru";
мHTTPСоединение = Новый HTTPСоединение(мАдресСервераСтат,,,,,, Новый ЗащищенноеСоединениеOpenSSL());
мЗаголовки = Новый Соответствие;
мЗаголовки.Вставить("Authorization", Токен);
мHTTPЗапрос = Новый HTTPЗапрос(МетодAPI + СтрокаПараметры, мЗаголовки);
мТаб = Новый Массив;
мРезультат = мHTTPСоединение.Получить(мHTTPЗапрос);
Если мРезультат.КодСостояния = 200 Тогда
мОтветJSON = мРезультат.ПолучитьТелоКакСтроку();
мЧтениеJSON = Новый ЧтениеJSON;
мЧтениеJSON.УстановитьСтроку(мОтветJSON);
мРезультат = ПрочитатьJSON(мЧтениеJSON, Истина);
мЧтениеJSON.Закрыть();
Возврат мРезультат;
Иначе
ВызватьИсключение("Ошибка "+МетодAPI+"; КодСостояния =" + мРезультат.КодСостояния);
Возврат Неопределено;
КонецЕсли;
Возврат мТаб;
КонецФункции
P.S. DateFrom - для запроса, это не дата, с которой вы хотите получить данные, как привыкли в 1С.
Это дата последнего изменения строки (с остатками, например) в таблице wb. Т.е. если у вас остатки по конкретному артикулу-размеру на конкретном складе, год не менялись, то если указать дату месяц назад - то такие остатки в ответ не попадут. Я ставлю максимально раннюю дату
Вступайте в нашу телеграмм-группу Инфостарт
См. также
67620 руб.
22.03.2021 313360 2599 2186
23.01.2023 82619 780 user1468243 212
28800 руб.
12.05.2021 123611 1072 274
5490 руб.
12.08.2021 48458 654 71
6000 руб.
11.12.2019 68049 1163 3
6000 руб.
26.11.2020 51289 865 4