概念 concepts

この統合フレームワークは、次のことを実行するメカニズムとコンポーネントを提供します。

  • e コマースエンジンへの接続
  • Adobe Experience Manager (AEM)へのデータの取り込み
  • 取り込んだデータの表示と買い物客の反応の収集
  • トランザクションの詳細の返送
  • 両方のシステムからのデータの検索

つまり、

  • 買い物客は待たずに登録と買い物ができます。
  • 価格の変更が遅延なく買い物客に表示されます。
  • 必要に応じて商品を追加できます。
NOTE
e コマースフレームワークは、以下のものと併用できます。
CAUTION
e コマース統合フレームワークは AEM アドオンです。
ご利用のエンジンに応じて、営業担当者が詳しくご説明します。
CAUTION
このフレームワークは、独自プロジェクトの基本要件となります。
フレームワークを実際の仕様に適合させるには、ある程度の開発作業が必要です。
CAUTION
標準の AEM インストールには、汎用 AEM(JCR)e コマース実装が含まれています。
これは、デモンストレーション目的またはユーザーの要件に応じたカスタム実装の基盤として使用されています。

操作を最適化するために、AEM と e コマースエンジンはそれぞれの専門分野に専念します。情報は、両者の間でリアルタイムに転送されます。次に例を示します。

  • AEM がすること:

    • リクエスト:

      • e コマースエンジンからの商品情報。
    • 以下を指定します。

      • 商品情報、買い物かごおよびチェックアウトのユーザービュー。
      • e コマースエンジンへの買い物かごおよびチェックアウトの情報。
      • 検索エンジンの最適化(SEO)。
      • コミュニティ機能。
      • 構造化されていないマーケティングインタラクション。
  • e コマースエンジンがすること:

    • 以下を指定します。

      • データベースからの商品情報。
      • 商品のバリアント管理。
      • 注文管理。
      • ERP(Enterprise Resource Planning)。
      • 商品情報内の検索。
    • プロセス:

      • 買い物かご。
      • チェックアウト。
      • 注文のフルフィルメント。
NOTE
詳細は、e コマースエンジンとプロジェクトの実装によって異なります。

この統合レイヤーを使用するために、すぐに使える AEM コンポーネントがいくつか用意されています。現在は次のものを使用できます。

  • 商品情報
  • 買い物かご
  • チェックアウト
  • マイアカウント

様々な検索オプションも使用できます。

アーキテクチャ architecture

この統合フレームワークは、API、機能を説明するための一連のコンポーネント、および接続方法の例を示すいくつかの拡張機能を提供します。

chlimage_1-4

フレームワークを使用して、以下のような機能にアクセスできます。

chlimage_1-5

実装 implementations

AEM e コマースは、e コマースエンジンとともに実装されます。

  • e コマース統合フレームワークは、e コマースエンジンを AEM と簡単に統合できるように構築されています。専用の e コマースエンジンが製品データ、買い物かご、チェックアウトおよび注文のフルフィルメントを制御し、AEM がデータの表示とマーケティングキャンペーンを制御します。
NOTE
標準の AEM インストールには、汎用 AEM(JCR)e コマース実装が含まれています。
これは、デモンストレーション目的またはユーザーの要件に応じたカスタム実装の基盤として使用されています。
JCR をベースとする汎用的な開発によって AEM 内に実装される AEM e コマースは、
  • API の使用方法を説明するための、スタンドアロンの AEM ネイティブな e コマースのサンプルです。これにより、商品データ、買い物かご、チェックアウトとともに、既存のデータ表示とマーケティングキャンペーンを制御できます。この場合、商品データベースは AEM にネイティブなリポジトリ(アドビの JCR 実装)に格納されます。

    標準的な AEM のインストールには、一般的な e コマースの実装の基本が含まれています。

コマースプロバイダー commerce-providers

コマースエンジンから AEM e コマースサイトにデータを読み込む場合、コマースプロバイダーを利用してインポーターにデータを供給します。1 つのコマースプロバイダーが複数のインポーターをサポートできます。

コマースプロバイダーは、次のどちらかの目的でカスタマイズされた AEM コードです。

  • バックエンドコマースエンジンとやり取りする
  • JCR リポジトリ上にコマースシステムを実装する

現在、AEM では次の 2 つのサンプルコマースプロバイダーを利用できます。

  • geometrixx-hybris 用
  • geometrixx-generic(JCR)用

ただし、通常はプロジェクトで、その PIM と商品データスキーマに固有の、カスタマイズされた独自のコマースプロバイダーを作成する必要があります。

NOTE
Geometrixx インポーターは、CSV ファイルを使用します。実装の上のコメントに、受け入れられているスキーマ(および許可されているカスタムプロパティ)の説明があります。

ProductServicesManager は、(OSGi を通じて)ProductImporter インターフェイスと CatalogBlueprintImporter インターフェイスの実装のリストを保守します。これらの実装は、インポーターウィザードの「インポーター/コマースプロバイダー」ドロップダウンフィールドに、commerceProvider プロパティを名前に使用して一覧表示されます。

ドロップダウンの特定のインポーター/コマースプロバイダーを利用できる場合は、必要な追加データがあれば(インポータータイプに応じて)次のどちらかに定義する必要があります。

  • /apps/commerce/gui/content/catalogs/importblueprintswizard/importers
  • /apps/commerce/gui/content/products/importproductswizard/importers

該当する importers フォルダーの下のフォルダーは、インポーター名と一致している必要があります。次に例を示します。

  • .../importproductswizard/importers/geometrixx/.content.xml

読み込み元ファイルの形式は、インポーターによって定義されます。インポーターが、コマースエンジンへの接続(WebDAV や http など)を確立する場合もあります。

ロール roles

統合されたシステムには、データを保守する以下の役割が用意されています。

  • 次のものを保守する商品情報管理(PIM)ユーザー

    • 商品情報。
    • 分類、カテゴリ化、承認。
    • デジタルアセット管理とのやり取り。
    • 価格 - 多くの場合は ERP システムから取得され、コマースシステムでは明示的に保持されせん。
  • 以下を保守する作成者やマーケティングマネージャー

    • すべてのチャネルのマーケティングコンテンツ。
    • プロモーション
    • 割引券
    • キャンペーン。
  • 次のことを実行するサーファーや買い物客

    • 製品情報を表示する。
    • アイテムを買い物かごに入れる。
    • 注文を確認する。
    • 注文の履行を待つ。

実際の場所は実装によって異なりますが、汎用実装または e コマースエンジンを使用する場合の例を以下に示します。

chlimage_1-6

製品 products

製品データか、マーケティングデータか product-data-versus-marketing-data

構造カテゴリか、マーケティングカテゴリか structural-versus-marketing-categories

次の 2 つのカテゴリを区別できる場合、意味のある構造(cq:Page ノードのツリー)を使用して URL を明確にできるので、従来の AEM コンテンツ管理に非常に近くなります。

  • 構造的 カテゴリ

    製品の概要 ​を定義するカテゴリツリー。例を以下に示します。

    /products/mens/shoes/sneakers

  • マーケティング ​カテゴリ

    製品が所属できる ​その他すべてのカテゴリ。例を以下に示します。

    /special-offers/christmas/shoes

製品データ product-data

製品を描写し、管理するには、製品に関する幅広い情報を保持する必要があります。

製品データは、以下のようになります。

  • AEM(汎用)に直接保持できます。

  • e コマースエンジンに保持して、AEM で利用できます。

    データタイプにより、必要に応じて同期されるか、直接アクセスされます。例えば、製品価格などの非常に変動しやすく重要なデータは、ページリクエストのたびに e コマースエンジンから取得取得され、常に最新であることが保証されます。

どちらの場合でも、製品データが AEM に入力されるか読み込まれると、製品 ​コンソールで表示できます。この表示では、製品のカードビューとリストビューには、以下のような情報が表示されます。

  • 画像
  • SKU コード
  • 最終変更日時

chlimage_1-7

製品バリアント product-variants

製品によっては、バリアントに関する情報も保持できます。例えば、衣料品の場合は、販売されている様々なカラーをバリアントとして保持します。

ecommerceproductvariants

製品属性 product-attributes

それぞれの製品に関して保持される個々の属性は、使用する e コマースエンジンと AEM の実装によって異なる場合があります。属性は、製品ページを表示したり、製品情報を編集したりするときに(必要に応じて)利用でき、次のものを含めることができます。

  • 画像

    商品の画像。

  • タイトル

    商品名。

  • 説明

    テキストによる商品の説明。

  • タグ

    関連商品のグループ化に使用するタグ。

  • デフォルトのアセットカテゴリ

    アセットのデフォルトカテゴリです。

  • ERP データ

    エンタープライズリソースプランニング(ERP)に関する情報。

    • SKU

      在庫管理単位(SKU)に関する情報。

    • カラー

    • サイズ

    • 価格

      商品の単価。

  • 概要

    商品の特長の概要。

  • 機能

    商品の特長の詳細。

製品アセット product-assets

個々の製品について、選択されたアセットを保持できます。一般的には、画像とビデオが含まれます。

カタログ catalogs

カタログは、管理および買い物客に対する表示の両方を容易にするために、製品データをグループ化したものです。多くの場合、カタログは言語、地域、ブランド、季節、趣味、スポーツなど多くの属性に従って構造化されています。

カタログの構造 catalog-structure

複数言語のカタログ catalogs-in-multiple-languages

AEM は、製品コンテンツを複数言語でサポートします。データを要求すると、統合フレームワークが現在のツリーからその言語を取得します(/content/geometrixx-outdoors/en_US の配下のページの場合は en_US など)。

多言語ストアの場合、それぞれの言語ツリー用のカタログを個別に読み込む(または MSM を使用してコピーする)ことができます。

複数ブランドのカタログ catalogs-for-multiple-brands

言語と同様に、大規模な多国籍企業は、複数のブランドに対応する必要があります。

タグによるカタログ catalogs-by-tags

複数の製品をカタログにまとめるために、タグも使用できます。タグは、季節的なオファーなど、より動的なカタログに使用できます。

カタログの設定(初期読み込み) catalog-setup-initial-import

実装に応じて、基本カタログに必要な製品データを AEM に以下のものから読み込むことができます。

  • CSV ファイル(汎用実装用)
  • e コマースエンジン

カタログのメンテナンス(データ同期) catalog-maintenance-data-synchronization

製品データに対する追加の変更は避けられません。

e コマースエンジンとのデータ同期(継続中) data-synchronization-with-an-ecommerce-engine-ongoing

初期読み込みの後、製品データの変更は避けられません。

e コマースエンジンを使用する場合、製品データはそこに保持され、AEM で利用できる必要があります。このような製品データは、更新されたときに同期が必要です。

同期は、データのタイプによって異なります。

カタログ - パフォーマンスと拡張 catalogs-performance-and-scaling

大量の製品(100,000 を超える)を含む大規模なカタログを e コマースエンジン(PIM)から読み込むと、ノード数が多いため、システムに影響を与えることがあります。製品にアセット(製品画像など)が関連付けられている場合は、オーサリングインスタンスの速度が低下する可能性もあります。これは、このようなアセットの後処理によって CPU とメモリに大きな負荷がかかるためです。

この問題を回避するために、様々な戦略を選択できます。

バケッティング bucketing

JCR ノードに多数の直接の子ノード(例えば、1000 以上)がある場合、パフォーマンスに影響を与えないようにするには、バケット(疑似フォルダー)が必要です。バケットは、読み込み時にアルゴリズムに従って生成されます。

これらのバケットは、カタログ構造に導入される疑似フォルダーの形式を取りますが、パブリック URL では見えないように設定できます。

アセットの後処理を専用インスタンスにオフロードする offload-asset-post-processing-to-a-dedicated-instance

このシナリオでは、次の 2 つのオーサーインスタンスを設定します。

  1. プライマリオーサーインスタンス

    PIM から商品データをインポートします。PIM ではアセットパスの後処理は無効になっています。

  2. 専用の DAM オーサーインスタンス

    PIM から商品アセットをインポートして後処理を実行したあと、プライマリオーサーインスタンスで使用できるように商品アセットをレプリケートします。

アーキテクチャ図

商品データのみを読み込む only-import-product-data

読み込むアセット(画像)が商品に含まれていない場合は、アセットの後処理の影響を受けずに、商品データを読み込むことができます。

アーキテクチャ図

パフォーマンステスト performance-testing

AEM e コマースの実装では、パフォーマンステストを考慮する必要があります。

  • オーサー環境:

    バックグラウンドのアクティビティ(読み込みなど)は、通常のユーザーアクティビティ(ページ編集など)と同時に発生する可能性があり、フロントエンドのパフォーマンスの優先度のほうが(一般的に)高い場合でも、オンラインオーサーのパフォーマンスが低下してフラストレーションにつながり、運用開始の決定が妨げられることがあります。

  • パブリッシュ環境:

    レプリケーションは、コンテンツが迅速かつ確実に公開されるようにする重要なプロセスです。レプリケーションは、公開するコンテンツをオーサーがどのようにグループ化するかによって影響を受ける場合があります。

  • フロントエンド:

    フロントエンドの無効化とキャッシュの無効化が混在すると、予期せぬパフォーマンスの低下につながる可能性があります。この問題はテストによって回避できます。

このようなパフォーマンステストには、ターゲットに関する次のような知識と分析が必要です。

  • コンテンツのボリューム

    • Assets
    • ローカライズされ、インターナショナライズされた商品と SKU
  • ユーザーアクティビティ:

    • 一括編集
    • 一括公開
    • 集中的な検索リクエスト
  • バックグラウンドプロセス

    • 読み込み
    • 同期の更新(価格など)
  • メンテナンス要件(バックアップ、Tar PM の最適化、データストアのガベージコレクションなど)

パフォーマンス - その他 performance-miscellaneous

すべての実装において、次の点に注意してください。

  • 商品、在庫管理単位およびカテゴリは膨大な数になることがあるので、できる限り少ないノード数でコンテンツをモデリングしてください。

    ノードが多くなればなるほど、コンテンツ(parsys など)は柔軟性が高まります。しかし、何事もバランスです。(例えば)3 万もの商品を操作する場合に(デフォルトで)個々の柔軟性が必要でしょうか。

  • 重複をできるだけ避ける(ローカライゼーションを参照)か、または可能な場合はその重複がいくつのノードにつながるかを考慮します。

  • クエリの最適化に備えて、コンテンツにはできる限りタグ付けしてください。

    例:

    /content/products/france/fr/shoe/reebok/pump/46 SKU

    コンテンツレベル(つまり、国、言語、カテゴリ、ブランド、製品)ごとに 1 つのタグが必要です。検索

    //element(*,my:Sku)[@country='france' and @language='fr'

    および

    @category='shoe' and @brand='reebok' and @product='pump']

    以下を検索するよりも大幅に速くなります

    /jcr:root/content/france/fr/shoe/reebok/pump/element(*,my:Sku)

  • 技術スタックで、要素化されたコンテンツアクセスモデルとサービスを計画します。これは一般的なベストプラクティスですが、最適化フェーズで頻繁に読み込まれる(そしてバンドルキャッシュを満たしたくない)データ用にアプリケーションキャッシュを追加できるため、ここではさらに重要です。

    例えば、属性管理は製品の読み込みによってアップデートされるデータに関係するので、しばしばキャッシュに適した候補となります。

  • プロキシページの使用を考慮してください。

カタログセクションページ catalog-section-pages

カタログセクションには、例えば以下のような情報が表示されます。

  • カテゴリの紹介(画像やテキスト)。特別オファーを宣伝するバナーやティーザーにも使用できます。
  • そのカテゴリの個々の製品へのリンク
  • 他のカテゴリへのリンク

ecommerce_categoryrunning

製品ページ product-pages

製品ページには、個々の製品に関する包括的な情報が表示されます。e コマースエンジンに登録された価格の変更など、動的なアップデートも反映されます。

製品ページは、例えば、コマース製品 ​テンプレート内などで​ 製品 ​コンポーネントを使用する AEM ページです。

ecommerce_nairobirunnersgreen

製品コンポーネントには、次のものが表示されます。

  • テキストや画像を含む、一般的な商品情報。
  • 価格。ページが表示や更新されるたびに e コマースエンジンから取得されます。
  • カラーやサイズなどの製品バリアント情報。

買い物客は、アイテムを買い物かごに追加する際に、この情報を使用して以下を選択できます。

  • 色とサイズのバリエーション
  • 数量

製品ランディングページ product-landing-pages

例えば、基になる製品ページへのリンクを含む紹介や概要など、主に静的な情報を表示する AEM ページです。

製品コンポーネント product-component

製品 ​コンポーネントは、必要なメタデータ(すなわち cartPagecartObject へのパス)を提供する親ページを持つすべてのページに追加できます。これは、デモサイト Geometrixx Outdoors では UserInfo.jsp によって提供されています。

製品 ​コンポーネントは、個々の要件に応じてカスタマイズすることもできます。

プロキシページ proxy-pages

プロキシページを使用してリポジトリの構造を単純化し、大規模カタログのストレージを最適化できます。

カタログの作成では、AEM 内でアップデートおよびカスタマイズできる製品ごとに個別のコンポーネントが提供されるため、製品ごとに 10 個のノードが使用されます。カタログに数百、さらには数千の製品が含まれている場合、この多数のノードが問題になる可能性があります。問題を回避するために、プロキシページを使用してカタログを作成できます。

プロキシページでは、実際の商品コンテンツをまったく含まない 2 ノード構造(cq:Pagejcr:content)を使用しています。コンテンツは、要求時に商品データとテンプレートページを参照することで生成されます。

ただし、トレードオフがあります。AEM 内の製品情報をカスタマイズすることはできません。(サイト用に定義された)標準テンプレートが使用されます。

NOTE
プロキシページを持たない大規模カタログを読み込んだ場合、問題は発生しません。
方法はいつでも変換できます。カタログのサブセクションを変換することもできます。

プロモーションと割引券 promotions-and-vouchers

割引券 vouchers

割引券は、買い物客を引きつけて購入させたり、顧客のロイヤルティに報いるために割引を提供する、十分に試行された手法です。

  • 割引券は、以下を提供します。

    • 割引券コード(買い物客が買い物かごに入力)。
    • 割引券ラベル(買い物客が買い物かごに入力した後に表示される)。
    • プロモーションパス(割引券によって適用されるアクションを定義する)。
  • 外部コマースエンジンも割引券を提供できます。

AEM で以下を行います。

  • 割引券は、Web サイトコンソールを使用して作成/編集するページベースのコンポーネントです。

  • 割引券 ​コンポーネントは、次のものを提供します。

    • 割引券管理用のレンダラー。買い物かごに現在入っている割引券があれば表示します。
    • 割引券を管理(追加/削除)するための編集ダイアログ(フォーム)。
    • 割引券を買い物かごに追加/買い物かごから削除するために必要なアクション。
  • 割引券には、独自の開始日時や終了日時は設定されておらず、親キャンペーンの開始日時や終了日時を使用します。

NOTE
AEM では​ 割引券 ​という用語を使用します。これは、クーポン ​という用語と同義です。

プロモーション promotions

プロモーションと割引券を併用すると、次のようなシナリオを実現できます。

  • 企業がユーザーリストを手作業で作成して、従業員にカスタム価格を提供する。
  • 長期にわたる顧客がすべての注文に対する割引を受け取る。
  • 明確に定義された期間に提供される販売価格。
  • 前回の注文が一定の金額を上回っていた場合に顧客が割引券を受け取る。
  • 商品 X を購入した顧客が​ 商品 Y(ペア商品)に対する割引をオファーされる。

プロモーションは、商品情報マネージャーではなくマーケティングマネージャーが保守します。

  • プロモーションは、Web サイトコンソールを使用して作成/編集されるページベースのコンポーネントです。``

  • プロモーションは、以下の項目を提供します。

    • 優先度
    • プロモーションハンドラーパス
  • プロモーションをキャンペーンに関連付けて、有効/無効の日付/回数を定義できます。

  • プロモーションをエクスペリエンスに関連付けて、セグメントを定義できます。

  • エクスペリエンスに関連付けされていないプロモーションは、単独では実行されませんが、割引券で実行することはできます。

  • プロモーションコンポーネントには、次のものが含まれます。

    • プロモーション管理用のレンダラーとダイアログ
    • プロモーションハンドラー固有の設定パラメーターをレンダリングおよび編集するためのサブコンポーネント

AEM では、プロモーションはキャンペーン管理にも組み込まれます。

  • キャンペーンによって有効/無効回数が指定されます
  • キャンペーン​ ​のエクスペリエンスを使用して、対応するオーディエンスセグメントに従ってアセット(ティーザーページ、プロモーションなど)をグループ化します。

プロモーションは、エクスペリエンス内または直接キャンペーン内に保持できます。

  • プロモーションがエクスペリエンス内に保持されている場合、そのプロモーションをオーディエンスセグメントに自動的に適用できます。

    例えば、geometrixx-outdoors サンプルサイトでは、次のプロモーションが実施されます。

    /content/campaigns/geometrixx-outdoors/big-spender/ordervalueover100/free-shipping

    がエクスペリエンス内にあるので、セグメント(ordervalueover100)が解決されるたびに自動的に起動されます。

  • エクスペリエンス内に存在しない(キャンペーン内にのみ存在する)プロモーションの場合は、自動的にはオーディエンスに適用されません。ただし、買い物客が割引券を買い物かごに入力し、その割引券がプロモーションを参照している場合には、プロモーションが呼び出されます。

    例えば、次のプロモーションでは、

    /content/campaigns/geometrixx-outdoors/article/10-bucks-off

    エクスペリエンス外にあるので、自動的には呼び出されません(つまり、セグメント化に基づいています)。ただし、このプロモーションを参照する割引券が、記事のキャンペーンに含まれるいくつかのエクスペリエンスにあります。これらの割引券コードを買い物かごに入力すると、プロモーションが呼び出されます。

NOTE
hybris プロモーションおよび hybris 割引券は、買い物かごに影響を及ぼし、価格に関連するすべてのものを対象とします。プロモーション固有のマーケティングコンテンツ(バナーなど)は、hybris プロモーションに含まれません。

パーソナライズ機能 personalization

顧客の登録とアカウント customer-registration-and-accounts

買い物客が登録したら、アカウントの詳細を AEM と e コマースエンジン間で同期する必要があります。機密データは個別に保持されますが、プロファイルは共有されます。

chlimage_1-10

正確なメカニズムは、シナリオによって異なることがあります。

  1. ユーザーアカウントがどちらのシステムにも存在する場合:

    1. アクションは必要ありません。
  2. ユーザーアカウントが AEM にのみ存在する場合:

    1. ユーザーは、AEM に保存されているのと同じアカウント ID とランダムパスワードを使用して e コマースエンジンに作成されます。
    2. AEM は、最初の呼び出し(商品ページが要求され、価格を取得するために e コマースエンジンが参照される場合など)で e コマースエンジンにログインしようとするので、ランダムパスワードが必要です。これは AEM へのログイン後に発生するので、パスワードは使用できません。
  3. ユーザーアカウントが e コマースエンジンにのみ存在する場合:

    1. アカウントは、同じアカウント ID とパスワードを使用して AEM に作成されます。

e コマースエンジンを使用している場合、AEM はアカウント ID とパスワード(オプションでユーザーグループ)だけを保存します。その他すべての情報は、e コマースエンジンに保存されます。

NOTE
e コマースエンジンを使用している場合、AEM インスタンスにログインするユーザー用に作成されたアカウントが、そのエンジンとやり取りするその他すべての AEM インスタンスに(ワークフローを使用するなどして)レプリケートされていることを確認する必要があります。
そうでない場合は、このような他の AEM インスタンスも、エンジン内に同じユーザーのアカウントを作成しようとします。このようなアクションは、エンジンから DuplicateUidException を受信して失敗します。

顧客の新規登録 customer-sign-up

多くの場合、買い物客が買い物かごにアクセスするには新規登録する必要があります。サインアップするには、顧客固有のアカウントを作成できるよう、登録(アカウントの作成)が必要です。

chlimage_1-11

NOTE
匿名の買い物かごとチェックアウトもサポートされています。

顧客のログイン customer-sign-in

新規登録後、買い物客はアクションを追跡したり、注文を受け渡したりできるように、アカウントを使用してログインできます。

chlimage_1-12

シングルサインオン single-sign-on

シングルサインオン(SSO)の機能が導入されているので、作成者は AEM と e コマースシステムの両方で 2 回ログインせずに済みます。

マイアカウント myaccount

e コマースエンジンからのトランザクションデータは、買い物客に関する個人情報と結合されます。AEM は、このデータの一部をプロファイルデータとして使用します。AEM のフォームのアクションによって、情報が e コマースエンジンに書き戻されます。

アカウント情報を管理しやすくなるページが用意されています。このページにアクセスするには、Geometrixx ページ上部の「マイアカウント」をクリックするか、/content/geometrixx-outdoors/en/user/account.html に移動します。

chlimage_1-13

アドレス帳 address-book

サイトには、配達先、請求先および代替住所を含む、選択対象のアドレスを保存する必要があります。デフォルトのアドレス形式に基づくフォームを使用して実装することも、AEM が提供するアドレス帳コンポーネントを使用することもできます。

このアドレス帳コンポーネントでは、次のことが可能です。

  • アドレス帳のアドレスを編集する
  • 発送先住所としてアドレス帳からアドレスを選択する
  • 請求先住所としてアドレス帳からアドレスを選択する

デフォルトとするアドレスを選択できます。

アドレス帳コンポーネントにアクセスするには、マイアカウント ​ページから「アドレス帳」をクリックするか、/content/geometrixx-outdoors/en/user/account/address-book.html に移動します。

chlimage_1-14

新しいアドレスを追加…」をクリックして、アドレス帳に新しいアドレスを追加できます。フォームが表示されたら、入力して「アドレスを追加」をクリックします。

NOTE
アドレス帳には複数のアドレスを入力できます。

アドレス帳は、買い物かごのチェックアウト時に使用されます。

chlimage_1-15

アドレスは、user_home/profile/addresses の下に保持されます。
例えば、Alison Parker の場合は、/home/users/geometrixx/aparker@geometrixx.info/profile/addresses の下です。

デフォルトとするアドレスを選択できます。この情報は、アドレスと一緒にではなく、買い物客のプロファイルに保持されます。プロファイルのプロパティ address.default の値が、選択されたアドレスのパスに設定されます。

顧客固有の価格 customer-specific-pricing

e コマースエンジンは、コンテキスト(基本的には買い物客の情報)を使用して保持している価格を判断してから、正しい情報を AEM に返します。

買い物かごと注文 shopping-cart-and-orders

買い物をする際に、買い物客は商品ページを閲覧し、アイテムを選択して買い物かごに入れます。チェックアウトに進むと、注文できます。

匿名の買い物客 anonymous-shoppers

匿名の顧客は、次のことが可能です。

  • 商品を表示
  • 商品を買い物かごに追加
  • チェックアウトを実行して注文
NOTE
インスタンスの設定によっては、チェックアウト前にアドレス情報すなわち顧客の登録が必要な場合があります。

登録済みの買い物客 registered-shoppers

登録済みの顧客は、次のことが可能です。

  • アカウントにログイン
  • 商品を表示
  • 商品を買い物かごに追加
  • チェックアウトを実行して注文
  • 以前の注文を表示および追跡

買い物かごの中身の概要 shopping-cart-content-overview

買い物かごには次の情報が表示されます。

  • 選択したアイテムの概要

  • 選択されたアイテムの商品ページへのリンク

  • 次のことを実行する機能

    • 個々のアイテムの数/数量を更新する
    • 個々のアイテムを削除する

ecommerce_shoppingcart

買い物かごは、使用しているエンジンに応じて次のように保存されます。

  • AEM の汎用エンジンは、買い物かごを cookie に保存します。
  • 特定の e コマースエンジンは、セッションで買い物かごを保存できます。

どちらの場合も、アイテムはログイン/ログアウトをまたがって(同じコンピューター/ブラウザーの場合に限り)買い物かごに残ります(復元することもできます)。例:

  • anonymous として閲覧し、商品を買い物かごに追加する

  • Allison Parker としてログイン - アリソンの買い物かごは空になっている

  • 商品を買い物かごに追加する

  • ログアウト - 買い物かごには anonymous の商品が表示される

  • Allison Parker として再度ログイン - アリソンの商品が買い物かごに復元される

NOTE
匿名の買い物かごは、同じコンピューター/ブラウザー上でのみ復元できます。
NOTE
e コマースエンジン(hybris など)の admin アカウントと競合する可能性があるので、admin アカウントを使用して買い物かごの中身の復元をテストすることはお勧めしません。
NOTE
hybris は、定義された期間の後に保留中の買い物かごを削除するように設定できます。

価格の変更が発生すると、チェックアウト前に(両方のシステムに)反映されます。

注文情報 order-information

使用する実装に応じて、注文に関する情報は e コマースエンジンまたは AEM のどちらかに保持され、この情報は AEM によってレンダリングされます。

次の情報を含む様々な情報が保存されます。

  • 注文 ID

    注文の参照番号。

  • 注文日時

    発注日。

  • ステータス

    注文のステータス。例:発送済み

  • 通貨

    注文の通貨。

  • コンテンツ項目

    並べ替えられた品目のリスト。

  • 小計

    注文された品目の合計金額。

  • 注文に対して支払うすべての税金の金額。

  • 送料

    送料。

  • 合計

    注文の合計金額(注文された品目、税、送料)。

  • 請求先住所

    請求書を送付する住所。

  • 支払いトークン

    支払い方法。

  • 支払いステータス

    支払のステータス。

  • 発送先住所

    商品を発送する住所。

  • 発送方法

    発送の方法。例:陸路、海路または空路。

  • 追跡番号

    配送会社が使用する追跡番号。

  • 追跡リンク

    配送中に注文の追跡に使用するリンク。

NOTE
注文を作成ウィザードで使用されるフィールドは、タッチ操作向けの基礎モードがその場所に対して定義されているかどうかで決まります。一般的な例では、次の場所にあります。
/etc/scaffolding/geometrixx-outdoors/order/jcr:content/cq:dialog

注文が AEM 内に保持されている場合、注文コンソールには注文ごとに次の内容が表示されます。

  • 買い物かごの中のアイテム数
  • 注文の合計金額
  • 注文日時
  • ステータス

chlimage_1-16

注文の追跡 order-tracking

注文後、多くの場合、買い物客は戻って以下を実行します。

  • 注文のステータスを確認
  • 注文から商品を削除
  • 注文に商品を追加

注文の配達を受け取った後、買い物客は一定期間に行われた注文の履歴を表示することもできます。

注文の受け渡しと追跡は、通常は e コマースエンジンによって管理されます。注文履歴コンポーネントを使用して、AEM で情報を表示できます。このコンポーネントには、適用された割引券やプロモーションを含む、関連する詳細がすべて表示されます。例:

chlimage_1-17

チェックアウト checkout

チェックアウトは、標準の AEM フォームを使用して実装されます。マーケティングマネージャーは、チェックアウトを使用して、マーケティングコンテンツでエクスペリエンスをカスタマイズできます。

その後、e コマースエンジンが AEM フォームからの入力を使用して、チェックアウトプロセスを管理します。

支払いのセキュリティ payment-security

クレジットカード情報を含む支払詳細は、多くの場合、e コマースエンジンが管理します。AEM は、そのようなトランザクション情報をエンジンに転送します(情報はエンジンから支払い処理サービスに転送されます)。

Payment Card Industry(PCI)コンプライアンスを実現できます。

注文の確認 confirmation-of-order

注文は画面上で確認され、注文の追跡によって追跡できます。

検索 search-features

chlimage_1-18

AEM は商品に標準のページを使用しているので、標準の検索コンポーネントを使用して検索ページを作成できます。

より完全な実装が必要な場合は、次のどちらかを実行できます。

  • 必要な機能で、デフォルトの検索コンポーネントを拡張する。
  • CommerceService に検索メソッドを実装し、検索ページで e コマース検索コンポーネントを使用する。

e コマースエンジンを使用している場合は、e コマースエンジンソリューションに e コマース検索 API を完全に実装できるので、標準で提供されている e コマース検索コンポーネントを使用できます。ファセット検索を利用して、JCR やエンジンを検索できます。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2