Этим летом нам удалось поработать над двумя схожими кейсами. Запускали интернет-магазины интимных товаров на базе готовых решений для 1С-Битрикс. В обоих случаях были большие каталоги продукции, более 20 000 позиций с различными вариациями (SKU), и эти объемные прайсы надо было загружать напрямую от поставщиков, постоянно поддерживая актуальность данных по наличию и ценам.
Рассказывая про разработку этих проектов, можно выделить несколько ключевых этапов, которые, кстати, можно применять для большинства тематик интернет-магазинов. Ведь в техническом плане магазин интимных товаров не отличается от других. Основные принципы работы остаются такими же.
1 шаг - выбор платформы и готового решения
В первом случае клиент выбрал все сам, а к нам пришел уже с задачей по интеграции с поставщиками. Он выбрал 1С-Битрикс редакция Бизнес и готовое решение от компании Аспро «Next - интернет-магазин». Это связка очень функциональная и позволяет реализовать все желаемые задумки клиента.
Второй клиент пришел к нам с проектом на «чистом листе», но уже смотрел в сторону платформы Битрикс как на основу для своего будущего магазина. Совместными силами мы подобрали ему комплект редакции Малый бизнес с готовым решением от той же компании Аспро под названием «Маркет - Адаптивный интернет-магазин».
Преимущества у второго клиента было в том, что при покупке комплекта с готовым решением через нашу компанию, как официального сертифицированного партнера компании Битрикс, мы имеем возможность сделать хорошую скидку на наши последующие работы. В итоге интеграция с Поставщиком счастья для этого клиента была сделана бесплатно.
2 шаг - запуск базовой версии и общие настройки
На этом этапе мы устанавливаем на сервере необходимую редакцию системы управления и производим установку готового интернет-магазина. Далее делаем ряд основных базовых настроек сайта. Заводим типы цен, склады, типы плательщиков, способы оплаты и доставки, а также ряд других общих настроек.
3 шаг - интеграция с поставщиками
Тут начинается самое интересное. Необходимо сделать связку с файлами поставщиков, чтобы наполнить каталог, который является основой интернет-магазина.
Какие сложности предстоять решить на данном этапе?
Прежде всего это единое представление продукции. У каждого поставщика свои характеристики товаров и свое оформление их. К примеру, цвет товара - у одного поставщика может быть значение «Черный», а у другого «black». А на сайте клиент хочет, чтобы цвет отображался не текстом, а иконкой черного цвета.
Далее структура каталога. У всех разные категории и подкатегории, как по структуре, так и по названию. При этом есть категории с разными названиями, но с одинаковым смыслом. Например, у одного поставщика просто «Белье», а у другого «Нижнее белье».
И наконец, у всех поставщиков свой формат файла импорта (XML, CSV и т.д.), своя структура и свои переменные. Поэтому для каждого требуется написание своего обработчика.
Как мы решили эти задачи?
Разницу форматов, как выше было сказано, мы решили путем написания обработчика для каждого поставщика. Это в целом обычная задача и самое сложное было впереди.
Разницу форматов и структуры, мы, путем обсуждения, решили через таблицы соответствия. То есть создали некоторую систему исправлений по прописанному алгоритму. Если объяснять простым языком, то работает она так – мы собираем все варианты цветов товаров в том виде как есть. А затем в специальной таблице указываем у каждого варианта поставщика какому нашему значению он должен быть равен. Эта операция требует некоторого ручного труда на начальном этапе, но потом когда собирается максимально большой список вариаций, то новые цвета уже не добавляются и далее ручного внесения соответствий не требуется.
Аналогично мы решили вопрос с категориями. Сначала клиент создал свои варианты категорий на сайте. То есть спроектировал ту структуру каталога, которую хочет видеть у себя. Далее мы создали отдельную таблицу соответствий для разделов товаров и в ней прописано из какой категории брать товары поставщика и в какую категорию сохранять на сайте.
Такая система соответствий достаточно универсальная и может быть применена на многих проектах, где есть импорт от разных поставщиков.
4 шаг - работа с нагрузкой
Этот вопрос не многие клиенты учитывают, но он является очень важным, так как напрямую влияет на скорость работы сайта и, следовательно, на его эффективность. Проблема заключается в объемах при обновлении информации.
Когда вы делаете интеграцию, например, со своей 1С, то вы можете управлять теми данными, который выгружаете. Вы настраиваете обмен таким образом, что при каждом соединении сайта с учетной системой, идет загрузка только измененных товаров или разделов. Таким образом вам не приходиться каждый раз «гонять» десятки тысяч товаров через свою базу данных.
Но при интеграции с поставщиками через файлы импорта XML и CSV, ситуация иная. Они всегда выгружают полный каталог в эти файлы. И изменений часто бывает много. Меняются товары – появляются новые и удаляются старые. Меняются цены и остатки на складах. При этом обновления идут в течении дня и для поддержания актуальных данных надо настраивать импорт несколько раз в течении суток.
Наш инженер-программист решил данную задачу путем создания буферного файла с данными прошлой выгрузки, с помощью которого получается отслеживать изменяемые элементы и работать только с ними. Кроме этого, было сделано два типа обмена – в первом случае обновляются все значения товаров, а во втором только цены и остатки.
С помощью этих решений получилось значительно снизить нагрузку на сервер при обмене. Однако простой хостинг здесь не подойдет, и мы подобрали обоим клиентам решение на базе VPS с необходимыми техническими характеристиками и хорошим объемом памяти. Так как не стоит забывать про цифры и картинки, которые занимают очень много места. Если представить, что у вас 20 000 товаров и у каждого есть картинки хотя бы на 0,5 Мб, тогда вам надо 10 гигабайт на хостинге только для картинок.
5 шаг - настройка автоматизации
В финале работ мы поставили наши скрипты для запуска обмена на выполнение по расписанию. Для полной загрузки выбрали ночное время, которое отличается наименьшей активностью пользователей. А в течении дня обновляем только цены и остатки на складах.
Кроме этого, мы сделали специальный модуль для возможности управлять импортом вручную, а также устанавливать свои наценки на цены разных поставщиков, в тех случаях, где это возможно.
Резюме
В качестве вывода, хотелось бы рассказать про интересный сценарий по запуску интернет-магазинов. Когда вы покупаете комплект Битрикс в связке с готовым решением, то вы получаете, по сути, не ограниченный ресурс по запуску магазинов любой тематики. Это связанно с тем, что с выходом 18-версии данной системы управления, было снято ограничение на количество сайтов, которое можно создать в рамках одной лицензии. Представьте, что, приобретая комплект за 50 000 руб. вы можете создать, к примеру 10 магазинов. Тогда стоимость запуска одного сайта будет 5000 руб. А если 20 магазинов, тогда всего 2500 руб.
При этом можно легко тестировать другие ниши, ведь для открытия очередного магазина, вам надо только купить домен, нажать пару кнопок в мастере установки и новый сайт готов.
Используйте эти возможности в своем бизнесе, и вы сможете создать большую фирму.