Уявіть: ви щотижня отримуєте від 10 постачальників Excel-файли з тисячами товарів. Оператори вручну створюють картки в адмінці — витрачають дні, помиляються в цінах, створюють дублікати. Ми вирішили цю проблему для мережі з 50 інтернет-магазинів, побудувавши повністю автоматичне створення карток товарів зі спарсених даних. Результат: картки створюються за хвилини, помилки зведені до мінімуму, а оператори займаються лише нетиповими випадками. Економія на зарплаті склала значну частину операційного бюджету, а окупність проекту — кілька місяців. Це ключовий елемент автоматизації eCommerce для інтернет-магазинів з великим асортиментом.
Які проблеми вирішує автоматизація?
Основні складнощі при ручному вводі — дублікати товарів від різних постачальників, невалідні дані (ціни-нулі, гігантські назви) та невідповідність категорій. Розглянемо кожну.
Дублікати товарів
Товар може з'явитися у кількох постачальників. Без автоматизації оператори не помічають повторення — виникають однакові картки з різними цінами. Детектор дублів перевіряє SKU, GTIN та збіг назви з порогом 90% (Duplicate detection), оновлюючи існуючий товар.
Невалідні дані
Парсер може видати ціну "0" або назву з 300 символів. Пропуск таких даних в каталог ламає сортування. DataValidator перевіряє всі поля за бізнес-правилами: мінімальна ціна, максимальна довжина, обов'язкові поля — до запису.
Невідповідність категорій
У кожного постачальника своя структура. CategoryMatcher використовує три стратегії: точний мапінг за ID постачальника, нечіткий пошук за назвою, а при невдачі — аналіз ключових слів у назві товару.
Також вирішуються проблеми варіативних товарів (розмір, колір) та SEO-заповнення карток.
Як влаштований пайплайн створення карток?
Розберемо реальний кейс: мережа магазинів одягу з 15 000 товарами від 20 постачальників. Кожен товар міг мати 3 розміри та 5 кольорів — потенційно 300 000 карток. Автоматизація окупилася за 2 місяці. Нижче — ключові кроки.
Валідація вхідних даних
class DataValidator { private array $rules = [ 'sku' => 'required|string|max:100', 'name' => 'required|string|max:500', 'price' => 'required|numeric|min:0.01', 'description' => 'nullable|string', 'images' => 'nullable|array', 'images.*' => 'nullable|url', ]; public function validate(array $data): ValidationResult { $validator = Validator::make($data, $this->rules); if ($validator->fails()) { return ValidationResult::fail($validator->errors()->toArray()); } // Додаткові бізнес-правила if (isset($data['price']) && $data['price'] < config('import.min_price', 1)) { return ValidationResult::fail(['price' => ['Ціна підозріло мала']]); } return ValidationResult::pass($validator->validated()); } } Матчинг категорій
Визначаємо, до якої категорії інтернет-магазину належить товар. Якщо у постачальника є мапінг — використовуємо його. Інакше шукаємо категорії з подібною назвою або за ключовими словами.
Детектор дублів
Перевіряє існування товару за трьома алгоритмами: SKU постачальника, глобальний GTIN та нечіткий збіг назви з брендом. При збігу оновлюємо ціну та залишок, не плодячи дублікати.
Побудовник варіантів
Групує плоский список у конфігурований товар з розмірами та кольорами. Наприклад, з 20 рядків створюється 1 загальна картка та 20 варіантів з різними SKU.
SEO-заповнення
Мета-теги та slug генеруються автоматично на основі назви та бренду, що позбавляє від ручного SEO-наповнення кожної картки.
Чому варто автоматизувати створення карток?
Ручне створення 1000 карток займає близько 80 годин і містить 5–10% помилок. Пайплайн обробляє той же обсяг за 15 хвилин з нульовим відсотком помилок. У 10 разів швидше — це 95% економії часу операторів. Окрім швидкості, ви отримуєте:
| Критерій | Ручний ввід | Автоматичний пайплайн |
|---|---|---|
| Час на 1000 карток | 80 годин | 15 хвилин |
| Частка помилок | 5–10% | <0.1% |
| Масштабованість | Найм операторів | Додавання постачальника за 2–3 дні |
| Консистентність даних | Різна | Єдині правила, SEO-заповнення |
Гарантуємо консистентність: всі поля заповнені за єдиними правилами, немає пропущених характеристик. Масштабування інтеграції постачальників: додавання нового постачальника — питання 2–3 днів, а не тижнів найму персоналу.
Більше 5 років будуємо такі пайплайни, реалізували 50+ проектів з інтеграції даних в eCommerce. Гарантуємо роботу коду протягом 12 місяців після здачі.
Що входить в роботу?
| Компонент | Опис |
|---|---|
| Документація | Схема мапінгу полів, правила валідації, структура даних після нормалізації |
| Доступи | Налаштування прав для API магазину, доступи до системи черг та моніторингу |
| Навчання | Інструкція для операторів по нетипових випадках та розбір логів імпорту |
| Підтримка | 1 місяць пост-релізного супроводу: виправлення багів, оптимізація швидкості |
Процес роботи: від аналітики до деплою
- Аналітика — вивчаємо формат даних постачальника, виявляємо типові помилки.
- Проектування — описуємо схему мапінгу, бізнес-правила, обираємо стратегію матчингу.
- Реалізація — пишемо валідатор, нормалізатор, матчер, детектор дублів та створювач карток.
- Тестування — на тестовій вибірці перевіряємо всі сценарії: валідний товар, дублікат, помилка в назві.
- Деплой — розгортаємо чергу на production, підключаємо логування та алерти.
Якщо ви хочете автоматизувати створення карток, зв'яжіться з нами. Ми оцінимо задачу за 1 день і запропонуємо терміни. Отримайте консультацію або замовте оцінку прямо зараз.







