ストアフロントとカタログ管理者のエンドツーエンドのユースケース
このユースケースは、複雑な経営体制を持つCarvelo Automobileと呼ばれる架空の自動車コングロマリットに基づいています。 Adobe Commerce Optimizerを使用して、カスタマイズされたストアフロント体験を提供しながら、複数のブランド、ディーラー、価格表をサポートするカタログを管理する方法を示します。
前提条件
このユースケースは、Adobe Commerce Optimizerを使用してストアフロントを設定し、カタログを管理する方法を学びたい管理者と開発者のために設計されています。 Adobe Commerce Optimizerとその機能に関する基本的な理解があることが前提です。
完了までの推定時間: 45 ~ 60分
必要な設定
このチュートリアルを開始する前に、次の前提条件を満たしていることを確認してください。
-
Adobe Commerce Optimizerインスタンス
- Cloud Managerのテストインスタンスへのアクセス
- セットアップ手順については、基本を学ぶを参照してください
-
ユーザー権限
- Adobe Admin Consoleへの管理者アクセス
- アカウント設定については、 ユーザー管理を参照してください
- アクセス権をお持ちでない場合は、Adobeの担当者にお問い合わせください。
-
サンプルデータ
- インスタンスに読み込まれたCarvelo Automobile カタログデータ
- サンプルカタログデータ取り込みリポジトリ の手順に従います
- 含まれている
reset.jsスクリプトを使用して、完了後にサンプルデータを削除できます
-
ストアフロント環境
- Node.jsによるローカル開発環境
- 複製および設定されたストアフロントボイラープレートプロジェクト
- 詳しい手順については、Storefront setupを参照してください
では始めましょう
このユースケースでは、次の操作を行います。
-
Adobe Commerce Optimizer UI - Carvelo ユースケースの複雑なカタログ運用設定を管理するために、カタログ ビューとポリシーを設定します。
-
Commerce Storefront - Adobe Commerce Optimizer インスタンスに読み込まれたサンプルカタログデータと、Commerce Storefront設定ファイル(
fstab.yamlおよびconfig.json)を使用して、ストアフロントをレンダリングします。
重要なポイント
この記事の最後までに、次のことをおこないます。
- パフォーマンスと拡張性に優れたカタログデータモデルでAdobe Commerce Optimizerの基本を学びましょう。
- カタログデータモデルを、Adobeで構築されたプラットフォームに依存しないストアフロントコンポーネントと統合する方法をご確認ください。
- Adobe Commerce Optimizer個のカタログビューとポリシーを使用して、カスタムカタログビューとデータアクセスフィルターを作成し、Edge Deliveryを搭載したAdobe Commerce ストアフロントにデータを送信する方法を説明します。
ビジネスシナリオ - Carvelo Automobile
Carvelo Automobileは、複雑な運用設定を持つ架空の自動車コングロマリットです。
この図では、Carveloが3つのブランドの自動車製品を販売していることがわかります。 各ブランドは異なる子企業です。
- オーロラ(電気自動車)
- ボルト(SUV)
- クルーズ(ハイブリッド)
同社は、次の3つのディーラーを通じて自社を販売しています。
- アークブリッジ
- キングスブラフ
- セルポート
これらのディーラーは、次の2つの異なる親ディーラー会社に属しています。
- West Coast Inc.(アークブリッジ)
- イーストコースト社(Kingsbluff, Celport)
各企業には、異なる買い物客(ベース、VIP)に対して特定の価格で商品を販売するために使用される2つの価格表があります。
west_coast_incとvip_west_coast_inceast_coast_incとvip_east_coast_inc
ご覧のとおり、これは非常に複雑なビジネスのユースケースです。 Adobe Commerce Optimizerを使用すると、1つの基本カタログを使用して複雑なビジネス構造をサポートし、カタログの重複のないデータをシンジケートし、価格表(30,000個以上の価格表)を拡張し、これらのデータをすべてEdge Delivery Services ストアフロントに配信することができます。
ビジネスのユースケースの概要を理解したところで、このチュートリアルを進める際の目的を次に示します。
Carveloは、3つのブランド(Aurora、Bolt、Cruz)の部品を、異なるディーラー(Arkbridge、Kingsbluff、Celport)を通じて販売したいと考えています。 Carveloは、ディーラーがそれぞれのライセンス契約に従って正しい部品と価格のみにアクセスできるようにしたいと考えています。
最終的に、Carveloには2つの大きな目標があります。
- 3つのブランドすべてのすべてのSKUを持つ「グローバル」 web サイトを維持します。
- ディーラーが独自のSKU表示と各ディーラーの各SKUの価格に基づいて、独自のストアフロントを設定するためのパスを提供します。 また、単一のベースカタログを使用することで、カタログの重複を排除できます。
1. Adobe Commerce Optimizer インスタンスへのアクセス
サンプルデータで事前設定されたCommerce Optimizer アプリケーションのURLに移動します。 Commerce Optimizer プロジェクトのインスタンスの詳細からCommerce Cloud ManagerのURLを見つけるか、システム管理者から取得できます。 ( インスタンスへのアクセス を参照)。
Adobe Commerce Optimizerを起動すると、次の表示が表示されます。
左側のナビゲーションで、ストア設定 セクションを展開し、Catalog viewsをクリックします。 ArkbridgeおよびKingsbluff ディーラーには、既にカタログ ビューが作成されていることに注意してください。
情報アイコンをクリックして、カタログビューの詳細を確認します。
Arkbridgeには次のポリシーがあります。
- ブランド
- モデル
- West Coast Inc.のブランド
- Arkbridge パーツ カテゴリ
Kingsbluffには次のポリシーがあります。
- ブランド
- モデル
- East Coast Inc.のブランド
- Kingsbluff パーツ カテゴリ
次のセクションでは、Celport ディーラーのカタログビューとポリシーを作成します。
2. ポリシーとカタログビューの作成
Carveloのコマースマネージャーは、イーストコースト社に属する Celport というディーラーの新しいストアフロントを設定する必要があります。 セルポートは、BoltとCruz ブランドのブレーキとサスペンションを販売する予定です。
Adobe Commerce Optimizerを使用すると、コマースマネージャーは次の操作を行います。
-
Celportの新しいポリシー Celport part categories を作成して、ブレーキとサスペンションの部品のみを販売します。
-
Celport ストアフロント用に新しいカタログビューを作成します。
このカタログ ビューでは、新しく作成したポリシー Celport part categories と既存の East Coast Inc Brands を使用して、CelportがEast Coast Inc.との契約の一環としてBoltおよびCruz ブランドのみを販売できるようにします。Celport カタログ ビューでは、
east_coast_incの価格表を使用して、ブランドのライセンス契約に沿った製品価格スケジュールをサポートしています。 -
作成したCelport カタログビューのデータを使用するように、コマースストアフロント設定を更新します。
このセクションの最後に、セルポートはカルベロの製品を販売する準備ができて稼働します。
ポリシーの作成
Celport part categoriesという名前の新しいポリシーを作成して、Celport ディーラーが販売するSKU (ブレーキとサスペンションの部品を含む)をフィルタリングしてみましょう。
-
左側のパネルで、ストア設定 セクションを展開し、Policiesをクリックします。
-
Create Policyをクリックします。
新しいページが表示され、ポリシーの詳細が追加されます。
-
必要な詳細を追加します。
名前 = セルポート パーツ カテゴリ
-
Add Filterをクリックします。
フィルターの詳細を追加するダイアログが表示されます。
-
フィルターの詳細を追加します。
- 属性 = part_category
- 演算子 = IN
- 値Source = 静的
- 値 = ブレーキ
- 値 = 停止
note important IMPORTANT 各属性値は個別に入力する必要があります。 値を入力した後、Enterを押して、フィルター設定に追加します。 次に、次の値を入力します。 すべての値は、カタログ内のSKU属性名と正確に一致する必要があります。 静的な値ソースとトリガーな値ソースの違いについて詳しくは、値ソースの種類を参照してください。
-
Filter details ダイアログで、Saveをクリックします。
-
作成したフィルターを有効にするには、アクションドット(。…)をクリックします。 「有効にする」を選択します。
-
Saveをクリックします。
note NOTE Save ボタンがアクティブでない(青)場合、ポリシー名が見つからない可能性があります。 新しいポリシーの横にある鉛筆アイコンをクリックして追加します。 -
戻る矢印をクリックして、ポリシーのリストに戻ります。
新しいCelport パーツ カテゴリ ポリシーがリストに表示されます。
この手順が正しく完了したことを確認するには:
- ポリシーがポリシーリストに表示されます
- ポリシーのステータスが「有効」と表示される(緑色のインジケーター)
- フィルターの詳細に「part_category IN (brakes, suspension)」と表示されます。
- ポリシー名は「Celport Part Categories」
カタログビューの作成
Celport ディーラーの新しいカタログ ビューを作成し、次のポリシーをリンクします:East Coast IncのブランドとCelport パーツ カテゴリ。
-
左側のパネルで、ストア設定 セクションを展開し、Catalog viewsをクリックします。
既存のカタログビューに注意してください:Arkbridge、Kingsbluff、すべてのビュー。
-
Add catalog viewをクリックします。
-
カタログビューの詳細を入力:
- 名前 = Celport
- カタログソース = en-US
- ポリシー (使用ドロップダウン) = East Coast Inc Brands; 部品カテゴリをチェック; ブランド; モデル
-
Addをクリックしてカタログ ビューを作成します。
カタログビューページが更新され、新しいカタログビューが表示されます。
-
Celport カタログビューIDを取得します。
カタログビュー ページのCelport カタログビューの情報アイコンをクリックします。
カタログビューIDをコピーして保存します。 このIDは、新しいCelport カタログにデータを配信するためにストアフロント設定を更新する際に必要です。
この手順が正しく完了したことを確認するには:
- カタログビュー名は「Celport」
- カタログビューには、4つの関連ポリシーが表示されます
- カタログビューIDが表示され、コピーできます
- カタログソースに「en-US」と表示される
Celport カタログビューと関連ポリシーを作成したら、次の手順は、新しいCelport カタログを使用するようにストアフロントを設定することです。
3. ストアフロントを更新する
このチュートリアルの最後の部分では、既に作成した ストアフロントを更新して、新しいCelport カタログにデータを配信します。 このセクションでは、ストアフロント設定ファイルのカタログビューIDを、CelportのカタログビューIDに置き換えます。
-
ローカル開発環境で、GitHub リポジトリを複製したフォルダーとストアフロントボイラープレート設定ファイルを開きます。
-
フォルダーのルートディレクトリで、
config.jsonファイルを開きます。accordion config.json コード code language-json { "public": { "default": { "commerce-core-endpoint": "https://www.aemshop.net/graphql", "commerce-endpoint": "https://na1-sandbox.api.commerce.adobe.com/Fwus6kdpvYCmeEdcCX7PZg/graphql", "headers": { "cs": { "ac-view-id": "9ced53d7-35a6-40c5-830e-8288c00985ad", "ac-price-book-id": "west_coast_inc", "ac-source-locale": "en-US" } }, "analytics": { "base-currency-code": "USD", "environment": "Production", "store-id": 1, "store-name": "ACO Demo", "store-url": "https://www.aemshop.net", "store-view-id": 1, "store-view-name": "Default Store View", "website-id": 1, "website-name": "Main Website" } } } }カタログビューヘッダーには、次の値が含まれていることに注意してください。
commerce-endpoint:"https://na1-sandbox.api.commerce.adobe.com/Fwus6kdpvYCmeEdcCX7PZg/graphql"ac-view-id:"9ced53d7-35a6-40c5-830e-8288c00985ad"ac-price-book-id:"west_coast_inc"ac-source-locale:"en-US"
-
commerce-endpoint値で、URLのテナント IDをAdobe Commerce Optimizer インスタンスのURLに置き換えます。テナント IDは、Commerce Optimizer UIのURLで確認できます。 例えば、次のURLでは、テナント IDは
XDevkG9W6UbwgQmPn995r3です。code language-text https://experience.adobe.com/#/@commerceprojectbeacon/in:XDevkG9W6UbwgQmPn995r3/commerce-optimizer-studio/catalog -
ac-view-id値を、以前にコピーしたCelport カタログ ビューIDに置き換えます。 -
ac-price-book-idの値を"east_coast_inc"に置き換えます。これらの変更を行うと、
config.jsonファイルは次のようになり、プレースホルダーACO-tenant-idとcelport-catalog-view-idが値に置き換えられます。code language-json { "public": { "default": { "commerce-core-endpoint": "https://www.aemshop.net/graphql", "commerce-endpoint": "https://na1-sandbox.api.commerce.adobe.com/{{ACO-tenant-id}}/graphql", "headers": { "cs": { "ac-view-id": "{{celport-catalog-view-id}}", "ac-price-book-id": "east_coast_inc", "ac-source-locale": "en-US" } }, "analytics": { "base-currency-code": "USD", "environment": "Production", "store-id": 1, "store-name": "ACO Demo", "store-url": "https://www.aemshop.net", "store-view-id": 1, "store-view-name": "Default Store View", "website-id": 1, "website-name": "Main Website" } } } } -
ファイルを保存します。
変更を保存する際に、ブレーキとサスペンションの部品のみを販売するように設定されているCarvelo カタログビューを使用するようにカタログ設定を更新します。
4. ストアフロントのプレビュー
Celport カタログビューを使用するようにストアフロント設定を更新したので、ストアフロントをプレビューして、カタログデータがどのようにレンダリングされるかを確認できます。
-
ストアフロントを起動して、ストアフロント設定で作成されたCelport固有のカタログエクスペリエンスを表示します。
-
IDEのターミナルウィンドウから、ローカルストアフロントのプレビューを開始します。
code language-shell npm startブラウザーが開き、
http://localhost:3000にローカル開発のプレビューが表示されます。コマンドが失敗するか、ブラウザーが開かない場合は、ストアフロントの設定トピックのローカル開発の手順を確認してください。
-
-
ブラウザーで
brakesを検索し、Enterを押します。ストアフロントが更新され、ブレーキ部品が表示された製品リストページが表示されます。
ブレーキ部品画像をクリックして、価格情報を含む製品の詳細を表示し、製品価格情報を記録します。
-
tiresを検索します。これは、Adobe Commerce Optimizer インスタンスのユースケースデータで使用可能な別の部分カテゴリです。
結果が返されないことに注意してください。 これは、Celportのカタログビューが、ブレーキとサスペンションの部品のみを販売するように構成されているためです。
-
ストアフロント設定ファイル (
config.json)の更新を試してください。ac-view-idとac-price-bookの値を変更します。
例えば、カタログビューIDをKingsbluff カタログビューに、価格表IDを
east_coast_incに変更できます。 Kingsbluffで使用可能な部品カテゴリは、Kingsbluff部品カテゴリ ポリシーを確認することで確認できます。-
ファイルを保存します。
ファイルを保存すると、ローカルのストアフロントのプレビューが自動的に更新されます。
-
検索機能を使用してブラウザーの変更をプレビューし、タイヤ部品を検索します。
使用可能な様々な部品タイプと、Kingsbluff カタログビューに割り当てられた価格に注目してください。
これらの実験は、Adobe Commerce Optimizerの柔軟性を示しています。カタログデータを複製することなく、様々なカタログビューと価格表をすばやく切り替えて、様々なオーディエンスに合わせてカスタマイズされたショッピング体験を作成できます。
トラブルシューティング
このチュートリアルで問題が発生した場合は、次の解決策を試してください。
ポリシー作成の問題
問題:保存ボタンがアクティブではありません
- 解決策: ポリシー名が入力され、すべての必須フィールドが入力されていることを確認します
問題: フィルターが期待どおりに機能しません
- 解決策:属性名がカタログ内のSKU属性と完全に一致することを確認します
カタログ表示の問題
問題: カタログ ビューがリストに表示されません
- 解決策:関連するすべてのポリシーが有効で、適切に設定されていることを確認します
ストアフロント設定の問題
問題: ストアフロントが読み込まれていません
- 解決策: テナント IDとカタログ ビューIDがconfig.json ファイルに正しく入力されていることを確認してください
問題:製品が表示されていません
- 解決策:価格表IDがAdobe Commerce Optimizer インスタンスで使用可能なIDと一致することを確認します
問題:検索結果なし
- 解決策: カタログ表示ポリシーで、検索された製品カテゴリが許可されていることを確認します
その他のヘルプについては、Adobe Commerce Optimizer ドキュメント を参照するか、Adobe サポートにお問い合わせください。
概要
このチュートリアルでは、次の操作を正常に実行しました。
- Celport ディーラーの製品カテゴリをフィルタリングする新しいポリシーを作成しました
- 複数のポリシーを使用してカタログビューを設定し、製品の表示を制御する
- 新しいカタログビューを使用するようにストアフロントを設定
- 製品の可視性と価格設定をテストすることで、構成を検証
次のステップ
Adobe Commerce Optimizerについて学び続けるには:
- ショッピング体験をパーソナライズするために、 マーチャンダイジング機能を確認してください
- 詳細ポリシー設定について説明します
- 他のディーラー向けに追加のカタログビューを設定
- プログラマティック カタログ管理については、API ドキュメント を参照してください
- Edge Delivery Services ストアフロントのドロップインコンポーネントを設定して、商品の検索やレコメンデーションなどのストアフロント機能のためにカスタムストアフロントエクスペリエンスを作成する方法を説明します。 Storefront ドキュメント を参照してください