スキーマのモデルデータ

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

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

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

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

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

演習を開始する前に、この短いビデオを視聴して、スキーマと Experience Data Model (XDM)について詳しく学びます。

TIP
Experience Platformでのデータモデリングについて詳しくは、Experience Leagueで無償で利用できる XDM を使用したカスタマーエクスペリエンスデータのモデル化コースを受講することをお勧めします。

必要な権限

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

UI を使用したロイヤルティスキーマの作成

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

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

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

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

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

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

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

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

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

スキーマが作成されると、スキーマエディターにリダイレクトされ、スキーマにフィールドを追加できるようになります。 個々のフィールドをスキーマに直接追加したり、フィールドグループを使用したりできます。 個々のフィールドはすべて、引き続きクラスまたはフィールドグループに関連付けられています。 Adobeが提供する業界標準のフィールドグループの大規模なセットから選択するか、独自のフィールドグループを作成できます。 Adobeで独自のデータのモデリングを開始する際には、Experience Platformが提供する業界標準のフィールドグループに慣れておくとよいでしょう。 これらは顧客 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. : Object

    4. フィールドグループ ドロップダウンで、作成した Luma ID プロファイルフィールドグループ を選択します。

      新しいフィールドグループを追加

    5. 適用」を選択します

      新しいフィールドプロパティを適用

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

  1. 最初のフィールド

    1. フィールド名: loyaltyId
    2. 表示名: Loyalty Id
    3. : String
  2. 2 番目のフィールド

    1. フィールド名: crmId
    2. 表示名: CRM Id
    3. : String

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

データタイプの作成

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

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

Luma Loyalty Schema が開いたままの状態で、systemIdentifier オブジェクトを選択して 新しいデータタイプに変換 を選択します。

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

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

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

API を使用した CRM スキーマの作成

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

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

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

  1. Open 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. 本文」タブを開き、次のコードを貼り付けて「送信」を選択し、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 および accept ヘッダーを正しい値に設定したリスト API 呼び出しを使用して取得できます。 また、ユーザーインターフェイスから簡単にアクセスできるものもあります。
  7. 201 Created しい応答が返されます

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

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

NOTE
meta:altId またはスキーマ ID は、CONTAINER_IDtenant に設定し、accept ヘッダー application/vnd.adobe.xdm+json を指定して API リクエスト Schema Registry API > Schemas > Retrieve a list of schemas within the specified container. を実行することによっても取得できます。
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. 「本文」タブを開き、次のコードを貼り付けて「送信」を選択し、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 を追加します。 まず、list API を使用して、新しいフィールドグループの ID を見つける必要があります。

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

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

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

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

  5. パラメーター」タブには、スキーマの $id が引き続き表示されます

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

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

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

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

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

  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. 保存 ボタンを選択します。

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

フィールドグループへのデータタイプの追加

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

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

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

次に、Luma の web サイトデータ用にもう 1 つのスキーマを作成します。 この時点で、スキーマの作成に関するエキスパートになる必要があります。 これらのプロパティを使用して次のスキーマを構築します

プロパティ
クラス
エクスペリエンスイベント
スキーマ名
Luma Web イベントスキーマ
フィールドグループ
AEP Web SDK ExperienceEvent
フィールドグループ
コンシューマーエクスペリエンスイベント

消費者エクスペリエンスイベント」フィールドグループを選択します。 このフィールドグループには、Commerceの詳細 ​ にも含まれていた commerce および productListItems オブジェクトが含まれます。 Indeed ​ コンシューマーエクスペリエンスイベント ​ は、他の標準フィールドグループをいくつか組み合わせたものであり、個別にも使用できます。 AEP Web SDK ExperienceEvent フィールドグループには、他のフィールドグループも含まれています(​ コンシューマーエクスペリエンスイベント ​ の同じフィールドグループの一部を含む)。 幸い、シームレスに溶け合っています。

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

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

Luma は、Commerceの詳細 ​ および ​ コンシューマーエクスペリエンスイベント ​ フィールドグループを使用して、標準の 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:製品価格:Double
  10. スキーマ ​保存)

新しいスキーマは次のようになります。 「​ 必須フィールド ​」セクションに productSku のフィールドがどのように表示されるかを確認します。
製品スキーマ

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

その他のリソース

スキーマが用意できたので、次は ID をマッピングできます。

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