Catalog Service Adobe Commerceの場合

この Catalog Service for Adobe Commerce拡張機能には、次のような商品関連のストアフロントエクスペリエンスを迅速かつ完全にレンダリングするための、機能豊富なビューモデル(読み取り専用)カタログデータが用意されています。

  • 製品詳細ページ
  • 製品リストページとカテゴリページ
  • 検索結果のページ
  • 製品カルーセル
  • 製品比較ページ
  • 買い物かご、注文、ウィッシュリストページなど、商品データをレンダリングするその他のページ

この Catalog Service 使用 GraphQL 製品データをリクエストおよび受信します。 GraphQLは、フロントエンドクライアントが、Adobe Commerceなどのバックエンドで定義されたアプリケーションプログラミングインターフェイス(API)との通信に使用するクエリ言語です。 GraphQLは軽量で、システムインテグレーターが各応答の内容と順序を指定できるため、一般的な通信方法です。

Adobe Commerceには 2 つのGraphQL システムがあります。 コア GraphQL システムは、買い物客が商品、お客様のアカウント、買い物かご、チェックアウトなど、多くの種類のページを操作できる幅広いクエリ(読み取り操作)とミューテーション(書き込み操作)を提供します。 ただし、製品情報を返すクエリは、速度が最適化されていません。 サービスGraphQLシステムは、商品および関連情報に対してのみクエリを実行できます。 これらのクエリは、類似のコアクエリよりもパフォーマンスが高くなります。

Catalog Service ユーザーは新しいを使用できます SaaS 価格インデクサーこれにより、価格変更の更新と同期時間が短縮されます。

アーキテクチャ

次の図に、2 つのGraphQL システムを示します。

カタログアーキテクチャ図

コア GraphQL システムでは、PWAがCommerce アプリケーションにリクエストを送信し、各リクエストを受け取って処理し、場合によっては複数のサブシステムを介してリクエストを送信してから、ストアフロントに応答を返します。 このラウンドトリップは、ページの読み込み時間が遅くなる可能性があり、コンバージョン率の低下につながる可能性があります。

Catalog Service はストアフロントサービスゲートウェイです。 サービスは、製品の詳細と関連情報(製品属性、バリアント、価格、カテゴリなど)を含む別のデータベースにアクセスします。 サービスは、インデックス化を通じてデータベースをAdobe Commerceと同期させ続けます。
サービスはアプリケーションとの直接通信をバイパスするので、要求および応答サイクルの待ち時間を短縮できます。

コアおよびサービスのGraphQL システムは、相互に直接通信しません。 異なる URL から各システムにアクセスする場合、呼び出しには異なるヘッダー情報が必要です。 2 つのGraphQL システムは、一緒に使用するように設計されています。 この Catalog Service GraphQL システムはコアシステムを強化して、製品ストアフロントのエクスペリエンスを高速化します。

オプションで、を実装することもできます Adobe Developer App Builder の API メッシュ Adobe Developerを使用して、2 つのAdobe Commerce GraphQL システムをプライベートおよびサードパーティの API やその他のソフトウェアインターフェイスと統合する場合。 メッシュは、各エンドポイントにルーティングされる呼び出しにヘッダーの正しい認証情報が含まれるように設定できます。

アーキテクチャの詳細

以下の節では、2 つのGraphQL システムの違いの一部を説明します。

スキーマ管理

カタログサービスはサービスとして機能するので、インテグレーターはCommerceの基盤となるバージョンについて心配する必要はありません。 クエリの構文は、すべてのバージョンで同じです。 また、このスキーマはすべてのマーチャントで一貫しています。 この一貫性により、ベストプラクティスの確立が容易になり、ストアフロントウィジェットの再利用が大幅に増加します。

製品タイプの簡素化

このスキーマにより、製品タイプの多様性は次の 2 つのユースケースに限定されます。

  • シンプルな製品とは、1 つの価格と数量で定義される製品です。 カタログサービスは、シンプル、仮想、ダウンロード可能、ギフトカードの製品タイプをにマッピングします simpleProductViews.

  • 複雑な製品は、複数の単純な製品で構成されます。 コンポーネントのシンプルな製品は異なる価格を持つことができます。 買い物客がコンポーネントのシンプルな製品の数量を指定できるように、複雑な製品を定義することもできます。 カタログサービスは、設定可能な製品、バンドル、グループ化された製品タイプをにマッピングします。 complexProductViews.

複雑な製品オプションは、タイプではなく行動によって統一され、区別されます。 各オプション値は単純な製品を表します。 このオプション値は、価格を含む単純な製品属性にアクセスできます。 買い物客が複雑な製品のすべてのオプションを選択すると、選択したオプションの組み合わせは、特定の単純な製品を指します。 シンプルな商品は、買い物客が使用可能なすべてのオプションの値を選択するまで、あいまいなままです。

価格

単純な製品は、価格のある基本販売単位を表します。 Catalog Service 割引前の通常価格と、割引後の最終価格を計算します。 価格の計算には、固定製品税を含めることができます。 パーソナライズされたプロモーションは除外されます。

複雑な製品には定価がありません。 代わりに、カタログサービスはリンクサンプルの価格を返します。 例えば、マーチャントは最初に設定可能な商品のすべてのバリエーションに同じ価格を割り当てることができます。 特定のサイズや色が人気がない場合、商人はそれらのバリアントの価格を下げることができます。 したがって、最初の複雑な(設定可能な)製品の価格は、標準的なバージョンと人気のないバージョンの両方の価格を反映して、価格範囲を示しています。 買い物客が使用可能なすべてのオプションの値を選択すると、ストアフロントに単一価格が表示されます。

カタログサービスは、大きな値(最大 16 桁)と高い小数点精度(最大 4 桁)の価格をサポートすることで、正確な価格の更新と計算を保証します。

NOTE
を使用するCommerceのお客様 Catalog Service を使用すると、web サイトでの価格変更の更新と同期時間を短縮できます。 SaaS 価格インデクサー.

実装

インストールプロセスでは、 Commerce サービスコネクタ. これが完了したら、次の手順では、システムインテグレーターがストアフロントコードを更新して、 Catalog Service クエリ。 すべて Catalog Service クエリはGraphQL ゲートウェイにルーティングされます。 URL はオンボーディングプロセス中に提供されます。

recommendation-more-help
7c786b3e-f793-4e26-b38a-3fe76d8eca72