marketplace-catalog-sync — міст між каталогами Prom.ua, Rozetka та Хорошоп
Огляд
Автоматизоване вивантаження, нормалізація, маппінг та імпорт великих товарних каталогів між провідними торговими майданчиками й вітринами України — Prom.ua, Rozetka Marketplace, Хорошоп, OpenCart, Zakupka та Епіцентр. Це замінює сотні годин ручної праці контент-менеджерів, готує фіди, що проходять сувору модерацію Rozetka, і тримає ціни та залишки синхронними за розкладом. Побудовано на Go-ядрі feedsync.
Складне й як із цим працюємо
| Складність | Як вирішується |
|---|---|
| Дерева категорій Prom.ua, Rozetka та Хорошоп кардинально різні | Матриця відповідності розкладає тисячі товарів у правильні гілки дерева кожного майданчика без вгадування по кожній позиції |
| Rozetka відхиляє фіди через заборонені слова в назвах, некоректні розміри фото, нерозпізнані параметри чи відсутні обов’язкові атрибути | Пре-валідатор перевіряє каталог до публікації, тож проблеми виправляються в джерелі, а не виявляються на модерації |
| Варіації й описи приходять у будь-якому вигляді | Групи кольорів, розмірів, об’ємів і комбіновані варіації конвертуються в цільову модель, а HTML-описи очищаються від застарілих посилань і контактів сторонніх сайтів |
| Ціни й залишки застарівають | Оновлення за розкладом змінюють ціни, наявність і залишки з мінімальним навантаженням на сервери постачальників |
Як це працює
Джерела (Prom, постачальники, XML / CSV)
│
▼
Пайплайн обробки
1. завантаження й парсинг XML / YML / CSV / JSON
2. відсів неліквіду, нормалізація цін (націнки)
3. маппінг категорій за шаблонами відповідностей
4. санітизація описів, валідація фото (роздільність)
5. генерація цільових XML-фідів за специфікаціями
│
▼
Rozetka XML · Хорошоп · Prom YML
- Парсинг і стандартизація. Універсальний читач нестандартних XML/YML-фідів постачальників, таблиць Excel і Google Sheets та API Prom.ua, що дістає повний набір характеристик, штрихкодів (EAN/UPC), артикулів і фотографій.
- Маппінг і очищення. Категорії зіставляються з класифікаторами Rozetka, Prom і Хорошоп. Назви товарів формуються за шаблоном Rozetka —
[Тип] [Бренд] [Модель] [Ключові характеристики] [Артикул]— а фото перевіряються на роздільність (усе до 500 px позначається) і білий фон. - Цільові фіди й автооновлення. Генеруються оптимізовані файли YML / Rozetka XML й оновлюються кожні 30–60 хвилин зі зміною цін, курсів валют і націнок.
Дивіться також: feedsync, crmbridge, opencart-catalog-migration.
Стек
Go · Node.js · Docker · Rozetka XML · YML · CSV / JSON · Rozetka Marketplace API · Prom.ua API · Хорошоп · OpenCart · SalesDrive · MySQL · SQLite · Redis