Introdução
A Mirakl marketplace a plataforma pode ser integrada com a plataforma Adobe (Magento) Commerce para criar um comércio eletrônico de ponta a ponta marketplace. Mirakl fornece um conector Magento para acelerar o processo de integração cobrindo todos os padrões marketplace fluxos de processo. Este conector permite que você sincronize automaticamente os dados entre Mirakl e Magento. Ele também fornece um módulo front-end de exemplo demonstrando como você pode personalizar páginas para oferecer Marketplace recursos fornecidos por Mirakl.
Por padrão, o conector é projetado para integrar um único Mirakl instância com uma única instância Magento. No entanto, para uma implementação em vários países, pode haver uma situação em que cada país tenha seu próprio Mirakl instância, mas uma única instância do Magento atende a todos os países com várias vitrines. Neste cenário, o comportamento do conector padrão precisa ser substituído para integrar cada Mirakl instância com sua instância específica da loja Magento. Implementamos isso com sucesso para um de nossos clientes em seu B2B marketplace. As seguintes alterações são feitas para dar suporte a este cenário. Consulte a figura 1.1 para obter mais detalhes sobre como vários Mirakl instâncias funcionam com um único Adobe Commerce instância de várias lojas.
Alterações na configuração global:
URL e chave secreta separadas devem ser configuradas em um nível de visualização de loja para cada Mirakl instância. Conseguimos isso substituindo a classe auxiliar de configuração para configurar os pontos finais da API no nível de visualização da loja. A classe Console responsável por manipular scripts de sincronização foi substituída para manipular scripts de sincronização específicos da visualização da loja com base no ID da loja sendo passado como parâmetro.
TaxSincronização de onomia:
Taxsincronização de onomia entre Magento para Mirakl é alcançado usando o Mirakl Chamada de API H01. Esta API é invocada para exportar categorias Magento para Mirakl. Mas com uma implementação de várias lojas, temos que garantir que cada loja Magento exporte a taxonomia para seu específico Mirakl apenas instância. Conseguimos isso substituindo o interessado Mirakl classe auxiliar de conector para mapear o Mirakl instância para sua loja Magento específica.
Importação de produto:
Semelhante à sincronização de taxonomia, as importações de produtos também exigem mapeamento do Mirakl instância para a vitrine específica no Magento. O seguinte
Os seguintes componentes foram substituídos para atingir isso:
- Classes de comando para importar os produtos delta para a respectiva visualização da loja, onde o ID da loja foi passado como parte dos comandos CLI.
- Plugins interceptadores, usados para definir o ID da loja durante o processo de importação de produtos, tivemos que definir a categoria raiz.
Oferta Importação
A API OF51F é usada para importar Mirakl ofertas para o Magento. Com uma implementação de várias lojas, o script de sincronização de importação de ofertas precisa ser substituído para importar ofertas específicas da loja.
As tabelas OOTB foram modificadas para mapear ofertas com o ID da loja. Os Cron Jobs personalizados foram escritos para atender às importações de ofertas específicas da loja com base no ID da loja que estava sendo passado como parâmetro.
Importação de Atributos:
Mirakl O conector usa a chamada da API PM01 para exportar atributos do produto do Magento para Mirakl. Para a implementação multistore, substituímos os scripts de sincronização para garantir que os atributos de uma loja Magento específica sejam exportados para o mapeado Mirakl somente instância.
Listas de valores de atributos Importação:
Mirakl O conector usa a chamada da API VL01 para exportar a lista de valores de atributos do Magento para Mirakl. Para a implementação multistore, substituímos os scripts de sincronização para garantir que as listas de valores de uma loja Magento específica sejam exportadas para o mapeado Mirakl somente instância.
Importação da loja:
Mirakl as lojas são importadas para o Magento usando a API S20. Para a implementação multistore, substituímos os scripts de sincronização S20 para sincronizar informações específicas da loja de Mirakl para a visualização da loja mapeada.
Informação de envio
Não há trabalhos Cron específicos disponíveis no Mirakl conector para importar e armazenar informações de envio no banco de dados Magento. Os valores são recuperados usando SH01/SH02 em diferentes pontos da jornada do usuário onde as taxas de envio deveriam ser exibidas.
Os módulos frontend foram estendidos e personalizados para recuperar as taxas de envio em diferentes pontos, como PLP, PDP, carrinho, checkout, histórico de pedidos e páginas de detalhes do pedido. Com base na solicitação específica da loja, as taxas de envio foram recuperadas do mapeado Mirakl instância e exibida.
Sincronização de pedidos
A API OR01 é usada para criação de pedidos e a API OR11 para sincronização de status de pedidos entre Mirakl e Magento.
As páginas a seguir foram ampliadas e personalizadas para atender à implementação específica da loja.
- Página de confirmação do pedido
- Página de histórico de pedidos
- Página de detalhes do pedido
O fluxo de colocação de pedidos foi modificado para exportar o pedido específico da loja para o mapeado Mirakl instância. Mirakl O conector e as classes principais do Magento foram personalizados para cobrir a criação de pedidos em seus respectivos Mirakl instâncias. Os módulos frontend foram estendidos e substituídos para abordar a exibição de status de pedido específico da loja nas páginas de histórico de pedidos e detalhes do pedido.
Criação e sincronização de cotações
Mirakl O conector não implementa os cenários de cotação B2B. Nós estendemos a funcionalidade do conector para introduzir novos recursos para criação, atualização e sincronização de cotações específicas da loja do Magento para mapeado Mirakl instância e vice-versa.
Sete chamadas de API foram implementadas, do Q01 ao Q07, para cobrir a funcionalidade completa de cotação do B2B marketplace.
Configurações de preço, moeda e localidade
O Magento fornece configurações de moeda e localidade específicas da loja. Como tínhamos vários Mirakl Em alguns casos, cada um tinha seu próprio local, moeda e preços específicos.
As classes de configuração do auxiliar do conector foram substituídas para configurar a sincronização específica da loja.
Alterações na grade de administração
Os trabalhos Cron relacionados à grade de administração foram estendidos e personalizados para suportar detalhes de sincronização específicos da loja. Funciona bem para a loja padrão, mas com lojas adicionais, esta seção teve que ser estendida para exibir as atualizações de sincronização específicas da loja.
Módulo Frontend
Os componentes de frontend relacionados a Breadcrumbs, PLPs, PDPs, mini carrinho, carrinho, checkout, histórico de pedidos, detalhes de pedidos, criação de cotações e páginas de detalhes de cotações foram personalizados para lidar com a funcionalidade de várias lojas.
Embrulhar
A chave para uma estratégia de implementação bem-sucedida é ser capaz de mapear as vitrines Magento para Mirakl instâncias. Usamos o ID da loja como uma maneira única de identificar os dados relacionados a uma loja específica. Todo código do conector relacionado à sincronização de dados entre Magento e Mirakl fomos impactados neste cenário de várias lojas. Exceto pelo fluxo de cotação, não tivemos que escrever nenhuma classe nova, estender e personalizar nos ajudou a atingir nossa meta. Nossa implementação cobriu a integração de dois Mirakl instância com uma instância Magento. Mas o mesmo design pode ser estendido para integrar mais Mirakl instâncias. Embora não tenhamos visto nenhum problema de desempenho devido a isso, ainda precisa ser explorado se o desempenho será afetado à medida que aumentamos o número de vitrines exclusivas, cada uma com seu próprio Mirakl instância.
Sobre o autor
Siddhartha Shankar é um arquiteto técnico na McFadyen Digital. Ele ama todas as coisas marketplace e tecnologia. Viajante ávido e amante da música, ele mora com a esposa e a filha de seis anos em Bengaluru. Sid fez parte de alguns grandes eCommerce/ marketplace projetos de implementação durante sua longa passagem pela McFadyen Digital.