Интеграция и разработка кастомных модулей Akeneo PIM для интернет-магазина


ELKOR — крупнейший латвийский интернет-магазин широкого профиля на более чем 300 тыс. SKU, со штаб-квартирой в Риге, с офлайн-точками магазинов продаж.

КЛИЕНТ

ELKOR — крупнейший латвийский интернет-магазин широкого профиля на более чем 300 тыс. SKU, со штаб-квартирой в Риге, с офлайн-точками магазинов продаж.

задача

Решение

В качестве системы для управления данными о товарах была предложена Pimcore: она поможет автоматизировать ручной труд менеджеров, обеспечить централизованную проверку данных и автоматическую интеграцию с маркетплейсами.

Для создания новой модели хранения информации принято решение провести анализ структуры хранения данных о разных группах товаров в ERP заказчика, сопоставить эти данные с требованиями маркетплейсов и подразделений компании, участвующих во взаимодействии с ними. Обмен информацией между системами было решено организовать через сервисную шину ESB.
rus: ESB Централизованное и децентрализованное управление (по требованию) | kt.team

Решение

В качестве системы для управления данными о товарах была предложена Pimcore: она поможет автоматизировать ручной труд менеджеров, обеспечить централизованную проверку данных и автоматическую интеграцию с маркетплейсами.

Для создания новой модели хранения информации принято решение провести анализ структуры хранения данных о разных группах товаров в ERP заказчика, сопоставить эти данные с требованиями маркетплейсов и подразделений компании, участвующих во взаимодействии с ними. Обмен информацией между системами было решено организовать через сервисную шину ESB.
rus: ESB Централизованное и децентрализованное управление (по требованию) | kt.team
Сложность интеграции PWA была в том, что интернет-магазин реализован на Magento 1, старой технологии, которая отягощает любые изменения. Несмотря на это, интеграция PWA позволила ускорить процесс разработки frontend-части, тестирование новых фич и гипотез. Так, если раньше нам приходилось тратить на реализацию функционала около двух недель, то с PWA мы стали укладываться за 4 дня.

Помимо работы с Magento 1 и PWA мы сделали свой Elasctic Indexer, т.к. в Magento 1 не входит в коробочный функционал.
rus: Внедрение PWA
rus: Внедрение PWA

Внедрение PWA

Progressive Web Apps — это мобильное приложение в браузере, не требующее дополнительной установки. Подробнее о PWA можно прочитать здесь.
Для хранения всей информации о товарах и поставщиках в единой базе с возможностью централизованного управления маркетинговой и технической информацией была реализована интеграция с Akeneo PIM. Помимо коробочного функционала Akeneo, мы также разработали новые кастомные модули специально для проекта.
rus: Интеграция Akeneo PIM

Интеграция Akeneo PIM

В интернет-магазине клиента один и тот же товар может продаваться разными поставщиками и по разным ценам. Для того чтобы на сайте не образовывались дубликаты товаров и не вводили в заблуждение покупателей, было решено разработать дополнительный модуль «Поставщики».

Это работает так: в PIM-систему заводится список товаров, которые берутся за основу. От каждого поставщика поступают предложения (товары), PIM-система соотносит атрибуты поступивших товаров с основными, и, если есть совпадение свыше 90%, то PIM автоматически их объединит. Если процент совпадения менее 90, PIM предложит оператору объединить товары, предварительно проверив их вручную.

Разработка кастомного модуля «поставщики»

rus: Интеграция Akeneo PIM — Разработка кастомного модуля «поставщики»
Кроме этого, если один поставщик дал развёрнутое описание товара, а другой описание точно такого же товара дал не полное, то при объединение товара в единый на сайте будет отображено полное описание товара. Также описание товара, при нехватке информации, может дополняться характеристиками, которые дали разные поставщики.
У каждого поставщика название или описание характеристик одного и того же товара может быть записано по-разному. С появлением новых предложений (товаров) количество атрибутов растёт, и, чтобы избежать возникновения дублей атрибутов, мы сделали механизм объединения атрибутов. Логика работы схожа с обработкой предложений от поставщиков.

Модуль сопоставления и объединения атрибутов

rus: Интеграция Akeneo PIM — Модуль сопоставления и объединения атрибутов
Изначально в PIM-систему заливается список атрибутов, которые берутся за основные. Чтобы не было дубликатов атрибутов, мы разработали модуль их сопоставления. Первоначально оператор вручную обрабатывает входящий поток атрибутов и решает какие объединять в один. При следующей загрузке PIM уже сам автоматически это решает. Также, если в основной базе данных PIM-системы присутствуют два одинаковых атрибута, то оператор может из них выбрать единый основной, при этом все связи с товарами сохранятся.
Изначально в Akeneo PIM ID товаров присваивается вручную. Дополнительно клиент хотел, чтобы у разных категорий товаров генерация SKU происходила по разным правилам.

Наши разработчики создали модуль для автоматической генерации уникального ID. Теперь при внесении товара в Akeneo PIM ему автоматически присваивается уникальный ID, учитывая правила категории. Так, если товар подходит под категорию «Одежда», у него будет своё правило генерации ID, а у товаров из категории «Бытовая техника» — будет рассчитываться по другому правилу.

Модуль автоматической генерации ID товаров

rus: Интеграция Akeneo PIM — Модуль автоматической генерации ID товаров
rus: Оплата заказов подарочной картой
Оплата товаров подарочной картой была возможна только в офлайновых магазинах. Нам нужно было сделать, чтобы этот функционал был доступен и в интернет-магазине, но только для Латвии. Разработка заняла много времени, но были учтены все требования заказчика по логике оплаты. Теперь при оформление заказа, покупатель может выбрать как способ оплаты подарочную карту или объединить все доступные способы оплаты с подарочной картой. Например, оплатить 50% подарочной картой, а другие 50% - банковской.
Верификация подарочной карты происходит в два этапа. Первый этап — модальное окно ввода номера подарочной карты для проверки существования данной карты. Второй этап — подтверждения по SMS для подтверждения личности покупателя. Картой можно оплачивать заказ до 300€, при этом оставшаяся сумма карты не будет "сгорать", а её можно будет использовать для оплаты при следующих покупках.
rus: Оплата заказов подарочной картой — Верификация

Оплата заказов подарочной картой

У Elkor'а много офлайн-точек продажи по всей Латвии, между которыми может осуществляться перевозка товаров из одного пункта самовывоза в другой. Клиент хотел, чтобы покупателей интернет-магазина уведомляли о дате доставки заказов из пункта самовывоза. Кроме этого, наши разработчики сделали возможным настройки правила расчёта времени на доставку из ближайшего пункта самовывоза по наличию в нём, которое отображается на сайте при оформлении товара. Также сделали доступным доставлять заказы из одного пункта самовывоза в другой, чтобы покупатели могли забрать из удобного для них пункта.
rus: Работа с мультискладами — Наличие
rus: Работа с мультискладами — Выбор способа получения заказа

Работа с мультискладами

Для некоторых категорий товаров требовалась настройка уникальных правил продаж. Так, для товаров категории «Продукты» есть правило, что минимальная сумма заказа должн быть не менее 30€. Для скоропортящихся продуктов действует правило «доставка курьером», доставка из пункта выдачи заказов и пакоматы недоступны. Управление правилами продажи категорий товаров доступно в административной панели Magento.
rus: Настройка правил продаж товаров

Настройка правил продаж товаров

Раньше интеграция Miele с Elkor'ом была сделана через DAM-систему, но её было сложно поддерживать по причине её негибкости. Было принято решение перейти на другой сервис, чтобы сотрудники Miele могли загружать свои товары. Каталог Miele сделан через CMS-страницу, за которые отвечают сотрудники Miele, а наши разработчики сделали интеграцию с Elkor. Теперь готовые данные (информация о товарах, атрибуты, изображения и видео) загружаются из сервиса Loadbee и отображается в «Параметрах» в карточке товара на сайте Elkor. Данная интеграция доступна только для Латвии.
rus: Интеграция с Miele
rus: Интеграция с Miele
rus: Интеграция с Miele
rus: Интеграция с Miele
rus: Интеграция с Miele
rus: Интеграция с Miele

Интеграция с Miele

rus: Интеграция с Miele