このページでは、Server SDK sendEvent メソッドのxdmについて説明します。 Web SDKについては、xdmを参照してください。
xdm オブジェクトには、Experience Data Model (XDM) スキーマと一致する構造でAdobeに送信するデータが含まれています。 このオブジェクトで設定したフィールドは、データストリームがデータを送信するデータセットのスキーマ内のフィールドに直接マッピングされます。
このオブジェクトの階層が、設定されたデータセットのスキーマと一致していることを確認します。 xdm オブジェクトとdata オブジェクトの両方を同じsendEvent呼び出しに含めることができます。
次の例では、Commerce詳細スキーマフィールドグループ を使用しています。
await visitor.sendEvent({
xdm: {
eventType: "commerce.productViews",
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
},
commerce: {
productViews: { value: 1 }
},
productListItems: [
{ SKU: "HT105", name: "Large field hat" },
{ SKU: "HT104", name: "Small field hat" }
]
}
});
プライマリ IDを含める primary-identity
Server SDKが送信する各イベントには、プライマリ IDをxdm.identityMapに含める必要があります。 ブラウザーでは、Edge NetworkがCookieから訪問者を識別できます。 サーバー間のリクエストでは、イベント自体にIDが必要です。 イベント内にプライマリとしてマークされているIDがない場合、Edge Networkはエラーコード EXEG-0306-400でイベントを拒否し、sendEventは拒否します。
1つのIDにprimary: trueを設定:
xdm: {
identityMap: {
Email: [
{ id: "visitor@example.com", primary: true }
],
CRMID: [
{ id: "1234567" }
]
}
}
identityMapの各キーは、組織で定義されているID名前空間であり、各値はその名前空間内のIDの配列です。 詳しくは、IdentityMapの使用を参照してください。
SDKが提供する automatic
SDKは、すべてのイベントにxdm.implementationDetailsを追加し、リクエストのReferer ヘッダーからxdm.web.webPageDetails.URLを追加できます。 xdm.web.webPageDetails.URLも設定した場合は、値が使用されます。 コンテキストと転送ヘッダーを参照してください。
xdm.eventTypeとtype オプションの両方を設定した場合、xdm.eventTypeの値が使用されます。