スキーマのモデルデータ

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

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

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

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

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

演習を始める前に、この短いビデオを見て、スキーマとエクスペリエンスデータモデル(XDM)について詳しく学んでください。

必要な権限

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

  • 権限項目​データモデリング > 表示スキーマ​および​スキーマの管理
  • 権限項目​サンドボックス > Luma Tutorial
  • Luma Tutorial Platform製品プロファイルへのユーザーロールアクセス
  • Luma Tutorial Platform製品プロファイルへの開発者ロールのアクセス(API用)

UIを使用した忠誠度スキーマの作成

この演習では、顧客の忠誠度データを取り込むためのルーマ忠誠度スキーマを作成します。

  1. プラットフォームUIに移動し、Sandboxが選択されていることを確認します。

  2. 左のナビゲーションで​スキーマ​をクリックします

  3. 右上の「スキーマを作成」ボタン​をクリックします

  4. ドロップダウンメニューで[XDM個別プロファイル]を選択します。
    OOTBミックスインとのスキーマ

  5. スキーマプロパティ​の画面右側に、表示名 Luma Loyalty Schemaと入力します

追加標準ミックスイン

ミックスインを追加することで、スキーマにフィールドを追加します。 Adobeが提供する業界標準の大量ミックスインから選択するか、独自のミックスインを作成することができます。 Experience Platformで独自のデータをモデリングする開始は、Adobeが提供する業界標準のミックスインに慣れておくことをお勧めします。 可能な限り、顧客AI、Attribution AI、Adobe Analyticsなどの下流のサービスに電力を供給する場合があるので、使用することをお勧めします。

ミックスインを追加するには:

  1. スキーマエディターの左側の​Mixin​セクションで、追加​ボタンをクリックします。

    ミ追加ッシン

  2. ミックスイン​モーダルで、次のミックスインを選択します

    1. 人口統計の詳細
    2. 個人の連絡先の詳細
  3. 行の右側のアイコンをクリックして、Mixin内のフィールドのプレビューを設定できます。

  4. ミックスイン追加」をクリックして、ミックスインをスキーマに追加します
    忠誠度スキーマ追加に対する既製のミックスイン

スキーマの現在の状態を調べるのに少し時間がかかります。 これらの2つのミックスインには、個人とその連絡先の詳細に関連する標準フィールドが追加されています。 これらの2つのミックスインは、自分の会社のデータ用のスキーマを作成する場合に役立ちます。 特定のミックスイン行をクリックするか、ミックスイン名の横のボックスをオンにして、ビジュアライゼーションの変更を確認します。

OOTBミックスインとのスキーマ

メモ

収集しないデータポイント用のフィールドがミックスインによって追加されていても問題ありません。 例えば、「faxPhone」は、Lumaがデータを収集しないフィールドの場合があります。 それでいい。 スキーマでフィールドが定義されているからといって、**​のデータを後で取り込む必要があるとは限りません。

追加カスタムミックスイン

次に、Lumaの忠誠度システムに固有で、標準のミックスインには存在しないフィールドを追加する必要があります。 そのため、独自のミックスインを作成できます。

  1. スキーマエディターの​ミックスイン​セクションで、追加​ボタンをもう一度クリックします

  2. 新しいミックスインを作成」ラジオボタンを選択します。

  3. 表示名をLuma Loyalty Mixinと入力し、ミックスイン​追加ボタンをクリックします
    Mixin追加のフィールド

  4. スキーマエディターの​Mixins​セクションで、新しいMixinの名前をクリックし、Structure​セクションに​+​ボタンが表示されるようにします

  5. 構造」セクションで、スキーマ構造の最上位レベルの​+​をクリックします。 テナントID(アンダースコアのプレフィックスが付いたもの)とフィールド​'New field'​を持つオブジェクトが作成されます。

  6. フィールドプロパティ」セクションに、次のように入力します

    1. フィールド名: loyalty
    2. 表示名: Loyalty
    3. タイプ:オブジェクト
  7. 適用」をクリックして、フィールドを追加します

    Mixin追加のフィールド

  8. 新しく作成したloyaltyオブジェクトを選択し、その横にある​+​ボタンをクリックして、オブジェクト内にフィールドを追加します

  9. 次の値を持つフィールドを作成する

    1. フィールド名: memberSince
    2. 表示名: Member Since
    3. タイプ:日付
  10. 適用」をクリックして、フィールドを追加します

  11. 手順8 ~ 10を繰り返して、loyaltyオブジェクト内にさらに2つのフィールドを追加します。

    1. ポイント
      1. フィールド名: points
      2. 表示名:Points
      3. タイプ:整数
      4. デフォルトは 0 です。
    2. レベル
      1. フィールド名: level

      2. 表示名:Level

      3. 型:String

      4. 列挙:チェック済み。次の定義済みリスト値が使用されます。

        ラベル
        青銅 ブロンズ
        シルバー
        ゴールド
        プラチナ プラチナ
  12. 保存」をクリックして、スキーマの現在の状態を保存します。次のようになります。

    忠誠度ミックスインの完了

次に、別のmixinを作成して、loyaltyIdフィールドと、他のスキーマで使用する他の識別子を含めます。 ミックスインの作成方法に慣れたので、次のフィールドを使ってLuma Identity Profile Mixinという名前のミックスインを作成します。

  1. システム識別子
    1. フィールド名: systemIdentifier
    2. 表示名:System Identifier
    3. タイプ:オブジェクト
  2. 忠誠度ID(systemIdentifierオブジェクトに格納)
    1. フィールド名: loyaltyId
    2. 表示名:Loyalty Id
    3. 型:String
  3. CRM ID(systemIdentifierオブジェクトに格納)
    1. フィールド名: crmId
    2. 表示名: CRM Id
    3. 型:String

新しいミックスインは次のようになります。 「保存」ボタンをクリックしてスキーマを保存します。ただし、次の演習ではスキーマを開いたままにします。
忠誠度ミックスインの完了

データタイプの作成

新しいLuma Loyalty Mixinなどのミックスインは他のスキーマで再利用でき、複数のシステムで標準的なデータ定義を適用できます。 ただし、ミックスインは同じクラス​を共有するスキーマでのみ​再利用できます。この場合はXDMプロファイルクラスです。

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

Luma Loyalty Schemaを開いたまま、systemIdentifierオブジェクトを選択し、「新しいデータ型に変換」をクリックします

忠誠度ミックスインの完了

このデータタイプは、レッスンの後半で使用します。

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

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

メモ

APIの演習をスキップしたい場合は、前回使用したUIメソッドを使用して次のスキーマを作成できます。

  1. XDM個々のプロファイルクラスを使用します
  2. Luma CRM Schemaという名前を付けます。
  3. 次のミックスインを使用します。人口統計の詳細、個人の連絡先の詳細、およびLuma IdentityプロファイルMixin

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

  1. Open Postman

  2. 過去24時間以内に呼び出しを行っていない場合、認証トークンの有効期限はおそらく切れています。 Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token​の呼び出しを開き、​送信」をクリックして、Postmanのレッスンと同様に、新しいJWTとアクセストークンをリクエストします。

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

  4. Schema Registry API > Schemas > Create a new tenant-defined schema​の呼び出しを開く

  5. ボディ」タブを開き、次のコードを貼り付けて、「送信」をクリックしてAPI呼び出しを行います。 これにより、Loyaltyスキーマで使用されたのと同じXDM Individual Profile基本クラスを使用して新しいスキーマが作成されます。

    {
      "type": "object",
      "title": "Luma CRM Schema",
      "description": "Schema for CRM data of Luma Retail ",
      "allOf": [{
        "$ref": "https://ns.adobe.com/xdm/context/profile"
      }]
    }
    
    メモ

    標準クラスおよびミックスインオブジェクトの名前空間参照(これ以降のコードサンプル)は、スキーマレジストリAPI >スキーマ>指定したコンテナ内のすべてのクラスをリストといったリストAPI呼び出しを使用して取得できます。 または、をに Schema Registry API > Mixins > Return a list of all mixins within the specified container. 設定し、を受け入れるヘッダ CONTAINER_ID を使用 global application/vnd.adobe.xdm+jsonします。

  6. 201 Created応答を受け取る必要があります

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

  8. 新しいスキーマはUIに表示されますが、ミックスインは表示されません
    CRMスキーマの作成

メモ

meta:altIdまたはスキーマIDは、コンテナ_ID​をtenantに設定し、受け入れヘッダーapplication/vnd.adobe.xdm+jsonを持つAPIリクエスト​Schema Registry API > Schemas > List all schemas within the specified container.​を取得することでも取得できます。

ヒント

この問い合わせの一般的な問題と、考えられる修正:

  • 認証トークンなし:IMSを実行します。JWT Generate + Auth via User Token​呼び出しを使用して新しいトークンを生成
  • 401: Not Authorized to PUT/POST/PATCH/DELETE for this path : /global/schemas/:環境変数 コンテナ_ 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 > Modify or update part of a tenant-defined schema​の呼び出しを開きます。

  2. Params」タブに、前の応答のmeta:altId値を$idとして貼り付けます

  3. 「Body」タブを開き、次のコードを貼り付けて、「Send」をクリックしてAPI呼び出しを行います。 これにより、Luma CRM Schemaに標準のミックスインが追加されます。

    [{
        "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に表示されます

    標準ミックスインが追加されました

追加カスタムMixin

次に、IDプロファイルミックスインをスキーマに追加します。 前回の呼び出しのリクエストの本文を見て、カスタムミックスインに使う$ref値を知るにはどうすればよいでしょうか。 この値は、リストAPIを使用して確認できます。

  1. Schema Registry API > Mixins > Return a list of all mixins within the specified container.​の呼び出しを開く

  2. Headers」タブで、Accept​ヘッダーをapplication/vnd.adobe.xed-id+jsonに更新します

  3. 送信」ボタンをクリックして、アカウント内のすべてのカスタムミックスインのリストを取得します

  4. Luma Identity Profile Mixin$id値を取り込む(このスクリーンショットの値とは違う)
    ミックスインのリストを取得する

  5. 次に、Schema Registry API > Schemas > Modify or update part of a tenant-defined schema​の呼び出しを再び開きます。

  6. 「Params」タブには、スキーマの$idが引き続き含まれている必要があります

  7. ボディ」タブを開き、次のコードを貼り付けます。$ref値は独自のLuma Identity Profile Mixin$idに置き換えます。

    [{
      "op": "add",
      "path": "/allOf/-",
      "value": {
        "$ref": "REPLACE_WITH_YOUR_OWN_MIXIN_ID"
      }
    }]
    
  8. 送信」をクリックします

    IDミックスインの追加

UIをチェックしてミックスインがスキーマに追加されたことを確認します。または、賞与点については、Postmanコレクションの​Lookup a specific schema by its unique ID​呼び出しを使用してスキーマ内のミックスインのリスト方法を理解できるかどうかを確認します。

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

次に、Lumaのオフライン購入データ用に​XDM ExperienceEvent​クラスを基にしてスキーマを作成します。 スキーマエディタのUIに慣れているので、説明のスクリーンショット数を減らします。

  1. XDM ExperienceEvent​クラスLuma Offline Purchase Events Schemaを使用してスキーマを作成します

  2. これを保存し、XDMプロファイルクラススキーマとの基本構造の違いを確認します。 XDM ExperienceEventクラスを使用する場合は、_idとtimestampが必須フィールドです。

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

次に、標準のミックスインとカスタムのミックスインを追加します。

追加標準ミックスイン

コマース の詳細は、共通注文の詳細を取り込むための標準ミックスインです。スキーマに追加してください。 内部の物体を調べるのに数分かかります。

追加カスタムMixin

次に、新しいスキーマにIDを追加します。

  1. ミックスイン​セクションで、追加​ボタンをクリックします。
  2. Luma Identity Profile Mixin を検索。利用できないことに注意してください。 ミックスインはクラスに固有のものであり、このスキーマではXDM Individualプロファイルクラスの代わりにXDM ExperienceEventクラスを使用します。 データ型のおかげで、同じ正確なIDフィールドを含むXDM ExperienceEventクラス用の新しいミックスインを追加します
  3. 新しいミックスインを作成」ラジオボタンを選択します
  4. 表示名​をLuma Identity ExperienceEvent Mixinとして入力し、ミックスイン​追加ボタンをクリックします
  5. 新しいフィールドを追加できるように、+​ボタンが​構造​セクションに表示されていることを確認します
  6. 構造​セクションで、スキーマの最上位レベルの​+​をクリックします
  7. フィールド名​として、systemIdentifierと入力します。
  8. 表示名​として、System Identifierと入力します。
  9. タイプ」として、「システム識別子」を選択します。これは、前に作成したカスタムデータタイプです
  10. 適用」ボタンをクリックします
  11. 保存」ボタンをクリックして、スキーマを保存します

データタイプによって、すべてのフィールドが追加されたことに注意してください。

mixin追加のデータ型

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

次に、ルマのWebサイトデータのスキーマをもう1つ追加します。 この時点で、スキーマを作る専門家になる必要があります。 これらのプロパティを使用して次のスキーマを作成します

プロパティ
スキーマ名 ルミナンスウェブイベントスキーマ
クラス XDM ExperienceEvent
Mixin AEP Web SDK ExperienceEventミックスイン
Mixin コンシューマーエクスペリエンスイベントミックスイン

スキーマエディターの​コンポジション​セクションにある​コンシューマエクスペリエンスイベントミックスイン​をクリックします。 このミックスインには、コマースの詳細​にも含まれていたcommerceオブジェクトとproductListItemsオブジェクトが含まれています。 実際、コンシューマエクスペリエンスイベントミックスイン​は、別々に利用できる他の標準ミックスインの組み合わせです。

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

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

エクスペリエンスイベントのコマースの詳細とコンシューマーエクスペリエンスのイベントミックスインを使用して、Lumaは標準のproductListItemsデータ型を使用して、製品関連のイベントの詳細をレポートします。 ただし、プラットフォームに送信する製品の詳細フィールドもあります。 Lumaでは、POS(販売時点管理)システムとeコマースシステムのこれらのフィールドをすべて取り込み、先ほど作成したスキーマを使用してプラットフォームに取り込む代わりに、これらのフィールドを商品カタログシステムから直接取り込む方が望ましいです。 プラットフォームの「関係スキーマ」を使用すると、分類の目的で2つのスキーマ間の関係を定義できます。 Lumaは、関係スキーマを使用して製品の詳細を分類します。 ここでプロセスを開始し、次のレッスンの最後に完了します。

メモ

既存のAnalyticsまたはターゲットのお客様の場合、関係スキーマを使用したエンティティの分類は、SAINTの分類や、Recommendationsの商品カタログのアップロードと似ています

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

  1. スキーマを作成」ボタンをクリックし、ドロップダウンから「参照」オプションを選択します
    新しいスキーマの作成
  2. 新しいクラスを作成」ラジオボタンを選択します
  3. Luma Product Catalog Classという名前を付けます。
  4. 動作​は​レコード​のままにします
  5. クラスを割り当て」ボタンをクリックします
    新しいクラスの作成
  6. スキーマにLuma Product Catalog Schemaという名前を付けます(クラス名を更新せずに、正しいフィールドを更新してください)
  7. 追加次のフィールドを持つLuma Product Catalog Mixinという新しいミックスイン:
    1. productName:製品名:文字列
    2. productCategory:製品カテゴリ:文字列
    3. productColor:製品の色:文字列
    4. productSku:製品SKU:文字列 |必須
    5. productSize:製品サイズ:文字列
    6. productPrice:製品価格:重複
  8. スキーマの保存

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

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

その他のリソース

これでスキーマができたので、IDをマッピングできます!

このページ