[Solo PaaS]{class="badge informative" title="Applicabile solo ai progetti Adobe Commerce on Cloud (infrastruttura PaaS gestita da Adobe) e ai progetti on-premise."}

Integrazione con la vetrina headless

Il modulo CommerceAdapter estende Adobe Commerce per colmare il gap tra una vetrina headless e Adobe Commerce Optimizer. Fornisce una query GraphQL per la risoluzione del contesto del listino prezzi cliente e applica la codifica del prodotto bundle prevista dall’API GraphQL Adobe Commerce Optimizer.

Per le istruzioni di configurazione della vetrina di alto livello, vedere Configurare merchandising e vetrine nella panoramica di Adobe Commerce Optimizer Connector.

GraphQL: query commerceOptimizer graphql-commerceoptimizer-query

Gli storefront headless chiamano la query GraphQL commerceOptimizer per recuperare priceBookId per la sessione cliente corrente. Trasferisci questo valore all’Adobe Commerce Optimizer API GraphQL durante il recupero dei prezzi.

{
  commerceOptimizer {
    priceBookId
  }
}

Esempio di risposta:

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

Risoluzione di priceBookId:

Stato sessione
priceBookId
Guest (non connesso)
websiteCode::sha1(0), dove 0 è l’ID gruppo clienti guest
Cliente connesso
websiteCode::sha1(customerGroupId)

L’intestazione della richiesta Store determina l’ambito del sito Web e quindi il componente websiteCode. Il componente sha1(customerGroupId) corrisponde alla formula ID listino prezzi utilizzata durante la sincronizzazione dei dati. Consulta Listino prezzi.

Prodotti bundle: formato add-to-cart bundle-products-add-to-cart-format

Consenti agli acquirenti di aggiungere prodotti bundle al carrello da una vetrina headless con solo SKU e qty per ogni opzione bundle selezionata.

Ogni valore di opzione selezionato o immesso deve essere codificato in base64 nel formato seguente:

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

Lo stesso SKU figlio può essere visualizzato una sola volta in tutte le opzioni.

Esempio (JavaScript):

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