Когда поставщик передаёт каталог в XML или YML, задача на первый взгляд кажется простой: получить файл и загрузить товары в интернет-магазин. На практике настоящая сложность начинается не при первой загрузке, а позже — когда поставщик меняет цены, остатки, категории, характеристики, изображения или структуру самого фида.
Для магазина с несколькими тысячами товаров импорт уже нельзя рассматривать как разовую загрузку файла. Это полноценный процесс синхронизации каталога, который должен быть повторяемым, предсказуемым и безопасным.
Именно для такого сценария разработан Импорт товаров XML/YML для PrestaShop. Модуль работает с XML/YML-фидами поставщиков, поддерживает несколько независимых источников и позволяет не только создавать товары, но и регулярно обновлять уже существующий каталог.
Главное — не просто загрузить товар, а сохранить порядок в каталоге
Если переносить данные поставщика «как есть», магазин со временем начинает зависеть от структуры его фида.
Сегодня категория называется «Столы», завтра — «Столы и столики». Один поставщик передаёт характеристику «Длина», другой — «Длина, см», третий — «Длина стола». Цена может находиться в одном XML-узле, остаток — в другом, а артикул иметь совершенно разное название в разных источниках.
Поэтому правильный импорт должен отделять структуру входящего фида от структуры магазина.
В Ewonta Product Import для этого используется сопоставление полей. Администратор указывает, какое поле поставщика соответствует названию товара, цене, количеству, артикулу, бренду, описанию и другим данным PrestaShop.
После настройки эти правила используются при следующих запусках автоматически.
Это особенно важно при работе с несколькими поставщиками: каждый из них может передавать данные по-своему, но внутри магазина товары приводятся к единой структуре.
Можно импортировать только нужные категории
Большие фиды поставщиков нередко содержат десятки или сотни категорий, хотя конкретному магазину нужна только часть ассортимента.
Например, поставщик одновременно передаёт электронику, бытовую технику, мебель, инструменты и товары для дома, а магазин специализируется только на электронике.
Импортировать весь каталог в таком случае нет смысла.
В модуле можно выбрать конкретные категории и целые ветки каталога поставщика. Ненужные товары будут исключены ещё до обработки и не станут засорять каталог PrestaShop.
При этом структура категорий магазина может оставаться независимой от структуры поставщика.
Если после импорта категорию переименовать под SEO или собственную навигацию, можно запретить дальнейшее обновление её названия, ЧПУ или родительской категории из фида.
Таким образом поставщик определяет ассортимент, но структуру магазина контролирует его владелец.
Цены и остатки можно обрабатывать по своим правилам
Цена поставщика далеко не всегда является конечной ценой интернет-магазина.
Для одного источника требуется наценка 10%, для другого — 20%. Иногда товары с остатком меньше определённого значения нужно считать отсутствующими или устанавливать собственные правила обработки наличия.
Поэтому импорт не должен ограничиваться простым копированием данных.
Ewonta Product Import позволяет применять правила к цене и остаткам во время обработки фида. Вместе с ними обновляются артикулы, EAN/GTIN, производители и другие данные товара.
Поставщик остаётся источником информации, но правила продаж определяет сам магазин.
Большие каталоги требуют очереди и пакетной обработки
На нескольких сотнях товаров практически любой импорт выглядит простым.
Когда каталог содержит десятки тысяч позиций, ситуация меняется. Нужно скачать изображения, обновить комбинации, характеристики, категории, цены и остатки. Сервер поставщика может отвечать медленно, PHP-процесс — достигнуть лимита времени, а отдельное изображение — вообще оказаться недоступным.
Поэтому большой каталог нельзя надёжно обрабатывать одним длинным HTTP-запросом.
В Ewonta Product Import используется пакетная обработка и очередь. Импорт можно остановить и продолжить с сохранённого состояния.
Для автоматизации доступны запуск из Back Office и CLI. Можно запускать все активные источники, только источники, которые ещё ни разу не импортировались, а также выполнять синхронизацию без повторной загрузки изображений.
Если обработка большого каталога прервалась, нет необходимости начинать всю работу сначала.
Что делать с дублями характеристик и атрибутов
Одна из наиболее неприятных проблем при работе с несколькими поставщиками — одинаковые данные под разными названиями.
Например:
Цвет
цвет
Цвет товара
Основной цвет
Color
Для человека очевидно, что речь может идти об одной характеристике. Для автоматического импорта это пять разных названий.
Если постоянно создавать новые характеристики и атрибуты, каталог постепенно заполняется дублями. Это влияет на карточки товаров, фильтры и дальнейшее управление ассортиментом.
Для решения этой задачи Ewonta Product Import может работать совместно с Менеджером Атрибутов Ewonta.
После того как администратор один раз подтвердил соответствие, например «Цвет товара» → «Цвет», это правило может использоваться при следующих импортах. Вместо создания нового дубля импортёр использует уже существующую характеристику или атрибут.
Таким образом проблема решается не периодической очисткой каталога после импорта, а предотвращением появления уже известных дублей.
Импорт поставщика должен стать постоянным процессом
Правильно настроенный импорт со временем перестаёт восприниматься как «загрузка XML-файла».
Поставщик обновляет свой фид, а интернет-магазин получает актуальные товары, цены, остатки, характеристики и другую информацию по заранее заданным правилам.
Администратор при этом продолжает контролировать:
— структуру категорий;
— сопоставление данных;
— правила цен и остатков;
— характеристики и атрибуты;
— источники поставщиков;
— обработку больших каталогов.
Главная ценность автоматизации заключается не в возможности один раз загрузить 10 000 товаров, а в том, чтобы через полгода этот каталог продолжал корректно обновляться без постоянной ручной работы.
Импорт товаров XML/YML разработан именно для такой модели работы — от первоначальной настройки XML/YML-фида до регулярной синхронизации больших каталогов поставщиков.