Подготовили магазин автозапчастей для торговли на Яндекс.Маркете
Клиент
Компания — дистрибьютер автозапчастей в России и СНГ.
Задача
Компания обратилась к нам с запросом выполнить интеграцию с Яндекс Маркетом, загрузить товары из прайс-листа поставщика и спарсить характеристики товара, настроить получение остатков и цен поставщиков.
Выяснилось, что ранее компания работала с готовым облачным решением, но оно не устраивало из-за высокой ежемесячной платы, и невозможности настроить программу под нужды компании.
Мы предложили начать с чистой 1С:УНФ 3.0 и последовательно реализовать нужный функционал:
- Загрузка новой номенклатуры из прайс-листа поставщика, с доработкой карточки номенклатуры под специфику торговли автозапчастями. Выполнять вручную, так как клиент хочет самостоятельно выбирать какие категории товара ему нужны в первую очередь.
- Автоматический парсинг свойств и картинок с сайта поставщика для новых карточек товара.
- Автоматическое обновление цен и остатков по API поставщика.
- Рассчитываются розничные цены для Яндекс Маркета через калькулятор цен, учитывающий все комиссии Маркета.
- Настройка обмена с Яндекс Маркетом.
Результат
Загрузка файлов парсинга
Настроили создание нового товара из прайс-листа поставщика. После загрузки товара автоматическое задание начинает парсинг сайта поставщика и загружает в 1С свойства и фотографии товара.
Также каждый час запускается задание на обновление цен и остатков с сайта поставщиков через REST API.
Для контроля за корректностью выполнения фоновых загрузок и расчетов добавили журнал выполнения заданий:
Расчет цен для Яндекс Маркета
После каждого обновления цен запускается пересчет розничных цен для Яндекс Маркета по заданным формулам.
Интеграция с Яндекс Маркетом на основе стандартного модуля
Для интеграции с Яндекс Маркетом за основу взяли стандартное бесплатное расширение для интеграции. Доработали его:
– Расширили выгрузку полей товаров. Например, не передавался артикул поставщика. Изменили логику выгрузки наименования товара и описания – они формируются по правилам.
– Сделали возможность выгрузить несколько картинок для одного товара.
– Настроили передачу квантов продаж.
– Изменена передача остатков товара – берется сумма остатков, хранящихся на складе и остатка на складе поставщика.
– Доработан механизм подтверждения заказа – наличие проверяется как по собственному остатку, так и по остатку поставщика.
Сейчас заказчик расширяет ассортимент товара, дозаполняет существующие карточки товара и начинает торговлю через Яндекс Маркет.
Ход работ и результаты
Разработка велась поэтапно. На каждом этапе были свои сложности и подводные камни.
Изначально планировали сделать парсинг сайта поставщика через парсинг HTML страниц, однако оказалось, что поставщик использует недокументированный API к своему серверу и с помощью него можно получать структурированные данные о товаре. Это ускорило разработку и такая схема стабильнее, чем разбор HTML страниц: вёрстка сайта может поменяться через какое-то время.
На этапе настройки модуля Яндекс Маркета выяснилось, что данные по картинкам передаются неверно: выгружается только основное изображение. Не выгружались кванты продаж и артикул поставщика. Это добавило незапланированных работ.
Также в очередной раз подвёл сервис аренды 1С, где размещена база клиента: один раз база сломалась и потеряли день, пока ждали восстановления. Второй раз тоже потеряли достаточно времени, чтобы правильно опубликовать базу для отправки HTTP запросов от Яндекс Маркета к 1С для получения остатков и обновления заказов.
Запустили проект за 1 месяц.