スキーマ内のモデルデータ
このレッスンでは、Lumaのデータをスキーマにモデル化します。 これはチュートリアルで最も長いレッスンの1つなので、水を入れてバックルアップしてください!
標準化と相互運用性は、Adobe Experience Platform の背後にある重要な概念です。Experience Data Model (XDM)とは、顧客体験データを標準化し、顧客体験管理のスキーマを定義するための取り組みです。
XDM は、デジタルエクスペリエンスを強化するために設計され、公式に文書化された仕様です。Platform サービスとの通信に使用するあらゆるアプリケーションに共通の構造と定義を提供します。XDM 標準に準拠することで、すべての顧客体験データを共通の表現に組み込み、より迅速かつ統合的な方法でインサイトを得ることができます。顧客のアクションから貴重なインサイトを得たり、セグメントを使用して顧客のオーディエンスを定義したり、パーソナライゼーションを目的として顧客属性を表すことができます。
XDM は、Experience Platform が提供する Adobe Experience Cloud が、適切なタイミングに、適切なチャネル経由で、適切な相手へと適切なメッセージを届けることを可能にする、基本的なフレームワークです。Experience Platform の基礎となる XDM システムは、エクスペリエンスデータモデルスキーマを Platform サービスで操作できるようにします。
データアーキテクトは、このチュートリアル以外でスキーマを作成する必要がありますが、データエンジニアは、データアーキテクトが作成したスキーマと緊密に連携します。
この演習を開始する前に、この短いビデオで、スキーマとエクスペリエンスデータモデル(XDM)について詳しく説明します。
権限が必要です
権限の設定 レッスンでは、このレッスンを完了するために必要なすべてのアクセス制御を設定します。
UIによるロイヤルティスキーマの作成
この演習では、Lumaのロイヤルティデータのスキーマを作成します。
-
Platform ユーザーインターフェイスに移動し、サンドボックスが選択されていることを確認します。
-
左側のナビゲーションで スキーマ に移動します。
-
右上の「スキーマを作成」ボタンを選択します。
-
「スキーマを作成」ワークフローで、個々の顧客の属性(ポイント、ステータスなど)をモデル化するので、「個人プロファイル」をスキーマの基本クラスとして選択します。
-
「次へ」を選択します。
-
「
Luma Loyalty Schemaスキーマ表示名」テキストフィールドに「」と入力します。 以下のキャンバスでは、選択したクラスによって提供される基本スキーマ構造を確認および検証することもできます。 -
「完了」を選択して、スキーマを作成します。
標準フィールドグループの追加
スキーマを作成すると、スキーマエディターにリダイレクトされ、スキーマにフィールドを追加できます。 個々のフィールドをスキーマに直接追加することも、フィールドグループを使用することもできます。 すべての個々のフィールドは、引き続きクラスまたはフィールドグループに関連付けられていることに注意してください。 Adobeが提供する業界標準の大規模なフィールドグループから選択するか、独自のフィールドグループを作成できます。 Experience Platformで独自のデータのモデリングを開始する際は、Adobeが提供する業界標準のフィールドグループに慣れておくとよいでしょう。 可能な限り、Customer AI、Attribution AI、Adobe Analyticsなどのダウンストリームサービスを強化する場合があるため、これらのツールを使用することがベストプラクティスとなります。
独自のデータを扱う場合、重要なステップは、Platformでキャプチャする独自のデータと、そのデータをどのようにモデル化するかを決定することです。 この大きなトピックについては、プレイリスト 顧客体験データをXDMでモデル化するで詳しく説明しています。 このチュートリアルでは、事前に決定されたスキーマの実装について説明します。
フィールドグループを追加するには:
-
「フィールドグループ」見出しの下にある「追加」を選択します。
-
フィールドグループを追加 モーダルで、次のフィールドグループを選択します。
- 名前や生年月日などの基本的な顧客データのデモグラフィックの詳細
- 電子メールアドレスや電話番号などの基本的な連絡先の詳細については、個人連絡先の詳細
-
行の右側にあるアイコンを選択すると、フィールドグループに投稿されたフィールドをプレビューできます。
-
業界固有のフィールドグループを表示するには、業界 > 小売 ボックスをオンにします。
-
「ロイヤルティの詳細」を選択して、ロイヤルティプログラムのフィールドを追加します。
-
フィールドグループを追加を選択して、3つのフィールドグループをすべてスキーマに追加します。
時間をかけて、スキーマの現状を探ります。 フィールドグループには、人物、連絡先の詳細、ロイヤルティプログラムのステータスに関連する標準フィールドが追加されています。 これらの2つのフィールドグループは、自社データのスキーマを作成する際に役立ちます。 特定のフィールドグループ行を選択するか、フィールドグループ名の横にあるボックスをオンにして、ビジュアライゼーションがどのように変化するかを確認します。
スキーマを保存するには、保存を選択します。
カスタムフィールドグループの追加
次に、カスタムフィールドグループを作成します。
ロイヤルティフィールドグループにはloyaltyID フィールドが含まれていますが、Lumaでは、スキーマ全体の一貫性を確保するために、すべてのシステム識別子を1つのグループで管理したいと考えています。
フィールドグループは、スキーマワークフローで作成する必要があります。 以下のいずれかを実行できます。
- 最初にスキーマに新しいカスタムフィールドを追加し、次にカスタムフィールドグループを作成するか、
- まずカスタムフィールドグループを作成し、そこにフィールドを追加します。
このチュートリアルでは、まずカスタムフィールドグループを作成します。
フィールドグループを作成するには:
- 「スキーマフィールドグループ」見出しの「追加」を選択します
- 新しいフィールドグループを作成を選択
Luma Identity profile field groupを 表示名 として使用system identifiers for XDM Individual Profile classを 説明 として使用- フィールドグループを追加を選択
新しい空のフィールドグループがスキーマに追加されます。 + ボタンを使用すると、階層内の任意の場所に新しいフィールドを追加できます。 この場合、ルートレベルにフィールドを追加します。
-
スキーマの名前の横にある + を選択します。 これにより、テナント ID名前空間の下に新しいフィールドが追加され、カスタムフィールドと任意の標準フィールドとの間の競合を管理できます。
-
フィールドプロパティ サイドバーで、新しいフィールドの詳細を追加します。
- フィールド名:
systemIdentifier - 表示名:
System Identifier - タイプ: オブジェクト
- フィールドグループ ドロップダウンで、作成した Luma ID プロファイルフィールフィールドグループ を選択します。
- 適用を選択
- フィールド名:
次に、systemIdentifier オブジェクトの下に2つのフィールドを追加します。
-
最初のフィールド
- フィールド名:
loyaltyId - 表示名:
Loyalty Id - Type: 文字列
- フィールド名:
-
2番目のフィールド
- フィールド名:
crmId - 表示名:
CRM Id - Type: 文字列
- フィールド名:
新しいフィールドグループは次のようになります。 「保存」ボタンを選択してスキーマを保存しますが、次の演習のためにスキーマを開いたままにしておきます。
データタイプの作成
新しいLuma Identity profile field groupなどのフィールドグループは、他のスキーマで再利用できるため、複数のシステムにわたって標準データ定義を適用できます。 ただし、クラスを共有するスキーマ内ののみ再利用できます(この場合はXDM個人プロファイルクラス)。
データタイプは、複数のクラス をまたいでスキーマで再利用できる別のマルチフィールド構造です。 新しいsystemIdentifier オブジェクトをデータ型に変換します。
Luma Loyalty Schemaを開いたまま、systemIdentifier オブジェクトを選択し、新しいデータタイプに変換を選択します
スキーマから キャンセル し、データタイプ タブに移動すると、新しく作成したデータタイプが表示されます。 このデータタイプは、レッスンの後半で使用します。
API経由でのCRM スキーマの作成
次に、APIを使用してスキーマを作成します。
- 個人プロファイル クラスの使用
- 名前を
Luma CRM Schema - デモグラフィックの詳細、個人の連絡先の詳細、Luma ID プロファイルフィールドグループのフィールドグループを使用します
まず、空のスキーマを作成します。
-
Postmanを開
-
アクセストークンがない場合は、リクエスト OAuth: Request Access Tokenを開き、送信を選択して新しいアクセストークンをリクエストします。
-
環境変数を開き、CONTAINER_IDの値を
globalからtenantに変更します。 スキーマの作成など、Platformで独自のカスタム要素を操作する場合は、tenantを使用する必要があります。 -
保存を選択
に変更します
-
リクエスト Schema Registry API > Schemas > Create a new custom schema.を開きます
-
「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呼び出しを使用し、正しい値に設定されたヘッダーを受け入れることで取得できます。 ユーザーインターフェイスで簡単にアクセスできるものもあります。 -
201 Created件の応答が返されます -
応答本文から
meta:altIdをコピーします。 後で別の演習で使用します。
-
新しいスキーマは、ユーザーインターフェイスでは表示されますが、フィールドグループは表示されません
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を行うことでも取得できます。- 認証トークンがありません: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でユーザー権限を確認します
標準フィールドグループの追加
次に、フィールドグループをスキーマに追加します。
-
Postmanで、リクエスト Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.を開きます
-
「パラメーター」タブに、以前の応答の
meta:altId値をSCHEMA_IDとして貼り付けます -
「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" } } ] -
応答のステータスは200 OKで、フィールドグループはUIのスキーマの一部として表示されます
カスタムフィールドグループを追加
次に、Luma Identity profile field groupをスキーマに追加します。 まず、リスト APIを使用して、新しいフィールドグループのIDを見つける必要があります。
-
リクエスト Schema Registry API > Field groups > Retrieve a list of field groups within the specified container.を開きます
-
アカウント内のすべてのカスタムフィールドグループのリストを取得するには、送信 ボタンを選択します
-
$idのLuma Identity profile field group値を取得します(このスクリーンショットの値とは異なります)
-
リクエスト Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.をもう一度開きます
-
パラメーター タブには、スキーマの
$idが残っている必要があります -
「Body」タブを開き、次のコードを貼り付けて、
$ref値を自分の$idのLuma Identity profile field groupに置き換えます。code language-json [{ "op": "add", "path": "/allOf/-", "value": { "$ref": "REPLACE_WITH_YOUR_OWN_FIELD_GROUP_ID" } }] -
送信を選択
API応答とインターフェイスの両方を確認して、フィールドグループがスキーマに追加されたことを確認します。
オフライン購入イベントスキーマの作成
次に、Lumaのオフライン購入データ用のExperience Event クラスに基づいてスキーマを作成します。 スキーマエディターのユーザーインターフェイスに慣れてきたので、次の手順でスクリーンショットの数を減らします。
- Experience Event クラスを使用してスキーマを作成します。
- スキーマに
Luma Offline Purchase Events Schemaという名前を付けます。 - 標準フィールドグループ Commerceの詳細を追加して、共通の注文の詳細を取得します。 中のオブジェクトを探索するのに数分を費やしてください。
Luma Identity profile field groupを検索します。 利用できません。 フィールドグループはクラスに関連付けられているので、このスキーマには別のクラスを使用しているので、使用できません。 ID フィールドを含むXDM ExperienceEvent クラスの新しいフィールドグループを追加する必要があります。 データタイプを確認するだけなので非常に簡単です!- 「新しいフィールドグループを作成」ラジオボタンを選択
- 表示名を
Luma Identity ExperienceEvent field groupとして入力し、フィールドグループを追加 ボタンを選択します - スキーマ名の横にある「+」を選択します。
- フィールド名として、
systemIdentifierと入力します。 - 表示名として、
System Identifierと入力します。 - タイプとして、以前に作成したカスタムデータタイプである システム識別子 を選択します。
- フィールドグループとして、Luma Identity ExperienceEvent フィールドグループを選択します。
- 「適用」ボタンを選択します。
- 「保存」ボタンを選択します。
データタイプがすべてのフィールドを追加した方法に注意してください。
また、Class見出しの下の XDM ExperienceEvent を選択し、このクラスによって提供されるフィールドの一部を調べます。 XDM ExperienceEvent クラスを使用する場合は、_id フィールドとタイムスタンプフィールドが必要です。これらのフィールドは、このスキーマを使用する際に取り込むレコードごとに入力する必要があります。
Web イベントスキーマの作成
次に、Lumaのweb サイトデータ用にもう1つスキーマを作成します。 この時点で、あなたはスキーマの作成の専門家になるはずです。 これらのプロパティを使用して次のスキーマを構築します
「消費者エクスペリエンスイベント」フィールドグループを選択します。 このフィールドグループには、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は、製品詳細を分類するために関係を使用します。 今からプロセスを開始し、次のレッスンの終わりに完了します。
まず、カスタムクラスを使用して、Luma製品カタログのスキーマを作成する必要があります。
-
「スキーマを作成」ボタンを選択します。
-
スキーマを作成ワークフローで、「その他」オプションを選択します。
-
「クラスを作成」ボタンを選択します
-
名前を
Luma Product Catalog Class -
ビヘイビアーを レコード のままにする
-
「作成」ボタンを選択します。
-
作成した Luma製品カタログクラス は、以下のクラステーブルに表示されます。 クラスが選択されていることを確認し、次へを選択します。
-
スキーマに
Luma Product Catalog Schemaという名前を付けます。 -
次のフィールドを持つという新しい フィールドグループ
Luma Product Catalog field groupを作成します。- productName:製品名:文字列
- productCategory:製品カテゴリ:文字列
- productColor:製品カラー:文字列
- productSku:製品SKU:文字列|必須
- productSize:製品サイズ:文字列
- productPrice:製品価格:ダブル
-
スキーマを保存
新しいスキーマはこのようになります。 productSku フィールドが「必須フィールド 」セクションに一覧表示される方法に注意してください。
次のステップは、2つのExperienceEvent スキーマとLuma Product Catalog Schemaの関係を定義することですが、これを行う前に次のレッスンで行う必要がある追加のステップがいくつかあります。