Instale o Adobe Commerce B2B extensão

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

Requisitos

  • Adobe Commerce, todas as versões compatíveis
  • PHP 8.1 / 8.2 / 8.3
  • Composer

Plataformas compatíveis

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

Etapas de instalação

recommendation-more-help

Pré-requisitos

Instalar 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, a variável Magento_B2b o nome da extensão é inserido automaticamente no app/etc/config.php arquivo. 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 à require seção do composer.json arquivo.

    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 implantar log. Se encontrar erros de implantação, consulte Recuperação 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-terminal
    Magento_B2b : Module is enabled
    
No local
  1. No diretório raiz do aplicativo do 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-terminal
    [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 o chaves de autenticação.

    Seu chave pública é seu nome de usuário; seu chave privada é sua senha. Se você armazenou suas chaves públicas e privadas no auth.json, você não receberá uma solicitação para 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. Obrigatório quando a variável Shared Catalogs está habilitada nas configurações do Admin System.
sharedCatalogUpdateCategoryPermissions
Atualiza categorias atribuídas a uma categoria de catálogo compartilhado. Obrigatório quando a variável Shared Catalogs está habilitada nas configurações do Admin System.
negotiableQuotePriceUpdate
Atualiza preços para cotações negociáveis. Obrigatório quando a variável Quotes está habilitada nas configurações do Admin System.
purchaseorder.toorder
Converte ordem de compra em ordem. Obrigatório quando a variável Purchase Orders está habilitada nas configurações do Admin System.
purchaseorder.transactional.email
Envie emails de ordem de compra. Obrigatório quando a variável Purchase Orders está habilitada nas configurações do Admin System.
purchaseorder.validation
Valida a ordem de compra em relação aos itens relevantes regras de aprovação. Obrigatório quando a variável Purchase Orders está habilitada nas configurações do Admin System.
quoteItemCleaner
Exclui cotações de preço inválidas ou inativas quando um produto é excluído do catálogo ou removido do carrinho. Obrigatório quando a variável Quotes está habilitada nas configurações do Admin System.
inventoryQtyCounter
Corrige de forma assíncrona o índice de estoque depois que um pedido é feito ou um produto é removido. Obrigatório quando a variável Use deferred stock update está ativada para o Inventory management nas configurações de Admin. Consulte Práticas recomendadas de desempenho.
async.operations.all
Cria mensagens para cada tarefa individual de um operação em massa como importar ou exportar itens, alterar preços em uma escala em massa e atribuir produtos a um depósito. Obrigatório quando a variável Operações em massa do administrador opção para Inventory Management está definida como Executar de forma assíncrona nas configurações do Admin System.
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 mensagem 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 especificadas, 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 em 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 mensagem disponíveis, incluindo todos Consumidores de mensagem 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

É possível automatizar a programação de execução para a SharedCatalogUpdateCategoryPermissions e SharedCatalogUpdatePrice consumidores de mensagem 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 configurar agendas para consumidores de mensagens no Configurações da loja em Admin.

Habilitar recursos B2B no Administrador

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

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