postEvent
postEvent メソッドを使用して、対話式チャネルで定義されているイベントがあれば実行できます。
function callPostEvent(commandsToExecute, callback) {
var ssId = document.getElementById('pe_sessionId').value;
var ev = document.getElementById('event').value;
var params = document.getElementById('parameters').value;
InteractAPI.postEvent(ssId, ev, getNameValuePairs(params), callback);
}
sessionID: セッション ID を示す文字列。
eventName: イベントの名前を示す文字列。
注: イベントの名前は、対話式チャネルで定義されているイベントの名前と一致する必要があります。この名前の大/小文字は区別されません。eventParameters: イベントとともに渡す必要のあるパラメーターを示す NameValuePairImpl オブジェクト。これらの値はセッション・データに格納されます。
このイベントが再セグメンテーションをトリガーする場合、対話式フローチャートで要求されるすべてのデータをセッション・データで使用できるようにする必要があります。これらの値に、前のアクション (例えば、startSession や setAudience、あるいはプロファイル・テーブルのロードなど) によってデータが設定されていないものがある場合、不足しているそれぞれの値のための eventParameter を含める必要があります。例えば、すべてのプロファイル・テーブルをメモリーにロードするように構成した場合は、対話式フローチャートに必要な一時データの NameValuePair を含める必要があります。
2 つ以上のオーディエンス・レベルを使用していれば、ほとんどの場合、オーディエンス・レベルごとに異なる eventParameters のセットを持ちます。オーディエンス・レベルに正しいパラメーターのセットを確実に選択するために何らかのロジックを含める必要があります。
重要: このイベントがレスポンス履歴への記録を行う場合は、オファーの処理コードを渡す必要があります。NameValuePair の名前を "UACIOfferTrackingCode" として定義する必要があります。イベントごとに処理コードを 1 つのみ渡すことができます。オファー・コンタクトの処理コードを渡さない場合、Interact は、オファーの最後の推奨リストにあるすべてのオファーについて、オファー・コンタクトを記録します。応答の処理コードを渡さない場合、Interact はエラーを返します。
- callback - メソッドが成功した場合、コールバック関数は onSuccess を呼び出します。メソッドが失敗した場合、コールバック関数は onError を呼び出します。
- postEvent で使用されるその他の予約パラメーターとその他のメソッドがいくつかあり、これらについては、このセクションの後半で説明します。
再セグメンテーションや、コンタクトまたはレスポンスの履歴への書き込みの要求は、応答を待機しません。
再セグメンテーションを行っても、現在のオーディエンス・レベルに対する以前のセグメンテーション結果は消去されません。実行する特定のフローチャートを定義するには UACIExecuteFlowchartByName パラメーターを使用できます。getOffers メソッドは、実行する前に、再セグメンテーションが完了するまで待機します。したがって、getOffers 呼び出しの直前に再セグメンテーションをトリガーする postEvent メソッドを呼び出す場合、遅延が生じる可能性があります。
戻り値
ランタイム・サーバーは、以下の属性が設定されたレスポンス・オブジェクトを使用して postEvent に応答します。
- AdvisoryMessages
- ApiVersion
- OfferList
- プロファイル
- セッション ID
- StatusCode