So integrieren Sie mehrere Mirakl-Instanzen in eine einzelne Adobe Commerce Multi-Store-Instanz

Veröffentlicht: 2022-03-26

So integrieren Sie mehrere Mirakl-Instanzen in eine einzelne Adobe Commerce Multi-Store-Instanz

Einführung

Die Mirakl-Marktplatzplattform kann in die Adobe (Magento) Commerce-Plattform integriert werden, um einen End-to-End-Online-Marktplatz zu erstellen. Mirakl stellt einen Magento-Konnektor bereit, um den Integrationsprozess zu beschleunigen, der alle Standardprozessabläufe des Marktplatzes abdeckt. Dieser Konnektor ermöglicht es Ihnen, Daten zwischen Mirakl und Magento automatisch zu synchronisieren. Es bietet auch ein Beispiel-Front-End-Modul, das zeigt, wie Sie Seiten anpassen können, um Marketplace-Funktionen anzubieten, die von Mirakl unterstützt werden.

Standardmäßig ist der Konnektor darauf ausgelegt, eine einzelne Mirakl-Instanz mit einer einzelnen Magento-Instanz zu integrieren. Bei einem Rollout in mehreren Ländern kann es jedoch vorkommen, dass jedes Land seine eigene Mirakl-Instanz hat, aber eine einzige Magento-Instanz alle Länder mit mehreren Storefronts bedient. In diesem Szenario muss das Standardverhalten des Konnektors außer Kraft gesetzt werden, um jede Mirakl-Instanz mit ihrer spezifischen Magento-Store-Instanz zu integrieren. Wir haben dies erfolgreich für einen unserer Kunden auf seinem B2B-Marktplatz implementiert. Die folgenden Änderungen werden vorgenommen, um dieses Szenario zu unterstützen. Siehe Abbildung 1.1 für weitere Details darüber, wie mehrere Mirakl-Instanzen mit einer einzigen Adobe Commerce Multi-Store-Instanz funktionieren.

Abb. 1.1: Architekturdiagramm mehrerer Mirakl-Instanzen mit einer einzelnen Adobe Commerce-Multi-Store-Instanz


Globale Konfigurationsänderungen:

Für jede Mirakl-Instanz müssen separate URLs und geheime Schlüssel auf Ebene der Store-Ansicht konfiguriert werden. Wir haben dies erreicht, indem wir die Hilfsklasse config überschrieben haben, um die API-Endpunkte auf der Ebene der Geschäftsansicht zu konfigurieren. Die Konsolenklasse, die für die Verarbeitung von Synchronisierungsskripts verantwortlich ist, wurde überschrieben, um geschäftsansichtsspezifische Synchronisierungsskripts basierend auf der als Parameter übergebenen Geschäfts-ID zu verarbeiten.

Taxonomie-Synchronisierung:

Die Taxonomie-Synchronisation zwischen Magento und Mirakl wird mithilfe des Mirakl-H01-API-Aufrufs erreicht. Diese API wird aufgerufen, um Magento-Kategorien nach Mirakl zu exportieren. Bei einer Multi-Store-Implementierung müssen wir jedoch sicherstellen, dass jede Magento-Storefront die Taxonomie nur in ihre spezifische Mirakl-Instanz exportiert. Wir haben dies erreicht, indem wir die betreffende Hilfsklasse des Mirakl-Konnektors überschrieben haben, um die Mirakl-Instanz ihrer spezifischen Magento-Storefront zuzuordnen.

Produktimport:

Ähnlich wie bei der Taxonomie-Synchronisierung erfordern auch Produktimporte eine Zuordnung von der Mirakl-Instanz zur spezifischen Storefront in Magento. Folgende

Um dies zu erreichen, wurden die folgenden Komponenten überschrieben:

  • Befehlsklassen zum Importieren der Deltaprodukte in die jeweilige Geschäftsansicht, in der die Geschäfts-ID als Teil von CLI-Befehlen übergeben wurde.
  • Interceptor-Plugins, die zum Festlegen der Geschäfts-ID während des Produktimportprozesses verwendet werden, mussten wir die Stammkategorie festlegen.

Import anbieten

Die OF51F-API wird verwendet, um Mirakl-Angebote in Magento zu importieren. Bei einer Multi-Shop-Implementierung muss das Synchronisierungsskript für den Angebotsimport überschrieben werden, um geschäftsspezifische Angebote zu importieren.

OOTB-Tabellen wurden geändert, um Angebote mit Geschäfts-ID abzubilden, benutzerdefinierte Cron-Jobs wurden geschrieben, um geschäftsspezifische Angebotsimporte basierend auf der als Parameter übergebenen Geschäfts-ID zu ermöglichen.

Attributimport:

Der Mirakl-Konnektor verwendet den PM01-API-Aufruf, um Produktattribute von Magento nach Mirakl zu exportieren. Für die Multistore-Implementierung haben wir die Synchronisationsskripte überschrieben, um sicherzustellen, dass die Attribute eines bestimmten Magento-Stores nur in die zugeordnete Mirakl-Instanz exportiert werden.

Attribut Wertelisten Import:

Der Mirakl-Konnektor verwendet den VL01-API-Aufruf, um die Attributwertliste von Magento nach Mirakl zu exportieren. Für die Multistore-Implementierung haben wir die Synchronisationsskripte überschrieben, um sicherzustellen, dass die Wertelisten eines bestimmten Magento-Stores nur in die zugeordnete Mirakl-Instanz exportiert werden.

Shop-Import:

Mirakl-Shops werden über die S20-API in Magento importiert. Für die Multistore-Implementierung haben wir S20-Synchronisierungsskripte überschrieben, um geschäftsspezifische Shop-Informationen von Mirakl mit der zugeordneten Geschäftsansicht zu synchronisieren.

Versandinformationen

Im Mirakl-Konnektor sind keine spezifischen Cron-Jobs verfügbar, um Versandinformationen zu importieren und in der Magento-Datenbank zu speichern. Die Werte werden mit SH01/SH02 an verschiedenen Punkten in der User Journey abgerufen, an denen Versandkosten angezeigt werden sollten.

Frontend-Module wurden erweitert und angepasst, um die Versandkosten an verschiedenen Punkten wie PLP, PDP, Warenkorb, Checkout, Bestellhistorie und Bestelldetailseiten abzurufen. Basierend auf filialspezifischen Anfragen wurden die Versandkosten aus der zugeordneten Mirakl-Instanz abgerufen und angezeigt.

Auftragssynchronisation

Die OR01-API wird für die Auftragserstellung und die OR11-API für die Synchronisierung des Auftragsstatus zwischen Mirakl und Magento verwendet.

Die folgenden Seiten wurden erweitert und an die filialspezifische Umsetzung angepasst.

  • Bestellbestätigungsseite
  • Bestellverlaufsseite
  • Bestelldetails Seite

Der Ablauf der Auftragserteilung wurde geändert, um die filialspezifische Bestellung in die zugeordnete Mirakl-Instanz zu exportieren. Der Mirakl-Konnektor und die Kernklassen von Magento wurden angepasst, um die Auftragserstellung in den jeweiligen Mirakl-Instanzen abzudecken. Frontend-Module wurden erweitert und überschrieben, um die Anzeige des filialspezifischen Bestellstatus in den Bestellverlaufs- und Bestelldetailseiten zu adressieren.

Angebotserstellung und -synchronisierung

Der Mirakl-Konnektor implementiert die B2B-Angebotsszenarien nicht. Wir haben die Konnektorfunktionalität erweitert, um neue Funktionen für die Erstellung, Aktualisierung und Synchronisierung von geschäftsspezifischen Angeboten von Magento zu zugeordneten Mirakl-Instanzen und umgekehrt einzuführen.

Von Q01 bis Q07 wurden sieben API-Aufrufe implementiert, um die vollständige Angebotsfunktionalität des B2B-Marktplatzes abzudecken.

Preis-, Währungs- und Gebietsschemakonfigurationen

Magento bietet geschäftsspezifische Gebietsschema- und Währungskonfigurationen. Da wir mehrere Mirakl-Instanzen hatten, hatte jede ihr eigenes Gebietsschema, ihre eigene Währung und ihre eigenen Preise.

Connector-Hilfskonfigurationsklassen wurden überschrieben, um die speicherspezifische Synchronisierung einzurichten.

Änderungen im Admin-Raster

Die Admin-Grid-bezogenen Cron-Jobs wurden erweitert und angepasst, um geschäftsspezifische Synchronisierungsdetails zu unterstützen. Es funktioniert gut für den Standardspeicher, aber mit zusätzlichen Speichern musste dieser Abschnitt erweitert werden, um die speicherspezifischen Synchronisierungsaktualisierungen anzuzeigen.

Frontend-Modul

Frontend-Komponenten im Zusammenhang mit Breadcrumbs, PLPs, PDPs, Mini-Warenkorb, Einkaufswagen, Kasse, Bestellhistorie, Bestelldetails, Angebotserstellung und Seiten mit Angebotsdetails wurden angepasst, um die Multi-Store-Funktionalität zu handhaben.


Einpacken
Der Schlüssel zu einer erfolgreichen Implementierungsstrategie besteht darin, Magento-Storefronts bestimmten Mirakl-Instanzen zuordnen zu können. Wir haben die Shop-ID als eindeutige Methode verwendet, um die Daten zu identifizieren, die sich auf einen bestimmten Shop beziehen. Der gesamte Connector-Code im Zusammenhang mit der Datensynchronisierung zwischen Magento und Mirakl wurde in diesem Multi-Store-Szenario beeinträchtigt. Abgesehen von Quotation Flow mussten wir keine neuen Klassen schreiben, Erweiterungen und Anpassungen halfen uns, unser Ziel zu erreichen. Unsere Implementierung umfasste die Integration von zwei Mirakl-Instanzen mit einer Magento-Instanz. Das gleiche Design kann jedoch erweitert werden, um weitere Mirakl-Instanzen zu integrieren. Wir haben zwar keine Leistungsprobleme aus diesem Grund festgestellt, es bleibt jedoch zu untersuchen, ob die Leistung beeinträchtigt wird, wenn wir die Anzahl eindeutiger Storefronts mit jeweils eigener Mirakl-Instanz erhöhen.

Über den Autor

Siddhartha Shankar ist technischer Architekt bei McFadyen Digital. Er liebt alles, was mit Markt und Technologie zu tun hat. Als begeisterter Reisender und Musikliebhaber lebt er mit seiner Frau und seiner sechsjährigen Tochter in Bengaluru. Sid war während seiner langen Zeit bei McFadyen Digital an einigen großen Implementierungsprojekten für E-Commerce/Marktplätze beteiligt.