Магазин обуви
Клиент пришёл с просьбой подключить товарный фид от поставщика.
Товарный фид — файл с информацией о товарах, наличием и ценами, который можно открыть по ссылке и который обновляется поставщиком по мере необходимости без изменения ссылки. Существует несколько форматов товарных фидов или можно создать свой.
Проанализировали, нашли все логические неопределённости, урегулировали с клиентом, подключили, запустили. Отлично, теперь цены и наличие в БД обновляются каждое утро.
Далее клиент принёс ещё три товарных фида.
Движок не умеет работать более чем с одним фидом — создаём веб-приложение, которое собирает и объединяет данные из нескольких фидов.
По дороге выясняем, что у разных поставщиков разные форматы записи цвета и размера; придумываем, как это объединить.
Через год магазин использовал семь товарных фидов от разных поставщиков в разных форматах (CSV, XSL, XML, YML), объединяемых по изощрённой логике. Например, у некоторых поставщиков остатки передавались в количественном виде, у некоторых — в формате «есть/нет», у некоторых — в формате «много/мало». При этом надо было показывать, что товар недоступен, а в некоторых случаях скрывать эти товары.
Теперь вы видите, что всё не так просто
Эти кейсы показывают множество различных аспектов работы с товарами в интернет-магазине, которые не очевидны, но влияют на устройство и стоимость его создания.
Разложим всё по полочкам. Для каждого товара вам понадобятся:
1.Собственно описание товара, самое простое.
Должно быть всегда. Источником может быть даже просто прайс.
2. Параметры товара.
Длина, ширина, вес, разъём, какие батарейки нужны
Тут могут возникать нюансы — например, у каждой подкатегории товара были свои наборы параметров.
Помните, на импорте прайса на 1000 товаров мы настраивали сопоставление 300 параметров. При всего одной ошибке этот процесс надо было повторять. Не говоря о том, что интерфейс сопоставления совершенно не предназначался для такой работы и никак не показывал, какие из похожих полей уже были сопоставлены. Просто представьте выпадающее меню на 300 строк, которое надо открыть 300 раз.
3. Свойства товара.
Тут мы имеем в виду такие параметры товара, по которым существуют варианты. Самые распространённые — цвет, размер, объём.
С этого начинаются сложности. Например, кроссовки имеют 6 размеров и 4 цвета.Это значит, что в БД будет 24 строчки про этот товар, у каждой будет своя цена и наличие. 100 моделей дадут в итоге 2400 вариантов товара.
Если у товара десять свойств, там точно будут нюансы реализации. Например, то, о чём часто забывают поставщики, — у каждого варианта должен быть свой артикул. В итоге нам приходится решать задачку, как обновлять наличие вариантов без чёткой привязки.
4. Складской учёт.
До тех пор пока вы работаете по дропшиппингу, или ваш поставщик передает вам товарный фид с наличием, или ваши товарные остатки условно бесконечные, у вас нет проблем с этим пунктом.
Как только появляются товары в шоуруме, потом свой склад, потом склады в регионах — рекомендую как можно скорее внедрять полноценный складской учёт.
С усложнением ситуации будут увеличиваться ваши проблемы: артикулы, остатки, ошибки персонала, дубли товаров. В базе на 300 товаров это может создать ад.
Отдельно не рекомендую пытаться повесить внедрение складского учёта на IT-интегратора под видом настройки интеграции интернет-магазина с сервисом «Мой склад». Тот, кто возьмётся делать это за небольшие деньги, не понимает, во что ввязался.
5. Склейка данных из нескольких источников.
6. Влияние особенностей и ограничений движка на формат данных.
Иногда надо разложить часть данных по разным полям, иногда невозможно это сделать.
Чтобы хорошо работали фильтры, у вас должны быть поля для соответствующих параметров и они должны быть заполнены.Собственно, это те самые нюансы товара, которые могут влиять на внешний вид интернет-магазина.
Что ещё важно
Системы учёта
Системы складского учёта (например «Мой склад») используют дополнительное поле в БД товаров, чтобы однозначно идентифицировать данный вариант товара. Плюс можно использовать ещё несколько полей для привязки к другим сущностям.
Источники данных о товарах
Иногда нет единого полноценного источника всей информации о вашем товаре.
Часть информации вы берёте с сайта конкурента, часть даёт поставщик, часть создаёте вы сами.
Роботы могут объединить данные, только если есть какой-то очевидный признак: SKU, barcode, ID. В остальных случаях это может сделать только человек.Наши сотрудники создают по 15–30 товаров в час (клиент — 2 товара в час). Поэтому создание 2000 товаров может занять месяц и будет хорошо стоить.
Здесь далеко не все возможные нюансы, но этого вполне достаточно, чтобы потратить несколько месяцев, так и не начав торговать.
Именно поэтому я призываю отнестись к товарам в ИМ как к проектированию БД.
Итак, нужно:
- определить источники данных: прайс, фид от поставщика, приложение для DropShipping, сайт конкурента, поставщик данных о товарах;
- определить формат данных: короткое и длинное описания, фото, параметры, свойства;
- выбрать способ работы с вариантами: отдельные товары, склеенные по всем свойствам, склеенные по отдельным свойствам, общий товар с конфигуратором;
- определить одно (1) место, в которое вы будете складывать данные, — потом вы сможете распределить их по всем вашим ресурсам. Это позволит избежать путаницы в данных и снизит вероятность ошибок;
- определить какие ограничения есть у движка: например, не более 100 вариантов;
- учесть требования к фильтру в коллекциях;
- требования к дизайну: картинки, длинное описание.
Таким образом, данные о товарах могут проходить через все бизнес-инструменты компании: от поставщика, через складской учёт, движок ИМ (CMS), дизайн магазина, CRM, маркетинг и рекламу (товарные фиды), бухучёт.
Грубо говоря, запуская магазин в новой товарной нише, вы будете создавать новую информационную систему и базу данных.
Сейчас появляется множество сервисов с готовой товарной информацией. По нашему опыту, клиенты ни разу не обратились к таким сервисам, хотя мы сами обращались к ним за расчётом и предлагали их клиенту (это было дешевле, чем наши услуги).
Думаю, дело в том, что они не решают задачу клиента до конца. Например, у сервиса может не быть одной из товарных категорий, не будет картинок в высоком качестве, описание не будет приведено к общему формату, они не будут клеить данные из нескольких источников и многие другие мелочи. Поэтому у нас уже много лет постоянно работает контент-менеджер, который продолжает решать задачу клиента ручным трудом. И только ручной труд пока позволяет решить задачу клиента на 100%. Надеемся, что однажды наши контент-менеджеры станут учителями нейросетей или подобных инструментов и им больше не будет сниться «CTRL+C, CTRL+V».
Мы обсуждаем эти вопросы с каждым клиентом.
Задаем вопросы клиенту, связываемся с поставщиками, ищем альтернативные источники данных, импортируем, загружаем картинки вручную, настраиваем регулярный импорт в магазин, создаём инструменты объединения данных перед импортом. Короче, решаем задачу клиента.
Иногда мы делаем ручную обработку данных о товарах в таблице, чтобы потом быстро импортировать и сократить расходы на ручную работу.
О некоторых кейсах по товарам мы кратко пишем на нашем сайте.