Cómo integrar varias instancias de Mirakl con una sola instancia de varias tiendas de Adobe Commerce
Publicado: 2022-03-26Cómo integrar varias instancias de Mirakl con una sola instancia de varias tiendas de Adobe Commerce
Introducción
La plataforma de mercado de Mirakl se puede integrar con la plataforma de Adobe (Magento) Commerce para crear un mercado en línea de extremo a extremo. Mirakl proporciona un conector Magento para acelerar el proceso de integración que cubre todos los flujos de proceso estándar del mercado. Este conector le permite sincronizar datos automáticamente entre Mirakl y Magento. También proporciona un módulo de interfaz de usuario de ejemplo que demuestra cómo puede personalizar las páginas para ofrecer funciones de Marketplace impulsadas por Mirakl.
De forma predeterminada, el conector está diseñado para integrar una sola instancia de Mirakl con una sola instancia de Magento. Sin embargo, para una implementación en varios países, puede haber una situación en la que cada país tenga su propia instancia de Mirakl, pero una única instancia de Magento sirve a todos los países con múltiples escaparates. En este escenario, el comportamiento del conector predeterminado debe anularse para integrar cada instancia de Mirakl con su instancia específica de la tienda Magento. Hemos implementado esto con éxito para uno de nuestros clientes en su mercado B2B. Los siguientes cambios se realizan para admitir este escenario. Consulte la figura 1.1 para obtener más detalles sobre cómo funcionan varias instancias de Mirakl con una sola instancia de varias tiendas de Adobe Commerce.

Cambios de configuración globales:
La URL y la clave secreta separadas deben configurarse en un nivel de vista de tienda para cada instancia de Mirakl. Logramos esto anulando la clase auxiliar de configuración para configurar los puntos finales de la API en el nivel de vista de la tienda. La clase de consola responsable de manejar los scripts de sincronización se anuló para manejar los scripts de sincronización específicos de la vista de la tienda en función de la identificación de la tienda que se pasa como parámetro.
Sincronización de taxonomía:
La sincronización de taxonomía entre Magento y Mirakl se logra mediante la llamada a la API de Mirakl H01. Esta API se invoca para exportar categorías de Magento a Mirakl. Pero con una implementación de varias tiendas, debemos asegurarnos de que cada escaparate de Magento exporte la taxonomía solo a su instancia específica de Mirakl. Logramos esto anulando la clase auxiliar del conector de Mirakl en cuestión para asignar la instancia de Mirakl a su escaparate específico de Magento.
Importación de productos:
De manera similar a la sincronización de taxonomía, las importaciones de productos también requieren el mapeo de la instancia de Mirakl al escaparate específico en Magento. El seguimiento
Los siguientes componentes fueron anulados para lograr esto:
- Clases de comando para importar los productos delta en la vista de la tienda respectiva donde la identificación de la tienda se ha pasado como parte de los comandos cli.
- Complementos de interceptor, utilizados para configurar la identificación de la tienda durante el proceso de importación del producto, tuvimos que configurar la categoría raíz.
Importación de oferta
La API OF51F se utiliza para importar ofertas de Mirakl a Magento. Con una implementación de varias tiendas, el script de sincronización de importación de ofertas debe anularse para importar ofertas específicas de la tienda.
Las tablas OOTB se modificaron para mapear ofertas con ID de tienda, se escribieron trabajos Cron personalizados para atender importaciones de ofertas específicas de la tienda en función de la ID de la tienda que se pasaba como parámetro.
Importación de atributos:
El conector de Mirakl utiliza la llamada API PM01 para exportar atributos de productos de Magento a Mirakl. Para la implementación de varias tiendas, hemos anulado los scripts de sincronización para garantizar que los atributos de una tienda Magento en particular se exporten solo a la instancia de Mirakl asignada.
Importación de listas de valores de atributos:
El conector Mirakl utiliza la llamada API VL01 para exportar la lista de valores de atributos de Magento a Mirakl. Para la implementación de varias tiendas, hemos anulado los scripts de sincronización para garantizar que las listas de valores de una tienda Magento en particular se exporten solo a la instancia de Mirakl asignada.

Importación de la tienda:
Las tiendas de Mirakl se importan a Magento utilizando la API S20. Para la implementación multitienda, hemos anulado los scripts de sincronización S20 para sincronizar la información de la tienda específica de Mirakl con la vista de la tienda asignada.
Información de envío
No hay trabajos Cron específicos disponibles en el conector de Mirakl para importar y almacenar información de envío en la base de datos de Magento. Los valores se recuperan utilizando SH01/SH02 en diferentes puntos del viaje del usuario donde se mostrarían los gastos de envío.
Los módulos de interfaz se ampliaron y personalizaron para recuperar los cargos de envío en diferentes puntos como PLP, PDP, carrito, pago, historial de pedidos y páginas de detalles del pedido. Según la solicitud específica de la tienda, los cargos de envío se recuperaron de la instancia de Mirakl mapeada y se mostraron.
Sincronización de pedidos
La API OR01 se utiliza para la creación de pedidos y la API OR11 para la sincronización del estado de los pedidos entre Mirakl y Magento.
Las siguientes páginas se ampliaron y personalizaron para atender la implementación específica de la tienda.
- Página de confirmación del pedido
- Página de historial de pedidos
- Página de detalles del pedido
El flujo de colocación de pedidos se ha modificado para exportar el pedido específico de la tienda a la instancia de Mirakl asignada. El conector de Mirakl y las clases principales de Magento se personalizaron para cubrir la creación de pedidos en las respectivas instancias de Mirakl. Los módulos de interfaz se ampliaron y anularon para abordar la visualización del estado de pedidos específicos de la tienda en el historial de pedidos y las páginas de detalles del pedido.
Creación y sincronización de presupuestos
El conector Mirakl no implementa los escenarios de cotización B2B. Ampliamos la funcionalidad del conector para introducir nuevas características para la creación, actualización y sincronización de cotizaciones específicas de la tienda de Magento a la instancia de Mirakl mapeada y viceversa.
Se implementaron siete llamadas API, desde Q01 hasta Q07, para cubrir la funcionalidad completa de cotización del mercado B2B.
Configuraciones de precio, moneda y localidad
Magento proporciona configuraciones locales y de moneda específicas de la tienda. Dado que teníamos varias instancias de Mirakl, cada una tenía su propia ubicación, moneda y precios específicos.
Las clases de configuración del asistente del conector se anularon para configurar la sincronización específica de la tienda.
Cambios en la cuadrícula de administración
Los trabajos Cron relacionados con la cuadrícula de administración se ampliaron y personalizaron para admitir detalles de sincronización específicos de la tienda. Funciona bien para la tienda predeterminada, pero con tiendas adicionales, esta sección tuvo que ampliarse para mostrar las actualizaciones de sincronización específicas de la tienda.
Módulo de interfaz
Los componentes de interfaz relacionados con Breadcrumbs, PLP, PDP, mini carrito, carrito, pago, historial de pedidos, detalles de pedidos, creación de cotizaciones y páginas de detalles de cotizaciones se personalizaron para manejar la funcionalidad de múltiples tiendas.
Envolver
La clave para una estrategia de implementación exitosa es poder mapear escaparates de Magento a instancias específicas de Mirakl. Usamos la identificación de la tienda como una forma única de identificar los datos relacionados con una tienda en particular. Todo el código del conector relacionado con la sincronización de datos entre Magento y Mirakl se vio afectado en este escenario de varias tiendas. Excepto por el flujo de cotización, no tuvimos que escribir ninguna clase nueva, la ampliación y la personalización nos ayudaron a lograr nuestro objetivo. Nuestra implementación cubrió la integración de dos instancias de Mirakl con una instancia de Magento. Pero el mismo diseño se puede ampliar para integrar más instancias de Mirakl. Si bien no vimos ningún problema de rendimiento debido a esto, queda por explorar si el rendimiento se ve afectado a medida que aumentamos la cantidad de escaparates únicos, cada uno con su propia instancia de Mirakl.
Sobre el Autor
Siddhartha Shankar es arquitecto técnico en McFadyen Digital. Le encanta todo lo relacionado con el mercado y la tecnología. Un ávido viajero y amante de la música, se queda con su esposa y su hija de seis años en Bangalore. Sid ha sido parte de algunos proyectos importantes de implementación de mercado/comercio electrónico durante su largo período en McFadyen Digital.