[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

Integração com a loja headless

O módulo CommerceAdapter estende Adobe Commerce para preencher a lacuna entre uma loja headless e Adobe Commerce Optimizer. Ela fornece uma consulta GraphQL para resolver o contexto do catálogo de preços do cliente e impõe a codificação do produto do pacote esperada pela API do GraphQL Adobe Commerce Optimizer.

Para obter instruções de configuração de vitrine de alto nível, consulte Configurar merchandising e vitrines na visão geral do Adobe Commerce Optimizer Connector.

GraphQL: consulta commerceOptimizer graphql-commerceoptimizer-query

As vitrines headless chamam a consulta do GraphQL commerceOptimizer para recuperar o priceBookId da sessão de cliente atual. Transmita este valor para a Adobe Commerce Optimizer API do GraphQL ao buscar preços.

{
  commerceOptimizer {
    priceBookId
  }
}

Exemplo de resposta:

{
  "data": {
    "commerceOptimizer": {
      "priceBookId": "base::a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
    }
  }
}

Como priceBookId é resolvido:

Estado da sessão
priceBookId
Convidado (sem logon)
websiteCode::sha1(0), onde 0 é a ID do grupo de clientes convidados
Cliente conectado
websiteCode::sha1(customerGroupId)

O cabeçalho de solicitação Store determina o escopo do site e, portanto, o componente websiteCode. O componente sha1(customerGroupId) corresponde à fórmula de ID do catálogo de preços usada durante a sincronização de dados. Consulte Price books.

Produtos do pacote: formato de adição ao carrinho bundle-products-add-to-cart-format

Permitir que os compradores adicionem produtos de pacote ao carrinho de uma loja headless com apenas a SKU e qty para cada opção de pacote selecionada.

Cada valor de opção selecionado ou inserido deve ser codificado na base64 no seguinte formato:

base64("bundle_item/" + JSON.stringify({"sku": "<child_sku>", "qty": "<qty>"}))

O mesmo SKU filho pode aparecer apenas uma vez em todas as opções.

Exemplo (JavaScript):

const encodedOption = btoa(
  'bundle_item/' + JSON.stringify({ sku: 'child-product-sku', qty: '1' })
);
recommendation-more-help
commerce-help-aco-connector