Headless-Storefront-Integration
Das CommerceAdapter Modul erweitert Adobe Commerce, um die Lücke zwischen einer Headless-Storefront und Adobe Commerce Optimizer zu schließen. Sie bietet eine GraphQL-Abfrage zur Auflösung des Preisbuchkontexts des Kunden und erzwingt die von der Adobe Commerce Optimizer GraphQL-API erwartete Produktcodierung.
Allgemeine Anweisungen zum Einrichten von Storefronts finden Sie unter Konfigurieren von Merchandising- und Storefronts in der Adobe Commerce Optimizer Connector.
GraphQL: Abfrage commerceOptimizer graphql-commerceoptimizer-query
Headless-Storefronts rufen die commerceOptimizer GraphQL-Abfrage auf, um die priceBookId für die aktuelle Kundensitzung abzurufen. Übergeben Sie diesen Wert beim Abrufen der Preise 🔗 die Adobe Commerce Optimizer GraphQL-API.
{
commerceOptimizer {
priceBookId
}
}
Beispielantwort:
{
"data": {
"commerceOptimizer": {
"priceBookId": "base::a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
}
}
}
Wie priceBookId behoben wird:
priceBookIdwebsiteCode::sha1(0), wobei 0 die ID der Gastkundengruppe istwebsiteCode::sha1(customerGroupId)Der Header der Store-Anfrage bestimmt den Umfang der Website und damit die websiteCode. Die sha1(customerGroupId) entspricht der Preisbuch-ID-Formel, die bei der Datensynchronisation verwendet wird. Siehe Preisbücher.
Bundle-Produkte: Format „In den Warenkorb legen“ bundle-products-add-to-cart-format
Erlauben Sie Käufern, aus einer Headless-Storefront Bundle-Produkte zum Warenkorb hinzuzufügen, wobei nur die SKU und qty für jede ausgewählte Bundle-Option verfügbar sind.
Jeder ausgewählte oder eingegebene Optionswert muss im folgenden Format base64-kodiert sein:
base64("bundle_item/" + JSON.stringify({"sku": "<child_sku>", "qty": "<qty>"}))
Dieselbe untergeordnete SKU wird in allen Optionen möglicherweise nur einmal angezeigt.
Beispiel (JavaScript)
const encodedOption = btoa(
'bundle_item/' + JSON.stringify({ sku: 'child-product-sku', qty: '1' })
);