コマンド応答の処理

一部のWeb SDK コマンドでは、組織にとって有用な可能性のあるデータを含むオブジェクトを返すことができます。 必要に応じて、そのデータの処理方法を選択できます。 コマンド応答は、Edge Network データが効果的に動作することを必要とするため、提案や宛先に役立ちます。

コマンド応答では、JavaScript promisesが使用され、promiseの作成時に不明な値のプロキシとして機能します。 値が分かると、promiseは値で「解決」されます。

thenおよびcatch メソッドを使用して、コマンドが成功または失敗したタイミングを判断します。 thenまたはcatchは、その目的が実装にとって重要でない場合は省略できます。

alloy("sendEvent", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    }
  }
}).then(function(result) {
    console.log("The sendEvent command succeeded.");
  })
  .catch(function(error) {
    console.log("The sendEvent command failed.");
  });

コマンドから返されるすべての約束は、result オブジェクトを使用します。 例えば、getLibraryInfo コマンドを使用して、result オブジェクトからライブラリ情報を取得できます。

alloy("getLibraryInfo")
  .then(function(result) {
    console.log(result.libraryInfo.version);
    console.log(result.libraryInfo.commands);
    console.log(result.libraryInfo.configs);
  });

このresult オブジェクトの内容は、使用するコマンドとユーザーの同意の組み合わせによって異なります。 ユーザーが特定の目的に対して同意を与えていない場合、応答オブジェクトには、ユーザーが同意した内容のコンテキストで提供できる情報のみが含まれます。

Web SDK タグ拡張機能を使用したコマンド応答

コマンド応答と同等のWeb SDK タグ拡張機能は、Send event complete イベントを購読するルールです。 次に、提案を適用または 応答を適用 などのアクションをこのルールに含めることができます。

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