[Alpha]{class="badge informative"}

sendEvent (Server SDK)

このページでは、Server SDK sendEvent メソッドについて説明します。 Web SDKについては、sendEventを参照してください。

sendEvent メソッドは、サーバーからAdobeにデータを送信する主な方法です。 パーソナライズされたコンテンツを取得する方法が提供されます。 xdm オブジェクトを使用して、Adobe Experience Platform スキーマにマッピングするデータを送信し、data オブジェクトを使用して他のデータを送信します。

configureが解決した後、現在の訪問者のforRequest ハンドルでsendEventを呼び出します:

const visitor = alloy.forRequest({ request: req });

const result = await visitor.sendEvent({
  type: "commerce.purchases",
  xdm: {
    identityMap: {
      Email: [{ id: "visitor@example.com", primary: true }]
    },
    commerce: {
      purchases: { value: 1 },
      order: {
        purchaseID: "a8g784hjq1mnp3",
        currencyCode: "USD",
        priceTotal: 999.98
      }
    }
  },
  data: {
    loyaltyTier: "gold"
  },
  personalization: {
    decisionScopes: ["order-confirmation-offer"]
  },
  edgeConfigOverrides: {
    com_adobe_analytics: {
      reportSuites: ["examplersid1"]
    }
  }
});

SDKは、各イベントをserver.adobedc.netの認証済みEdge Network Server APIに送信します。 認証を参照してください。

要件 requirements

  • プライマリ ID:各イベントにはxdm.identityMapにプライマリ IDを含める必要があります。 そうでなければ、Edge Networkはその出来事を拒否します。 xdmを参照してください。
  • サイズ: SDKが送信するリクエストは、最大64 KBまでです。 Edge Network API ドキュメントの​ ガードレール ​を参照してください。
  • 同意:訪問者がオプトアウトしたか、defaultConsentが"out"で、訪問者がオプトインしていない場合、sendEventは何も送信せずに空のオブジェクトで解決します。

オプション options

オプション
タイプ
説明
xdm
オブジェクト
イベントのIDなど、XDM スキーマに一致するデータ。
data
オブジェクト
XDM スキーマに一致しないデータ。
type
文字列
イベントタイプ。 xdm.eventTypeのショートカット。
personalization
オブジェクト
要求するパーソナライズの決定。
decisionScopes
文字列の配列
要求する決定範囲。 personalization.decisionScopesの代わりに使用します。
edgeConfigOverrides
オブジェクト
このイベントのデータストリームの上書きのみ。

SDKが認識しないオプションを渡すと、sendEventはUnknown field エラーで拒否します。

サーバーに影響しないオプション no-effect

Server SDKでは、次のWeb SDK オプションを使用できます。これにより、ブラウザー実装とイベント構築コードを共有できます。 ただし、これらはブラウザーに依存し、サーバーには影響しません。

  • renderDecisions: SDKはコンテンツをレンダリングしません。 代わりに結果の提案を返します。
  • personalization.sendDisplayEvent、personalization.includeRenderedPropositions、personalization.defaultPersonalizationEnabled、personalization.decisionContext。
  • advertising.

サーバーにdocumentUnloadingを設定しないでください。 ブラウザーの外では適用されません。 既にIDを持つ訪問者の場合、SDKは、認証済みServer APIではなく、未認証のリクエストとしてedgeDomainにイベントを送信します。 このエンドポイントは応答を返さないため、sendEventは提案を返しません。

非推奨のdatasetIdおよびmergeId オプションは引き続き受け入れられます。 datasetIdの代わりに、edgeConfigOverridesでcom_adobe_experience_platform.datasets.event.datasetIdを使用してください。

結果オブジェクト result

sendEvent メソッドはpromiseを返します。 結果の処理を参照してください。 プロミスが解決すると、結果オブジェクトに次のプロパティを含めることができます。

  • propositions: Edge Networkがpersonalizationで要求したスコープとサーフェスに対して返したパーソナライズ提案の配列。 このプロパティは、パーソナライゼーションをリクエストした場合にのみ存在します。 SDKは、提案をレンダリングしたり、レンダリングされたとしてマークしたりしません。

パーソナライゼーションを要求しない場合、または同意またはonBeforeEventSendが原因でイベントが送信されない場合、結果は空のオブジェクトになります。

const { propositions = [] } = await visitor.sendEvent({
  xdm: {
    eventType: "decisioning.propositionFetch",
    identityMap: {
      Email: [{ id: "visitor@example.com", primary: true }]
    }
  },
  personalization: {
    surfaces: ["web://example.com/home"]
  }
});

Web SDKとは異なり、結果にinferencesまたはdestinationsが含まれていません。

recommendation-more-help
experience-platform-help-collection