Cum să integrați mai multe instanțe Mirakl cu o singură instanță Adobe Commerce Multi-Store

Publicat: 2022-03-26

Cum să integrați mai multe instanțe Mirakl cu o singură instanță Adobe Commerce Multi-Store

Introducere

Platforma Mirakl marketplace poate fi integrată cu platforma Adobe (Magento) Commerce pentru a crea o piață online end-to-end. Mirakl oferă un conector Magento pentru a accelera procesul de integrare care acoperă toate fluxurile de proces standard ale pieței. Acest conector vă permite să sincronizați automat datele între Mirakl și Magento. De asemenea, oferă un exemplu de modul front-end care demonstrează modul în care puteți personaliza paginile pentru a oferi funcții Marketplace oferite de Mirakl.

În mod implicit, conectorul este proiectat să integreze o singură instanță Mirakl cu o singură instanță Magento. Cu toate acestea, pentru o lansare în mai multe țări, poate exista o situație în care fiecare țară are propria instanță Mirakl, dar o singură instanță Magento deservește toate țările cu mai multe vitrine. În acest scenariu, comportamentul implicit al conectorului trebuie să fie suprascris pentru a integra fiecare instanță Mirakl cu instanța sa de magazin Magento specifică. Am implementat cu succes acest lucru pentru unul dintre clienții noștri pe piața lor B2B. Următoarele modificări sunt făcute pentru a sprijini acest scenariu. Consultați figura 1.1 pentru mai multe detalii despre cum funcționează mai multe instanțe Mirakl cu o singură instanță multi-magazin Adobe Commerce.

Fig 1.1 Diagrama de arhitectură a mai multor instanțe Mirakl cu o singură instanță Adobe Commerce multi-magazin


Modificări globale ale configurației:

Adresa URL și cheia secretă separate trebuie configurate la nivel de vizualizare a magazinului pentru fiecare instanță Mirakl. Am realizat acest lucru prin suprascrierea clasei de ajutor de configurare pentru a configura punctele finale API la nivel de vizualizare a magazinului. Clasa Consolă responsabilă pentru gestionarea scripturilor de sincronizare a fost înlocuită pentru a gestiona scripturile de sincronizare specifice vizualizării magazinului, pe baza ID-ului magazinului transmis ca parametru.

Sincronizare taxonomie:

Sincronizarea taxonomiei între Magento și Mirakl se realizează folosind apelul API Mirakl H01. Acest API este invocat pentru a exporta categorii Magento în Mirakl. Dar, cu o implementare cu mai multe magazine, trebuie să ne asigurăm că fiecare vitrină Magento exportă taxonomia numai către instanța Mirakl specifică. Am reușit acest lucru prin suprascrierea clasei de ajutor de conector Mirakl în cauză pentru a mapa instanța Mirakl la magazinul său specific Magento.

Import de produs:

Similar cu sincronizarea taxonomiei, importurile de produse necesită, de asemenea, maparea de la instanța Mirakl la vitrina specifică din Magento. Următoarele

Următoarele componente au fost înlocuite pentru a realiza acest lucru:

  • Clasele de comandă pentru a importa produsele delta în vizualizarea magazinului respectiv unde id-ul magazinului a fost transmis ca parte a comenzilor cli.
  • Pluginurile Interceptor, folosite pentru a seta id-ul magazinului în timpul procesului de import al produsului, a trebuit să setăm categoria rădăcină.

Import de oferte

API-ul OF51F este folosit pentru a importa oferte Mirakl în Magento. Cu o implementare cu mai multe magazine, scriptul de sincronizare pentru importul ofertei trebuie să fie înlocuit pentru a importa oferte specifice magazinului.

Tabelele OOTB au fost modificate pentru a mapa oferte cu id-ul magazinului, Job-urile Cron personalizate au fost scrise pentru a stoca importurile de oferte specifice pe baza id-ului magazinului care a fost transmis ca parametru.

Import de atribute:

Conectorul Mirakl folosește apelul API PM01 pentru a exporta atributele produsului de la Magento la Mirakl. Pentru implementarea multistore, am suprascris scripturile de sincronizare pentru a ne asigura că atributele unui anumit magazin Magento sunt exportate numai în instanța Mirakl mapată.

Import de liste de valori de atribut:

Conectorul Mirakl folosește apelul API VL01 pentru a exporta lista de valori a atributelor din Magento în Mirakl. Pentru implementarea multistore, am suprascris scripturile de sincronizare pentru a ne asigura că listele de valori ale unui anumit magazin Magento sunt exportate numai în instanța Mirakl mapată.

Import magazin:

Magazinele Mirakl sunt importate în Magento folosind API-ul S20. Pentru implementarea multistore, am înlocuit scripturile de sincronizare S20 pentru a sincroniza informațiile specifice magazinului de la Mirakl la vizualizarea magazinului mapat.

Informații de livrare

Nu există joburi Cron specifice disponibile în conectorul Mirakl pentru a importa și stoca informații de expediere în baza de date Magento. Valorile sunt preluate folosind SH01/SH02 în diferite momente ale călătoriei utilizatorului, unde trebuiau afișate taxele de transport.

Modulele front-end au fost extinse și personalizate pentru a recupera taxele de expediere în diferite puncte, cum ar fi PLP, PDP, coș, finalizarea comenzii, istoricul comenzilor și paginile cu detaliile comenzii. Pe baza cererii specifice magazinului, taxele de expediere au fost preluate din instanța Mirakl mapată și afișate.

Sincronizarea comenzii

API-ul OR01 este folosit pentru crearea comenzilor și API-ul OR11 pentru sincronizarea stării comenzii între Mirakl și Magento.

Următoarele pagini au fost extinse și personalizate pentru a satisface implementarea specifică a magazinului.

  • Pagina de confirmare a comenzii
  • Pagina Istoricul comenzilor
  • Pagina de detalii comandă

Fluxul de plasare a comenzii a fost modificat pentru a exporta comanda specifică magazinului către instanța Mirakl mapată. Conectorul Mirakl și clasele de bază Magento au fost personalizate pentru a acoperi crearea comenzilor în instanțele Mirakl respective. Modulele front-end au fost extinse și suprascrise pentru a aborda afișarea stării comenzilor specifice magazinului în paginile cu istoricul comenzilor și detaliile comenzii.

Crearea și sincronizarea cotațiilor

Conectorul Mirakl nu implementează scenariile de cotație B2B. Am extins funcționalitatea conectorului pentru a introduce noi funcții pentru crearea, actualizarea și sincronizarea cotațiilor specifice magazinului de la Magento la instanța Mirakl mapată și invers.

Au fost implementate șapte apeluri API, de la Q01 la Q07, pentru a acoperi funcționalitatea completă de cotație a pieței B2B.

Configurații de preț, monedă și localitate

Magento oferă configurații specifice pentru local și monedă pentru magazin. Deoarece aveam mai multe instanțe Mirakl, fiecare avea propriul loc, moneda și prețurile sale specifice.

Clasele de configurare a ajutorului conectorului au fost înlocuite pentru a configura sincronizarea specifică magazinului.

Grila de administrare se modifică

Joburile Cron legate de grila de administrare au fost extinse și personalizate pentru a suporta detaliile de sincronizare specifice magazinului. Funcționează bine pentru magazinul implicit, dar cu magazine suplimentare, această secțiune a trebuit extinsă pentru a afișa actualizările de sincronizare specifice magazinului.

Modulul Frontend

Componentele front-end legate de Breadcrumbs, PLP-uri, PDP-uri, mini coș, coș, checkout, istoricul comenzilor, detaliile comenzii, crearea ofertei și paginile cu detaliile cotației au fost personalizate pentru a gestiona funcționalitatea mai multor magazine.


Învelire
Cheia unei strategii de implementare de succes este de a putea mapa vitrinele Magento la anumite instanțe Mirakl. Am folosit ID-ul magazinului ca o modalitate unică de a identifica datele legate de un anumit magazin. Tot codul de conector legat de sincronizarea datelor între Magento și Mirakl a fost afectat în acest scenariu cu mai multe magazine. Cu excepția fluxului de cotații, nu a trebuit să scriem clase noi, extinderea și personalizarea ne-au ajutat să ne atingem obiectivul. Implementarea noastră a acoperit integrarea a două instanțe Mirakl cu o instanță Magento. Dar același design poate fi extins pentru a integra mai multe instanțe Mirakl. Deși nu am observat probleme de performanță din această cauză, rămâne de explorat dacă performanța este afectată pe măsură ce creștem numărul de vitrine unice, fiecare cu propria instanță Mirakl.

Despre autor

Siddhartha Shankar este arhitect tehnic la McFadyen Digital. El iubește toate lucrurile legate de piață și tehnologie. Călător pasionat și iubitor de muzică, el rămâne cu soția și fiica sa de șase ani în Bengaluru. Sid a făcut parte din câteva proiecte de implementare a pieței de comerț electronic de mare amploare în timpul perioadei sale lungi cu McFadyen Digital.