[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.

NOTE
Se per la visualizzazione del catalogo di destinazione è abilitato Catalog Protection, includi un'intestazione AC-Catalog-View-Access-Token firmata insieme a AC-View-ID e AC-Price-Book-ID nelle richieste API di merchandising oppure la richiesta viene negata. Vedi Visualizzazioni catalogo privato.

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