スキーマ内のモデルデータ

このレッスンでは、Lumaのデータをスキーマにモデル化します。 これはチュートリアルで最も長いレッスンの1つなので、水を入れてバックルアップしてください!

標準化と相互運用性は、Adobe Experience Platform の背後にある重要な概念です。Experience Data Model (XDM)とは、顧客体験データを標準化し、顧客体験管理のスキーマを定義するための取り組みです。

XDM は、デジタルエクスペリエンスを強化するために設計され、公式に文書化された仕様です。Platform サービスとの通信に使用するあらゆるアプリケーションに共通の構造と定義を提供します。XDM 標準に準拠することで、すべての顧客体験データを共通の表現に組み込み、より迅速かつ統合的な方法でインサイトを得ることができます。顧客のアクションから貴重なインサイトを得たり、セグメントを使用して顧客のオーディエンスを定義したり、パーソナライゼーションを目的として顧客属性を表すことができます。

XDM は、Experience Platform が提供する Adobe Experience Cloud が、適切なタイミングに、適切なチャネル経由で、適切な相手へと適切なメッセージを届けることを可能にする、基本的なフレームワークです。Experience Platform の基礎となる XDM システム​は、エクスペリエンスデータモデルスキーマを Platform サービスで操作できるようにします。

データアーキテクト​は、このチュートリアル以外でスキーマを作成する必要がありますが、データエンジニア​は、データアーキテクトが作成したスキーマと緊密に連携します。

この演習を開始する前に、この短いビデオで、スキーマとエクスペリエンスデータモデル(XDM)について詳しく説明します。

TIP
Experience Platformのデータモデリングの詳細については、Experience Leagueで無料で利用できるプレイリスト Model Your Customer Experience Data with XDMを視聴することをお勧めします。

権限が必要です

権限の設定 レッスンでは、このレッスンを完了するために必要なすべてのアクセス制御を設定します。

UIによるロイヤルティスキーマの作成

この演習では、Lumaのロイヤルティデータのスキーマを作成します。

  1. Platform ユーザーインターフェイスに移動し、サンドボックスが選択されていることを確認します。

  2. 左側のナビゲーションで​ スキーマ ​に移動します。

  3. 右上の「スキーマを作成」ボタンを選択します。
    OOTB フィールドグループを持つスキーマ

  4. 「スキーマを作成」ワークフローで、個々の顧客の属性(ポイント、ステータスなど)をモデル化するので、「個人プロファイル」をスキーマの基本クラスとして選択します。

  5. 次へ」を選択します。
    基本クラスを選択

  6. Luma Loyalty Schema スキーマ表示名​」テキストフィールドに「」と入力します。 以下のキャンバスでは、選択したクラスによって提供される基本スキーマ構造を確認および検証することもできます。

  7. 完了」を選択して、スキーマを作成します。
    ロイヤルティスキーマの作成を完了

標準フィールドグループの追加

スキーマを作成すると、スキーマエディターにリダイレクトされ、スキーマにフィールドを追加できます。 個々のフィールドをスキーマに直接追加することも、フィールドグループを使用することもできます。 すべての個々のフィールドは、引き続きクラスまたはフィールドグループに関連付けられていることに注意してください。 Adobeが提供する業界標準の大規模なフィールドグループから選択するか、独自のフィールドグループを作成できます。 Experience Platformで独自のデータのモデリングを開始する際は、Adobeが提供する業界標準のフィールドグループに慣れておくとよいでしょう。 可能な限り、Customer AI、Attribution AI、Adobe Analyticsなどのダウンストリームサービスを強化する場合があるため、これらのツールを使用することがベストプラクティスとなります。

独自のデータを扱う場合、重要なステップは、Platformでキャプチャする独自のデータと、そのデータをどのようにモデル化するかを決定することです。 この大きなトピックについては、プレイリスト 顧客体験データをXDMでモデル化するで詳しく説明しています。 このチュートリアルでは、事前に決定されたスキーマの実装について説明します。

フィールドグループを追加するには:

  1. フィールドグループ」見出しの下にある「追加」を選択します。
    新しいフィールドグループを追加

  2. フィールドグループを追加 モーダルで、次のフィールドグループを選択します。

    1. 名前や生年月日などの基本的な顧客データの​デモグラフィックの詳細
    2. 電子メールアドレスや電話番号などの基本的な連絡先の詳細については、個人連絡先の詳細
  3. 行の右側にあるアイコンを選択すると、フィールドグループに投稿されたフィールドをプレビューできます。
    標準フィールドグループの選択

  4. 業界固有のフィールドグループを表示するには、業界 > 小売 ボックスをオンにします。

  5. ロイヤルティの詳細」を選択して、ロイヤルティプログラムのフィールドを追加します。

  6. フィールドグループを追加​を選択して、3つのフィールドグループをすべてスキーマに追加します。
    標準フィールドグループをロイヤルティスキーマに追加

時間をかけて、スキーマの現状を探ります。 フィールドグループには、人物、連絡先の詳細、ロイヤルティプログラムのステータスに関連する標準フィールドが追加されています。 これらの2つのフィールドグループは、自社データのスキーマを作成する際に役立ちます。 特定のフィールドグループ行を選択するか、フィールドグループ名の横にあるボックスをオンにして、ビジュアライゼーションがどのように変化するかを確認します。

スキーマを保存するには、保存​を選択します。
スキーマの保存

NOTE
フィールドグループが、収集しないデータポイントのフィールドを追加しても問題ありません。 例えば、「faxPhone」は、Lumaがデータを収集しないフィールドです。 構いません。 スキーマでフィールドが定義されているからといって、そのフィールドのデータを後で​取り込む必要はありません。 スキーマからフィールドを削除することもできます。

カスタムフィールドグループの追加

次に、カスタムフィールドグループを作成します。

ロイヤルティフィールドグループにはloyaltyID フィールドが含まれていますが、Lumaでは、スキーマ全体の一貫性を確保するために、すべてのシステム識別子を1つのグループで管理したいと考えています。

フィールドグループは、スキーマワークフローで作成する必要があります。 以下のいずれかを実行できます。

  • 最初にスキーマに新しいカスタムフィールドを追加し、次にカスタムフィールドグループを作成するか、
  • まずカスタムフィールドグループを作成し、そこにフィールドを追加します。

このチュートリアルでは、まずカスタムフィールドグループを作成します。

フィールドグループを作成するには:

  1. スキーマフィールドグループ」見出しの「追加」を選択します
    新しいフィールドグループを追加
  2. 新しいフィールドグループを作成​を選択
  3. Luma Identity profile field groupを​ 表示名 ​として使用
  4. system identifiers for XDM Individual Profile classを​ 説明 ​として使用
  5. フィールドグループを追加​を選択
    新しいフィールドグループを追加

新しい空のフィールドグループがスキーマに追加されます。 + ボタンを使用すると、階層内の任意の場所に新しいフィールドを追加できます。 この場合、ルートレベルにフィールドを追加します。

  1. スキーマの名前の横にある​ + ​を選択します。 これにより、テナント ID名前空間の下に新しいフィールドが追加され、カスタムフィールドと任意の標準フィールドとの間の競合を管理できます。

  2. フィールドプロパティ サイドバーで、新しいフィールドの詳細を追加します。

    1. フィールド名: systemIdentifier
    2. 表示名: System Identifier
    3. タイプ: オブジェクト
    4. フィールドグループ ドロップダウンで、作成した​ Luma ID プロファイルフィールフィールドグループ ​を選択します。
      新しいフィールドグループを追加
    5. 適用​を選択
      新しいフィールドプロパティを適用

次に、systemIdentifier オブジェクトの下に2つのフィールドを追加します。

  1. 最初のフィールド

    1. フィールド名: loyaltyId
    2. 表示名: Loyalty Id
    3. Type: 文字列
  2. 2番目のフィールド

    1. フィールド名: crmId
    2. 表示名: CRM Id
    3. Type: 文字列

新しいフィールドグループは次のようになります。 「保存」ボタンを選択してスキーマを保存しますが、次の演習のためにスキーマを開いたままにしておきます。
ロイヤルティフィールドグループ完了

データタイプの作成

新しいLuma Identity profile field groupなどのフィールドグループは、他のスキーマで再利用できるため、複数のシステムにわたって標準データ定義を適用できます。 ただし、クラスを共有するスキーマ内の​のみ再利用できます(この場合はXDM個人プロファイルクラス)。

データタイプは、複数のクラス をまたいでスキーマ​で再利用できる別のマルチフィールド構造です。 新しいsystemIdentifier オブジェクトをデータ型に変換します。

Luma Loyalty Schemaを開いたまま、systemIdentifier オブジェクトを選択し、新しいデータタイプに変換​を選択します

ロイヤルティフィールドグループ完了

スキーマから​ キャンセル ​し、データタイプ タブに移動すると、新しく作成したデータタイプが表示されます。 このデータタイプは、レッスンの後半で使用します。

ロイヤルティフィールドグループ完了

API経由でのCRM スキーマの作成

次に、APIを使用してスキーマを作成します。

TIP
APIの演習をスキップする場合は、ユーザーインターフェイスメソッドを使用して次のスキーマを作成できます。
  1. 個人プロファイル ​ クラスの使用
  2. 名前をLuma CRM Schema
  3. デモグラフィックの詳細、個人の連絡先の詳細、Luma ID プロファイルフィールドグループのフィールドグループを使用します

まず、空のスキーマを作成します。

  1. Postmanを開

  2. アクセストークンがない場合は、リクエスト OAuth: Request Access Token​を開き、送信​を選択して新しいアクセストークンをリクエストします。

  3. 環境変数を開き、CONTAINER_ID​の値をglobalからtenantに変更します。 スキーマの作成など、Platformで独自のカスタム要素を操作する場合は、tenantを使用する必要があります。

  4. 保存​を選択
    CONTAINER_IDをテナント に変更します

  5. リクエスト Schema Registry API > Schemas > Create a new custom schema.​を開きます

  6. Body」タブを開き、次のコードを貼り付け、Send​を選択してAPI呼び出しを行います。 この呼び出しは、同じXDM Individual Profile基本クラスを使用して新しいスキーマを作成します。

    code language-json
    {
      "type": "object",
      "title": "Luma CRM Schema",
      "description": "Schema for CRM data of Luma Retail ",
      "allOf": [{
        "$ref": "https://ns.adobe.com/xdm/context/profile"
      }]
    }
    
    note note
    NOTE
    この以降のコードサンプル(例:https://ns.adobe.com/xdm/context/profile)の名前空間参照は、CONTAINER_ID​を使用してリスト API呼び出しを使用し、正しい値に設定されたヘッダーを受け入れることで取得できます。 ユーザーインターフェイスで簡単にアクセスできるものもあります。
  7. 201 Created件の応答が返されます

  8. 応答本文からmeta:altIdをコピーします。 後で別の演習で使用します。
    CRM スキーマを作成

  9. 新しいスキーマは、ユーザーインターフェイスでは表示されますが、フィールドグループは表示されません
    CRM スキーマを作成

NOTE
meta:altIdまたはスキーマ IDは、Schema Registry API > Schemas > Retrieve a list of schemas within the specified container. CONTAINER_ID ​に設定され、受け入れヘッダーtenantが設定されたAPI リクエスト application/vnd.adobe.xdm+jsonを行うことでも取得できます。
TIP
この呼び出しに関する一般的な問題と、考えられる修正:
  • 認証トークンがありません:OAuth: アクセストークンを要求​要求を実行して、新しいトークンを生成します
  • 401: Not Authorized to PUT/POST/PATCH/DELETE for this path : /global/schemas/: CONTAINER_ID​環境変数をglobalからtenantに更新します
  • 403: PALM Access Denied. POST access is denied for this resource from access control: Admin Consoleでユーザー権限を確認します

標準フィールドグループの追加

次に、フィールドグループをスキーマに追加します。

  1. Postmanで、リクエスト Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.​を開きます

  2. パラメーター」タブに、以前の応答のmeta:altId値をSCHEMA_IDとして貼り付けます

  3. 「Body」タブを開き、次のコードを貼り付け、Send​を選択してAPI呼び出しを行います。 この呼び出しにより、標準フィールドグループがLuma CRM Schemaに追加されます。

    code language-json
    [{
        "op": "add",
        "path": "/allOf/-",
        "value": {
          "$ref": "https://ns.adobe.com/xdm/context/profile-personal-details"
        }
      },
      {
        "op": "add",
        "path": "/allOf/-",
        "value": {
          "$ref": "https://ns.adobe.com/xdm/context/profile-person-details"
        }
      }
    ]
    
  4. 応答のステータスは200 OKで、フィールドグループはUIのスキーマの一部として表示されます

    標準フィールドグループが追加されました

カスタムフィールドグループを追加

次に、Luma Identity profile field groupをスキーマに追加します。 まず、リスト APIを使用して、新しいフィールドグループのIDを見つける必要があります。

  1. リクエスト Schema Registry API > Field groups > Retrieve a list of field groups within the specified container.​を開きます

  2. アカウント内のすべてのカスタムフィールドグループのリストを取得するには、送信 ボタンを選択します

  3. $idLuma Identity profile field group値を取得します(このスクリーンショットの値とは異なります)
    フィールドグループのリストを取得

  4. リクエスト Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.​をもう一度開きます

  5. パラメーター タブには、スキーマの$idが残っている必要があります

  6. Body」タブを開き、次のコードを貼り付けて、$ref値を自分の$idLuma Identity profile field groupに置き換えます。

    code language-json
    [{
      "op": "add",
      "path": "/allOf/-",
      "value": {
        "$ref": "REPLACE_WITH_YOUR_OWN_FIELD_GROUP_ID"
      }
    }]
    
  7. 送信​を選択
    ID フィールドグループの追加

API応答とインターフェイスの両方を確認して、フィールドグループがスキーマに追加されたことを確認します。

オフライン購入イベントスキーマの作成

次に、Lumaのオフライン購入データ用の​Experience Event クラスに基づいてスキーマを作成します。 スキーマエディターのユーザーインターフェイスに慣れてきたので、次の手順でスクリーンショットの数を減らします。

  1. Experience Event クラスを使用してスキーマを作成します。
  2. スキーマにLuma Offline Purchase Events Schemaという名前を付けます。
  3. 標準フィールドグループ Commerceの詳細​を追加して、共通の注文の詳細を取得します。 中のオブジェクトを探索するのに数分を費やしてください。
  4. Luma Identity profile field groupを検索します。 利用できません。 フィールドグループはクラスに関連付けられているので、このスキーマには別のクラスを使用しているので、使用できません。 ID フィールドを含むXDM ExperienceEvent クラスの新しいフィールドグループを追加する必要があります。 データタイプを確認するだけなので非常に簡単です!
  5. 新しいフィールドグループを作成」ラジオボタンを選択
  6. 表示名​をLuma Identity ExperienceEvent field groupとして入力し、フィールドグループを追加 ボタンを選択します
  7. スキーマ名の横にある「+」を選択します。
  8. フィールド名​として、systemIdentifierと入力します。
  9. 表示名​として、System Identifierと入力します。
  10. タイプ​として、以前に作成したカスタムデータタイプである​ システム識別子 ​を選択します。
  11. フィールドグループ​として、Luma Identity ExperienceEvent フィールドグループ​を選択します。
  12. 適用」ボタンを選択します。
  13. 保存」ボタンを選択します。

データタイプがすべてのフィールドを追加した方法に注意してください。

フィールドグループにデータタイプを追加

また、Class​見出しの下の​ XDM ExperienceEvent ​を選択し、このクラスによって提供されるフィールドの一部を調べます。 XDM ExperienceEvent クラスを使用する場合は、_id フィールドとタイムスタンプフィールドが必要です。これらのフィールドは、このスキーマを使用する際に取り込むレコードごとに入力する必要があります。

エクスペリエンスイベントのベース構造

Web イベントスキーマの作成

次に、Lumaのweb サイトデータ用にもう1つスキーマを作成します。 この時点で、あなたはスキーマの作成の専門家になるはずです。 これらのプロパティを使用して次のスキーマを構築します

プロパティ
クラス
エクスペリエンスイベント
スキーマ名
Luma Web イベントスキーマ
フィールドグループ
AEP Web SDK ExperienceEvent
フィールドグループ
消費者体験イベント

消費者エクスペリエンスイベント」フィールドグループを選択します。 このフィールドグループには、Commerce Detailsにも存在するcommerceおよびproductListItems オブジェクトが含まれています。 実際消費者体験イベント ​は、他のいくつかの標準フィールドグループを組み合わせたもので、個別に利用することもできます。 AEP Web SDK ExperienceEvent フィールドグループには、他のフィールドグループも含まれています。これには、​ コンシューマーエクスペリエンスイベント ​の同じフィールドグループも含まれます。 幸いなことに、シームレスに連携できます。

このスキーマにLuma Identity ExperienceEvent field groupを追加していないことに注意してください。 Web SDKでは、IDを収集する方法が異なるためです。 スキーマエディターの​コンポジション セクションで​XDM ExperienceEvent クラスを選択すると、デフォルトで追加されるフィールドの1つが​ IdentityMap ​と呼ばれることがわかります。 IdentityMapは、様々なAdobe アプリケーションでPlatformにリンクするために使用されます。 ストリーミング取り込みレッスンのidentityMapを介してIDがPlatformに送信される方法を確認できます。

製品カタログスキーマの作成

Commerce DetailsおよびConsumer Experience Event フィールドグループを使用すると、Lumaは標準のproductListItems データタイプを介して製品関連イベントの詳細をレポートします。 さらに、商品詳細フィールドを追加してPlatformに送信することもできます。 Lumaは、POS システムやe コマースシステムでこれらのフィールドをすべて取得するのではなく、商品カタログシステムから直接フィールドを取り込むことを好みます。 「スキーマ関係」を使用すると、分類または参照の目的で2つのスキーマ間の関係を定義できます。 Lumaは、製品詳細を分類するために関係を使用します。 今からプロセスを開始し、次のレッスンの終わりに完了します。

NOTE
既存のAnalyticsまたはTargetのお客様の場合、スキーマ関係を持つエンティティを分類することは、SAINTの分類に類似するか、商品カタログをRecommendationsにアップロードすることになります

まず、カスタムクラスを使用して、Luma製品カタログのスキーマを作成する必要があります。

  1. スキーマを作成」ボタンを選択します。

  2. スキーマを作成ワークフローで、「その他」オプションを選択します。
    新しいスキーマを作成

  3. クラスを作成」ボタンを選択します

  4. 名前をLuma Product Catalog Class

  5. ビヘイビアー​を​ レコード ​のままにする

  6. 作成」ボタンを選択します。
    新しいクラスを作成

  7. 作成した​ Luma製品カタログクラス ​は、以下のクラステーブルに表示されます。 クラスが選択されていることを確認し、次へ​を選択します。
    新しいクラスが追加されました

  8. スキーマにLuma Product Catalog Schemaという名前を付けます。

  9. 次のフィールドを持つという新しい フィールドグループ Luma Product Catalog field groupを作成します。

    1. productName:製品名:文字列
    2. productCategory:製品カテゴリ:文字列
    3. productColor:製品カラー:文字列
    4. productSku:製品SKU:文字列|必須
    5. productSize:製品サイズ:文字列
    6. productPrice:製品価格:ダブル
  10. スキーマを保存

新しいスキーマはこのようになります。 productSku フィールドが「必須フィールド ​」セクションに一覧表示される方法に注意してください。
製品スキーマ

次のステップは、2つのExperienceEvent スキーマとLuma Product Catalog Schemaの関係を定義することですが、これを行う前に次のレッスンで行う必要がある追加のステップがいくつかあります。

その他のリソース

スキーマが完成したので、IDをマッピング ​できます。

recommendation-more-help
513160b6-bf42-4c58-abdd-4f817b1cccad