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