Jak zintegrować wiele instancji Mirakl z jedną instancją Multi-Store Adobe Commerce?
Opublikowany: 2022-03-26Jak zintegrować wiele instancji Mirakl z jedną instancją Multi-Store Adobe Commerce?
Wstęp
Platformę handlową Mirakl można zintegrować z platformą Adobe (Magento) Commerce, aby stworzyć kompleksowy rynek online. Mirakl zapewnia złącze Magento, aby przyspieszyć proces integracji obejmujący wszystkie standardowe przepływy procesów rynkowych. To złącze umożliwia automatyczną synchronizację danych między Mirakl i Magento. Zawiera również przykładowy moduł frontonu pokazujący, w jaki sposób można dostosować strony, aby oferować funkcje Marketplace obsługiwane przez Mirakl.
Domyślnie łącznik jest zaprojektowany tak, aby integrować pojedynczą instancję Mirakl z pojedynczą instancją Magento. Jednak w przypadku wdrożenia w wielu krajach może wystąpić sytuacja, w której każdy kraj ma własną instancję Mirakl, ale jedna instancja Magento obsługuje wszystkie kraje z wieloma witrynami sklepowymi. W tym scenariuszu należy zastąpić domyślne zachowanie łącznika, aby zintegrować każdą instancję Mirakl z jej konkretną instancją sklepu Magento. Z powodzeniem wdrożyliśmy to dla jednego z naszych klientów na ich rynku B2B. W celu obsługi tego scenariusza wprowadzono następujące zmiany. Zapoznaj się z rysunkiem 1.1, aby uzyskać więcej informacji o tym, jak wiele instancji Mirakl współpracuje z jedną instancją wielosklepową Adobe Commerce.

Globalne zmiany konfiguracji:
Dla każdej instancji Mirakl należy skonfigurować oddzielny adres URL i klucz tajny na poziomie widoku sklepu. Osiągnęliśmy to, nadpisując klasę pomocnika konfiguracji, aby skonfigurować punkty końcowe interfejsu API na poziomie widoku sklepu. Klasa Console odpowiedzialna za obsługę skryptów synchronizacji została zastąpiona, aby obsługiwać skrypty synchronizacji specyficzne dla widoku sklepu na podstawie identyfikatora sklepu przekazywanego jako parametr.
Synchronizacja taksonomii:
Synchronizacja taksonomii między Magento i Mirakl jest osiągana za pomocą wywołania API Mirakl H01. Ten interfejs API jest wywoływany w celu eksportu kategorii Magento do Mirakl. Ale przy wdrożeniu wielu sklepów musimy zapewnić, że każda witryna Magento Store będzie eksportować taksonomię tylko do swojej konkretnej instancji Mirakl. Osiągnęliśmy to, nadpisując odpowiednią klasę pomocnika łącznika Mirakl, aby zmapować instancję Mirakl do jej konkretnego sklepu Magento.
Import produktów:
Podobnie jak w przypadku synchronizacji taksonomii, import produktów wymaga również mapowania z instancji Mirakl do określonej witryny sklepowej w Magento. Następujące
Aby to osiągnąć, zastąpiono następujące komponenty:
- Klasy poleceń do importowania produktów delta do odpowiedniego widoku sklepu, w którym identyfikator sklepu został przekazany jako część poleceń cli.
- Wtyczki Interceptor, służące do ustawiania identyfikatora sklepu podczas procesu importu produktu, musieliśmy ustawić kategorię główną.
Importuj ofertę
API OF51F służy do importowania ofert Mirakl do Magento. W przypadku implementacji wielu sklepów, skrypt synchronizacji importu ofert musi zostać zastąpiony, aby zaimportować oferty specyficzne dla sklepu.
Tabele OOTB zostały zmodyfikowane w celu mapowania ofert z identyfikatorem sklepu, niestandardowe zadania Cron zostały napisane w celu obsługi importu konkretnych ofert na podstawie identyfikatora sklepu, który był przekazywany jako parametr.
Import atrybutów:
Łącznik Mirakl używa wywołania API PM01 do eksportowania atrybutów produktu z Magento do Mirakl. W przypadku implementacji multistore nadpisaliśmy skrypty synchronizacji, aby upewnić się, że atrybuty konkretnego sklepu Magento są eksportowane tylko do zmapowanej instancji Mirakl.
Import list wartości atrybutów:
Łącznik Mirakl wykorzystuje wywołanie API VL01 do eksportu listy wartości atrybutów z Magento do Mirakl. W przypadku implementacji multistore nadpisaliśmy skrypty synchronizacji, aby upewnić się, że listy wartości konkretnego sklepu Magento są eksportowane tylko do zmapowanej instancji Mirakl.

Importuj sklep:
Sklepy Mirakl są importowane do Magento za pomocą API S20. W przypadku wdrożenia multistore nadpisaliśmy skrypty synchronizacji S20, aby zsynchronizować informacje o sklepie z Mirakl do zmapowanego widoku sklepu.
informacje wysyłkowe
W złączu Mirakl nie ma dostępnych konkretnych zadań Cron do importowania i przechowywania informacji o wysyłce w bazie danych Magento. Wartości są pobierane za pomocą SH01/SH02 w różnych punktach podróży użytkownika, w których miały być wyświetlane opłaty za wysyłkę.
Moduły frontendu zostały rozszerzone i dostosowane do pobierania opłat za wysyłkę w różnych punktach, takich jak PLP, PDP, koszyk, kasa, historia zamówień i strony szczegółów zamówienia. Na podstawie konkretnych żądań sklepu opłaty za wysyłkę zostały pobrane z odwzorowanej instancji Mirakl i wyświetlone.
Synchronizacja zamówień
API OR01 służy do tworzenia zamówień, a API OR11 do synchronizacji statusu zamówienia między Mirakl i Magento.
Kolejne strony zostały rozszerzone i dostosowane do potrzeb konkretnego sklepu.
- Strona potwierdzenia zamówienia
- Strona historii zamówień
- Strona szczegółów zamówienia
Przebieg składania zamówienia został zmodyfikowany, aby wyeksportować zamówienie ze sklepu do zmapowanej instancji Mirakl. Łączniki Mirakl i klasy podstawowe Magento zostały dostosowane do tworzenia zamówień w odpowiednich instancjach Mirakl. Moduły frontendu zostały rozszerzone i zastąpione, aby uwzględnić wyświetlanie statusu zamówienia w sklepie w historii zamówień i na stronach szczegółów zamówienia.
Tworzenie i synchronizacja wyceny
Łącznik Mirakl nie implementuje scenariuszy ofert B2B. Rozszerzyliśmy funkcjonalność łącznika, aby wprowadzić nowe funkcje tworzenia, aktualizacji i synchronizacji konkretnych ofert sklepu z Magento do zmapowanej instancji Mirakl i odwrotnie.
Zaimplementowano siedem wywołań API, od Q01 do Q07, aby objąć pełną funkcjonalność wyceny na rynku B2B.
Konfiguracje cen, walut i ustawień regionalnych
Magento zapewnia konfiguracje ustawień regionalnych i walutowych dla sklepu. Ponieważ mieliśmy wiele instancji Mirakl, każda z nich miała swoją własną lokalizację, walutę i ceny.
Klasy konfiguracji pomocnika oprogramowania sprzęgającego zostały zastąpione, aby skonfigurować synchronizację specyficzną dla sklepu.
Zmiany w siatce administratora
Zadania Cron związane z siatką administracyjną zostały rozszerzone i dostosowane do obsługi szczegółów synchronizacji specyficznych dla sklepu. Działa dobrze w przypadku domyślnego sklepu, ale w przypadku dodatkowych sklepów ta sekcja musiała zostać rozszerzona, aby wyświetlić aktualizacje synchronizacji specyficzne dla sklepu.
Moduł frontendowy
Komponenty frontendu związane z bułką tartą, PLP, PDP, mini koszykiem, koszykiem, kasą, historią zamówień, szczegółami zamówień, tworzeniem ofert i stronami ze szczegółami oferty zostały dostosowane do obsługi funkcjonalności wielu sklepów.
Zakończyć
Kluczem do udanej strategii wdrożenia jest możliwość mapowania witryn Magento na konkretne instancje Mirakl. Wykorzystaliśmy identyfikator sklepu jako unikalny sposób identyfikacji danych związanych z konkretnym sklepem. W tym scenariuszu z wieloma sklepami wpłynął cały kod złącza związany z synchronizacją danych między Magento i Mirakl. Poza przepływem cytatów nie musieliśmy pisać żadnych nowych klas, rozszerzanie i dostosowywanie pomogło nam osiągnąć nasz cel. Nasze wdrożenie obejmowało integrację dwóch instancji Mirakl z jedną instancją Magento. Ale ten sam projekt można rozszerzyć, aby zintegrować więcej instancji Mirakl. Chociaż nie stwierdziliśmy z tego powodu żadnych problemów z wydajnością, nadal należy to zbadać, jeśli zwiększy się liczba unikalnych witryn sklepowych, z których każda ma własną instancję Mirakl.
o autorze
Siddhartha Shankar jest architektem technicznym w McFadyen Digital. Kocha wszystkie rzeczy związane z rynkiem i technologią. Zapalony podróżnik i miłośnik muzyki, przebywa z żoną i sześcioletnią córką w Bengaluru. Sid był częścią kilku dużych projektów wdrożeniowych eCommerce / marketplace podczas jego długiej pracy w McFadyen Digital.