[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Intégration de storefront découplé

Le module CommerceAdapter s’étend Adobe Commerce pour combler l’écart entre un storefront découplé et un Adobe Commerce Optimizer. Il fournit une requête GraphQL pour résoudre le contexte du catalogue des prix client et applique l’encodage du bundle de produits attendu par l’API Adobe Commerce Optimizer GraphQL.

Pour obtenir des instructions générales sur la configuration des storefronts, consultez Configuration du marchandisage et des storefronts dans la présentation du Adobe Commerce Optimizer Connector.

GraphQL : requête commerceOptimizer graphql-commerceoptimizer-query

Les storefronts découplés appellent la requête commerceOptimizer GraphQL pour récupérer les priceBookId de la session client actuelle. Transmettez cette valeur à l’API Adobe Commerce Optimizer ​ lors de la récupération des prix.

{
  commerceOptimizer {
    priceBookId
  }
}

Exemple de réponse :

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

Comment résoudre priceBookId problème :

État de la session
priceBookId
Invité (non connecté)
websiteCode::sha1(0), où 0 est l’ID du groupe client invité
Client connecté
websiteCode::sha1(customerGroupId)

L’en-tête de requête Store détermine la portée du site web et, par conséquent, le composant websiteCode. Le composant sha1(customerGroupId) correspond à la formule d’identifiant de catalogue des prix utilisée lors de la synchronisation des données. Voir Prix des livres.

Produits groupés : format d’ajout au panier bundle-products-add-to-cart-format

Autorisez les acheteurs à ajouter des produits groupés au panier à partir d’une vitrine découplée avec uniquement les SKU et qty pour chaque option de bundle sélectionnée.

Chaque valeur d’option sélectionnée ou saisie doit être codée en base64 au format suivant :

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

Le même SKU enfant peut apparaître une seule fois pour toutes les options.

Exemple (JavaScript) :

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