Come integrare più istanze Mirakl con una singola istanza multi-store di Adobe Commerce
Pubblicato: 2022-03-26Come integrare più istanze Mirakl con una singola istanza multi-store di Adobe Commerce
introduzione
La piattaforma del mercato Mirakl può essere integrata con la piattaforma Adobe (Magento) Commerce per creare un mercato online end-to-end. Mirakl fornisce un connettore Magento per accelerare il processo di integrazione coprendo tutti i flussi di processo standard del mercato. Questo connettore consente di sincronizzare automaticamente i dati tra Mirakl e Magento. Fornisce inoltre un modulo front-end di esempio che mostra come personalizzare le pagine per offrire le funzionalità di Marketplace fornite da Mirakl.
Per impostazione predefinita, il connettore è progettato per integrare una singola istanza Mirakl con una singola istanza Magento. Tuttavia, per un'implementazione in più paesi, può esserci una situazione in cui ogni paese ha la propria istanza Mirakl ma una singola istanza Magento serve tutti i paesi con più vetrine. In questo scenario, il comportamento del connettore predefinito deve essere sovrascritto per integrare ogni istanza Mirakl con la sua specifica istanza del negozio Magento. Lo abbiamo implementato con successo per uno dei nostri clienti sul loro mercato B2B. Le modifiche seguenti vengono apportate per supportare questo scenario. Fare riferimento alla figura 1.1 per maggiori dettagli su come funzionano più istanze Mirakl con una singola istanza multi-store di Adobe Commerce.

Modifiche alla configurazione globale:
È necessario configurare URL e chiave segreta separati a livello di visualizzazione negozio per ciascuna istanza Mirakl. Abbiamo ottenuto questo risultato sovrascrivendo la classe config helper per configurare gli endpoint API a livello di visualizzazione del negozio. La classe Console responsabile della gestione degli script di sincronizzazione è stata sovrascritta per gestire gli script di sincronizzazione specifici della vista negozio in base all'ID negozio passato come parametro.
Sincronizzazione tassonomia:
La sincronizzazione della tassonomia tra Magento e Mirakl si ottiene utilizzando la chiamata API Mirakl H01. Questa API viene invocata per esportare le categorie Magento in Mirakl. Ma con un'implementazione multi-store, dobbiamo assicurarci che ogni vetrina Magento esporti la tassonomia solo alla sua specifica istanza Mirakl. Abbiamo ottenuto questo risultato sovrascrivendo la classe helper del connettore Mirakl interessata per mappare l'istanza Mirakl alla sua vetrina Magento specifica.
Importazione del prodotto:
Analogamente alla sincronizzazione della tassonomia, anche le importazioni di prodotti richiedono la mappatura dall'istanza Mirakl alla vetrina specifica di Magento. Il seguente
I seguenti componenti sono stati sovrascritti per ottenere ciò:
- Classi di comando per importare i prodotti delta nella rispettiva vista negozio in cui l'ID negozio è stato passato come parte dei comandi cli.
- Plugin Interceptor, utilizzati per impostare l'ID negozio durante il processo di importazione del prodotto, abbiamo dovuto impostare la categoria radice.
Offerta di importazione
L'API OF51F viene utilizzata per importare le offerte Mirakl in Magento. Con un'implementazione multi negozio, lo script di sincronizzazione dell'importazione dell'offerta deve essere sovrascritto per importare offerte specifiche del negozio.
Le tabelle OOTB sono state modificate per mappare le offerte con l'ID negozio, i lavori Cron personalizzati sono stati scritti per soddisfare le importazioni di offerte specifiche del negozio in base all'ID negozio che veniva passato come parametro.
Importazione attributi:
Il connettore Mirakl utilizza la chiamata API PM01 per esportare gli attributi del prodotto da Magento a Mirakl. Per l'implementazione multistore abbiamo sovrascritto gli script di sincronizzazione per garantire che gli attributi di un particolare negozio Magento vengano esportati solo nell'istanza Mirakl mappata.
Attributo Elenchi valori Importa:
Il connettore Mirakl utilizza la chiamata API VL01 per esportare l'elenco dei valori degli attributi da Magento a Mirakl. Per l'implementazione multistore, abbiamo sovrascritto gli script di sincronizzazione per garantire che gli elenchi di valori di un particolare negozio Magento vengano esportati solo nell'istanza Mirakl mappata.
Importazione del negozio:
I negozi Mirakl vengono importati in Magento utilizzando l'API S20. Per l'implementazione multistore, abbiamo sovrascritto gli script di sincronizzazione S20 per sincronizzare le informazioni specifiche del negozio da Mirakl alla visualizzazione mappata del negozio.

Informazioni sulla spedizione
Non sono disponibili lavori Cron specifici nel connettore Mirakl per importare e archiviare le informazioni di spedizione nel database Magento. I valori vengono recuperati utilizzando SH01/SH02 in diversi punti del percorso dell'utente in cui dovevano essere visualizzate le spese di spedizione.
I moduli frontend sono stati estesi e personalizzati per recuperare le spese di spedizione in diversi punti come PLP, PDP, carrello, checkout, cronologia degli ordini e pagine dei dettagli dell'ordine. In base alla richiesta specifica del negozio, le spese di spedizione sono state recuperate dall'istanza Mirakl mappata e visualizzate.
Sincronizzazione degli ordini
L'API OR01 viene utilizzata per la creazione dell'ordine e l'API OR11 per la sincronizzazione dello stato dell'ordine tra Mirakl e Magento.
Le pagine seguenti sono state estese e personalizzate per soddisfare l'implementazione specifica del negozio.
- Pagina di conferma dell'ordine
- Pagina della cronologia degli ordini
- Pagina dei dettagli dell'ordine
Il flusso di posizionamento degli ordini è stato modificato per esportare l'ordine specifico del negozio nell'istanza Mirakl mappata. Il connettore Mirakl e le classi principali Magento sono stati personalizzati per coprire la creazione degli ordini nelle rispettive istanze Mirakl. I moduli frontend sono stati estesi e sostituiti per indirizzare la visualizzazione dello stato dell'ordine specifico del negozio nella cronologia degli ordini e nelle pagine dei dettagli dell'ordine.
Creazione e sincronizzazione preventivo
Il connettore Mirakl non implementa gli scenari di quotazione B2B. Abbiamo esteso la funzionalità del connettore per introdurre nuove funzionalità per la creazione, l'aggiornamento e la sincronizzazione di preventivi specifici del negozio da Magento all'istanza Mirakl mappata e viceversa.
Sono state implementate sette chiamate API, dal Q01 al Q07, per coprire la funzionalità di preventivo completa del mercato B2B.
Configurazioni di prezzo, valuta e locale
Magento fornisce impostazioni locali e valuta specifiche del negozio. Dal momento che avevamo più istanze Mirakl, ognuna aveva le proprie impostazioni locali, valuta e prezzi specifici.
Le classi di configurazione dell'helper del connettore sono state sovrascritte per configurare la sincronizzazione specifica del negozio.
Modifiche alla griglia di amministrazione
I lavori Cron relativi alla griglia di amministrazione sono stati estesi e personalizzati per supportare dettagli di sincronizzazione specifici del negozio. Funziona bene per l'archivio predefinito, ma con gli archivi aggiuntivi è stato necessario estendere questa sezione per visualizzare gli aggiornamenti di sincronizzazione specifici dell'archivio.
Modulo front-end
I componenti front-end relativi a breadcrumb, PLP, PDP, mini carrello, carrello, checkout, cronologia degli ordini, dettagli dell'ordine, creazione di preventivi e pagine dei dettagli dei preventivi sono stati personalizzati per gestire la funzionalità multi negozio.
Incartare
La chiave per una strategia di implementazione di successo è essere in grado di mappare le vetrine Magento su istanze Mirakl specifiche. Abbiamo utilizzato l'ID negozio come un modo univoco per identificare i dati relativi a un determinato negozio. Tutto il codice del connettore relativo alla sincronizzazione dei dati tra Magento e Mirakl è stato influenzato in questo scenario multi-store. Fatta eccezione per il flusso delle citazioni, non abbiamo dovuto scrivere nuove classi, l'estensione e la personalizzazione ci hanno aiutato a raggiungere il nostro obiettivo. La nostra implementazione riguardava l'integrazione di due istanze Mirakl con un'istanza Magento. Ma lo stesso design può essere esteso per integrare più istanze Mirakl. Sebbene non abbiamo riscontrato alcun problema di prestazioni a causa di ciò, resta da esplorare se le prestazioni subiscono un impatto mentre aumentiamo il numero di vetrine uniche, ognuna con la propria istanza Mirakl.
Circa l'autore
Siddhartha Shankar è un architetto tecnico presso McFadyen Digital. Ama tutto ciò che riguarda il mercato e la tecnologia. Appassionato viaggiatore e amante della musica, soggiorna con la moglie e la figlia di sei anni a Bengaluru. Sid ha preso parte ad alcuni progetti di implementazione di eCommerce/mercato di grandi dimensioni durante il suo lungo periodo con McFadyen Digital.