Instalar a extensão Adobe Commerce B2B

A extensão B2B do Adobe Commerce magento/extension-b2b está disponível para todas as versões do Adobe Commerce com suporte. Ele é instalado após a instalação do Adobe Commerce.

Requisitos

  • Adobe Commerce, todas as versões com suporte
  • PHP 8.1 e 8.2
  • Composer
IMPORTANT
O Adobe Commerce B2B versão 1.4.2+ não é compatível com o PHP 8.3. Se você atualizar a instância do Commerce para o Commerce versão 2.4.7+, certifique-se de que a versão do PHP instalada na instância é o PHP 8.2 para manter a compatibilidade com B2B 1.4.2+.

Plataformas compatíveis

  • Adobe Commerce na infraestrutura em nuvem (ECE)
  • Adobe Commerce no local (EE)

Etapas de instalação

recommendation-more-help

Pré-requisitos

Instale a extensão B2B (magento/b2b-extension) usando o Composer. A extensão é um metapackage de compositor que inclui a coleção de módulos que habilitam os recursos B2B para uma instância do Adobe Commerce. Para obter uma lista de módulos incluídos, consulte Pacotes B2B.

Infraestrutura em nuvem
note tip
TIP
Ao instalar o Adobe Commerce B2B na infraestrutura em nuvem, a Adobe recomenda que você implante seu aplicativo do Adobe Commerce em uma integração ou ambiente de preparo antes de começar.

A Adobe recomenda trabalhar em uma ramificação de desenvolvimento ao adicionar a extensão B2B ao seu projeto. Se você não tiver uma ramificação, consulte Criar uma ramificação para desenvolvimento. Ao instalar a extensão B2B, o nome da extensão Magento_B2b é inserido automaticamente no arquivo app/etc/config.php. Não há necessidade de editar o arquivo diretamente.

Para instalar a extensão B2B:

  1. Na estação de trabalho local, altere para o diretório do projeto.

  2. Criar ou dar baixa em uma ramificação de desenvolvimento.

  3. Adicione a extensão B2B à seção require do arquivo composer.json.

    code language-bash
    composer require magento/extension-b2b --no-update
    
  4. Atualize as dependências do projeto.

    code language-bash
    composer update
    
  5. Adicionar, confirmar e enviar alterações de código.

    code language-bash
    git add -A
    
    code language-bash
    git commit -m "Install the B2B extension."
    
    code language-bash
    git push origin <branch-name>
    
    note note
    NOTE
    Enviar atualizações para o ambiente de nuvem inicia o processo de implantação da nuvem do Commerce para aplicar as alterações. Verifique o status da implantação no log de implantação. Se você encontrar erros de implantação, consulte Recuperar de falha de componente.
  6. Após a conclusão da build e implantação, use o SSH para fazer logon no ambiente remoto e verificar se a extensão B2B está instalada e ativada.

    code language-bash
    bin/magento module:status Magento_B2b
    

    Um nome de extensão usa o formato: <VendorName>_<ComponentName>.

    Exemplo de resposta:

    code language-none
    Magento_B2b : Module is enabled
    
No local
  1. No diretório raiz do aplicativo Adobe Commerce, atualize o composer.json para adicionar as dependências da extensão B2B:

    code language-bash
    composer require magento/extension-b2b:<version>
    

    Se ocorrer um erro, por exemplo:

    code language-none
    [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
    

    Verifique a ortografia do pacote, a restrição de versão e se o pacote está disponível e corresponde ao requisito de estabilidade mínima (estável).

  2. Se solicitado, insira suas chaves de autenticação.

    Sua chave pública é seu nome de usuário; sua chave privada é sua senha. Se você tiver armazenado suas chaves públicas e privadas no auth.json, não será solicitado a autenticar.

  3. Execute os seguintes comandos depois que o Composer terminar de atualizar os módulos:

    code language-bash
    bin/magento setup:upgrade
    
    code language-bash
    bin/magento setup:di:compile
    
    code language-bash
    bin/magento setup:static-content:deploy -f
    
    code language-bash
    bin/magento cache:clean
    
    note note
    NOTE
    No modo de Produção, você pode receber uma mensagem para Please rerun Magento compile command. Digite os comandos para concluir a instalação. A Adobe Commerce não solicita que você execute o comando compilar no modo de Desenvolvedor.

Após concluir a instalação, configure e inicie os consumidores de mensagens.

Consumidores de mensagens

A extensão B2B do Adobe Commerce usa MySQL para gerenciamento de fila de mensagens. A tabela a seguir lista os consumidores de mensagem que oferecem suporte aos recursos B2B. Depois de instalar a extensão, inicie os consumidores de mensagem para os recursos B2B necessários para sua loja da Commerce.

Consumidor
Descrição
sharedCatalogUpdatePrice
Atualiza o preço de cada produto em um catálogo compartilhado. Necessário quando a opção Shared Catalogs está habilitada nas configurações do Sistema de Administração.
sharedCatalogUpdateCategoryPermissions
Atualiza categorias atribuídas a uma categoria de catálogo compartilhado. Necessário quando a opção Shared Catalogs está habilitada nas configurações do Sistema de Administração.
negotiableQuotePriceUpdate
Atualiza preços para cotações negociáveis. Necessário quando a opção Quotes está habilitada nas configurações do Sistema de Administração.
purchaseorder.toorder
Converte ordem de compra em ordem. Necessário quando a opção Purchase Orders está habilitada nas configurações do Sistema de Administração.
purchaseorder.transactional.email
Envie emails de ordem de compra. Necessário quando a opção Purchase Orders está habilitada nas configurações do Sistema de Administração.
purchaseorder.validation
Valida a ordem de compra em relação às regras de aprovação relevantes. Necessário quando a opção Purchase Orders está habilitada nas configurações do Sistema de Administração.
quoteItemCleaner
Exclui cotações de preço inválidas ou inativas quando um produto é excluído do catálogo ou removido do carrinho. Necessário quando a opção Quotes está habilitada nas configurações do Sistema de Administração.
inventoryQtyCounter
Corrige de forma assíncrona o índice de estoque depois que um pedido é feito ou um produto é removido. Necessário quando a opção Use deferred stock update está habilitada para o Inventory management nas definições de configuração de Administração. Consulte Práticas recomendadas de desempenho.
async.operations.all
Cria mensagens para cada tarefa individual de uma operação em massa, como importar ou exportar itens, alterar preços em uma escala em massa e atribuir produtos a um depósito. Necessário quando a opção Operações em massa do administrador para Inventory Management está definida como Executar de forma assíncrona nas definições de configuração do Sistema de Administração.
NOTE
Para obter uma lista de todos os consumidores de mensagens do Adobe Commerce, consulte Consumidores da fila de mensagens no Guia de Configuração.

Configurar consumidores de mensagem

Evite possíveis problemas de processamento ou atrasos adicionando os seguintes parâmetros quando você iniciar os consumidores de mensagens para recursos B2B.

  • --max-messages <value>— Especifica o número máximo de mensagens que cada consumidor deve processar antes de terminar (padrão = 10000). Embora o Adobe não o recomende, você pode usar 0 para impedir que o consumidor termine. A prática recomendada para um aplicativo PHP é reiniciar processos de longa execução para evitar possíveis vazamentos de memória.

  • --batch-size <value>— Permite limitar os recursos do sistema consumidos pelos consumidores (CPU, memória). Usar lotes menores reduz o uso de recursos e, portanto, resulta em um processamento mais lento. Se especificado, as mensagens em uma fila serão consumidas em lotes de <value> cada. Essa opção é aplicável somente para o consumidor do lote. Se --batch-size não estiver definido, o consumidor do lote receberá todas as mensagens disponíveis em uma fila.

Para obter informações sobre opções de configuração adicionais, consulte Configuração-específica.

Iniciar consumidores de mensagem

Para habilitar operações assíncronas para recursos B2B, você deve iniciar vários consumidores de mensagem.

  1. Listar os consumidores de mensagem disponíveis:

    code language-bash
    bin/magento queue:consumers:list
    

    O comando retorna os consumidores de mensagens disponíveis, incluindo todos os consumidores de mensagens B2B.

  2. Inicie cada consumidor separadamente:

    code language-bash
    bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
    

    Por exemplo:

    code language-bash
    bin/magento queue:consumers:start quoteItemCleaner
    
TIP
Para executá-lo em segundo plano, anexe & ao comando, retorne a um prompt e continue executando os comandos. Por exemplo: bin/magento queue:consumers:start sharedCatalogUpdatePrice &.

Para obter mais informações, consulte Gerenciar filas de mensagens no Guia de Configuração.

Adicionar consumidores de mensagem ao cron

Você pode automatizar o agendamento de execução para os consumidores de mensagens SharedCatalogUpdateCategoryPermissions e SharedCatalogUpdatePrice adicionando o agendamento ao arquivo de configuração cron /app/code/Magento/MessageQueue/etc/crontab.xml.

* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &

Você também pode definir agendas para consumidores de mensagens nas Configurações de armazenamento em Admin.

Habilitar recursos B2B no Administrador

Depois de instalar a extensão B2B do Adobe Commerce e iniciar os consumidores de mensagens, você também deve habilitar os recursos B2B no Administrador.

88ad8589-1cb8-47eb-a79c-0e4726a4ac2a