Как интегрировать несколько экземпляров Mirakl с одним экземпляром Adobe Commerce Multi-Store

Опубликовано: 2022-03-26

Как интегрировать несколько экземпляров Mirakl с одним экземпляром Adobe Commerce Multi-Store

Введение

Платформа торговой площадки Mirakl может быть интегрирована с платформой Adobe (Magento) Commerce для создания комплексной онлайн-торговой площадки. Mirakl предоставляет коннектор Magento для ускорения процесса интеграции, охватывающий все стандартные потоки процессов на рынке. Этот коннектор позволяет автоматически синхронизировать данные между Mirakl и Magento. Он также предоставляет пример внешнего модуля, демонстрирующего, как вы можете настроить страницы, чтобы предлагать функции Marketplace на базе Mirakl.

По умолчанию коннектор предназначен для интеграции одного экземпляра Mirakl с одним экземпляром Magento. Однако при развертывании в нескольких странах может возникнуть ситуация, когда в каждой стране есть собственный экземпляр Mirakl, но один экземпляр Magento обслуживает все страны с несколькими витринами. В этом сценарии поведение соединителя по умолчанию необходимо переопределить, чтобы интегрировать каждый экземпляр Mirakl с его конкретным экземпляром магазина Magento. Мы успешно реализовали это для одного из наших клиентов на их торговой площадке B2B. Для поддержки этого сценария внесены следующие изменения. Обратитесь к рисунку 1.1 для получения дополнительной информации о том, как несколько экземпляров Mirakl работают с одним экземпляром Adobe Commerce с несколькими магазинами.

Рис. 1.1 Схема архитектуры нескольких экземпляров Mirakl с одним экземпляром Adobe Commerce Multi-store


Глобальные изменения конфигурации:

Отдельный URL-адрес и секретный ключ должны быть настроены на уровне представления магазина для каждого экземпляра Mirakl. Мы достигли этого, переопределив вспомогательный класс конфигурации для настройки конечных точек API на уровне представления магазина. Класс Console, отвечающий за обработку сценариев синхронизации, был переопределен для обработки сценариев синхронизации, специфичных для представления хранилища, на основе идентификатора хранилища, передаваемого в качестве параметра.

Синхронизация таксономии:

Синхронизация таксономии между Magento и Mirakl достигается с помощью API-вызова Mirakl H01. Этот API вызывается для экспорта категорий Magento в Mirakl. Но с реализацией нескольких магазинов мы должны убедиться, что каждая витрина магазина Magento экспортирует таксономию только в свой конкретный экземпляр Mirakl. Мы достигли этого, переопределив соответствующий вспомогательный класс соединителя Mirakl, чтобы сопоставить экземпляр Mirakl с его конкретной витриной магазина Magento.

Импорт продукта:

Подобно синхронизации таксономии, импорт продуктов также требует сопоставления экземпляра Mirakl с конкретной витриной магазина в Magento. Следующее

Для этого были переопределены следующие компоненты:

  • Классы команд для импорта дельта-продуктов в соответствующее представление магазина, где идентификатор магазина был передан как часть команд cli.
  • Плагины-перехватчики, используемые для установки идентификатора магазина в процессе импорта продукта, нам нужно было установить корневую категорию.

Импорт предложения

API OF51F используется для импорта предложений Mirakl в Magento. При реализации нескольких магазинов сценарий синхронизации импорта предложений должен быть переопределен для импорта конкретных предложений магазина.

Таблицы OOTB были изменены для сопоставления предложений с идентификатором магазина, пользовательские задания Cron были написаны для хранения импорта конкретных предложений на основе идентификатора магазина, который передавался в качестве параметра.

Импорт атрибутов:

Соединитель Mirakl использует вызов API PM01 для экспорта атрибутов продукта из Magento в Mirakl. Для реализации с несколькими магазинами мы переопределили сценарии синхронизации, чтобы гарантировать, что атрибуты конкретного магазина Magento экспортируются только в сопоставленный экземпляр Mirakl.

Списки значений атрибутов Импорт:

Соединитель Mirakl использует вызов API VL01 для экспорта списка значений атрибутов из Magento в Mirakl. Для реализации с несколькими магазинами мы переопределили сценарии синхронизации, чтобы гарантировать, что списки значений конкретного магазина Magento экспортируются только в сопоставленный экземпляр Mirakl.

Магазин Импорт:

Магазины Mirakl импортируются в Magento с помощью S20 API. Для реализации с несколькими магазинами мы переопределили сценарии синхронизации S20, чтобы синхронизировать информацию о конкретном магазине из Mirakl с сопоставленным представлением магазина.

информация о доставке

В соединителе Mirakl нет конкретных заданий Cron для импорта и хранения информации о доставке в базе данных Magento. Значения извлекаются с помощью SH01/SH02 в разных точках пути пользователя, где должны отображаться расходы на доставку.

Модули внешнего интерфейса были расширены и настроены для получения стоимости доставки в различных точках, таких как PLP, PDP, корзина, оформление заказа, история заказов и страницы сведений о заказе. На основе конкретного запроса магазина стоимость доставки была получена из сопоставленного экземпляра Mirakl и отображена.

Синхронизация заказов

API OR01 используется для создания заказов, а API OR11 — для синхронизации статуса заказа между Mirakl и Magento.

Следующие страницы были расширены и настроены для конкретной реализации магазина.

  • Страница подтверждения заказа
  • Страница истории заказов
  • Страница сведений о заказе

Процесс размещения заказа был изменен для экспорта конкретного заказа магазина в сопоставленный экземпляр Mirakl. Соединитель Mirakl и основные классы Magento были настроены для создания заказов в соответствующих экземплярах Mirakl. Модули внешнего интерфейса были расширены и переопределены для отображения статуса заказа конкретного магазина адресов в истории заказов и на страницах сведений о заказах.

Создание и синхронизация котировок

Mirakl Connector не реализует сценарии котировок B2B. Мы расширили функциональность соединителя, чтобы представить новые функции для создания, обновления и синхронизации котировок для конкретного магазина из Magento в сопоставленный экземпляр Mirakl и наоборот.

С Q01 по Q07 было реализовано семь вызовов API, чтобы охватить все функции котировок на рынке B2B.

Цена, валюта и региональные настройки

Magento предоставляет настройки локали и валюты для конкретного магазина. Поскольку у нас было несколько экземпляров Mirakl, каждый из них имел свою локаль, валюту и цены.

Вспомогательные классы конфигурации коннектора были переопределены для настройки синхронизации конкретного магазина.

Изменения в админке

Задания Cron, связанные с административной сеткой, были расширены и настроены для поддержки конкретных сведений о синхронизации. Он отлично работает для магазина по умолчанию, но с дополнительными магазинами этот раздел пришлось расширить, чтобы отобразить обновления синхронизации для конкретного магазина.

Интерфейсный модуль

Компоненты внешнего интерфейса, связанные с панировочными сухарями, PLP, PDP, мини-корзиной, корзиной, кассой, историей заказов, деталями заказа, страницами создания котировок и сведений о котировках, были настроены для работы с несколькими магазинами.


Заворачивать
Ключом к успешной реализации стратегии является возможность сопоставления витрин Magento с конкретными экземплярами Mirakl. Мы использовали идентификатор магазина как уникальный способ идентификации данных, относящихся к конкретному магазину. Весь код соединителя, связанный с синхронизацией данных между Magento и Mirakl, был затронут в этом сценарии с несколькими магазинами. За исключением потока котировок, нам не пришлось писать никаких новых классов, расширение и настройка помогли нам достичь нашей цели. Наша реализация включала интеграцию двух экземпляров Mirakl с одним экземпляром Magento. Но тот же дизайн можно расширить, чтобы интегрировать больше экземпляров Mirakl. Хотя мы не обнаружили каких-либо проблем с производительностью из-за этого, еще предстоит изучить, повлияет ли производительность на производительность, поскольку мы увеличиваем количество уникальных витрин, каждая из которых имеет свой собственный экземпляр Mirakl.

об авторе

Сиддхартха Шанкар — технический архитектор в McFadyen Digital. Он любит все, что связано с рынком и технологиями. Заядлый путешественник и любитель музыки, он остается с женой и шестилетней дочерью в Бангалоре. Сид принимал участие в некоторых крупных проектах по внедрению электронной коммерции/торговых площадок во время своего долгого пребывания в McFadyen Digital.