[Solo PaaS]{class="badge informative" title="Se aplica solo a proyectos de Adobe Commerce en la nube (infraestructura PaaS administrada por Adobe) y a proyectos locales."}

Integración de tienda sin encabezado

El módulo CommerceAdapter amplía Adobe Commerce para reducir el espacio entre una tienda sin encabezado y Adobe Commerce Optimizer. Proporciona una consulta de GraphQL para resolver el contexto del libro de precios del cliente y aplica la codificación de producto del paquete esperada por la API de GraphQL Adobe Commerce Optimizer.

Para obtener instrucciones de configuración de tienda de alto nivel, consulta Configurar tiendas y comercialización en la descripción general de Adobe Commerce Optimizer Connector.

GraphQL: commerceOptimizer consulta graphql-commerceoptimizer-query

Las tiendas sin encabezado llaman a la consulta de GraphQL commerceOptimizer para recuperar priceBookId para la sesión de cliente actual. Pase este valor a la Adobe Commerce Optimizer API de GraphQL al obtener los precios.

{
  commerceOptimizer {
    priceBookId
  }
}

Respuesta de ejemplo:

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

Cómo se resuelve priceBookId:

Estado de sesión
priceBookId
Invitado (sin sesión iniciada)
websiteCode::sha1(0), donde 0 es el identificador del grupo de clientes invitados
Cliente conectado
websiteCode::sha1(customerGroupId)

El encabezado de solicitud Store determina el ámbito del sitio web y, por lo tanto, el componente websiteCode. El componente sha1(customerGroupId) coincide con la fórmula de ID de libro de precios utilizada durante la sincronización de datos. Ver Libros de precios.

Productos agrupados: formato de complemento al carro de compras bundle-products-add-to-cart-format

Permitir que los compradores agreguen productos agrupados al carro de compras desde una tienda sin encabezado con solo SKU y qty para cada opción de paquete seleccionada.

Cada valor de opción seleccionado o introducido debe estar codificado en Base64 en el siguiente formato:

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

El mismo SKU secundario puede aparecer solo una vez en todas las opciones.

Ejemplo (JavaScript):

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