セッション・データを使用した作業

startSession メソッドを使用してセッションを開始すると、セッション・データがメモリーにロードされます。そのセッション全体を通して、そのセッション・データ (静的プロファイル・データのスーパーセット) の読み取りと書き込みを行うことができます。

セッションには以下のデータが含まれます。

セッション・データはすべて、endSession メソッドを呼び出すか、sessionTimeout の時間が経過するまで使用可能です。セッションが終了すると、コンタクトまたはレスポンスの履歴やその他のデータベース表に明示的に保存されていないデータは、すべて失われます。

データは、名前と値のペアのセットとして保管されます。データがデータベース表から読み取られる場合、名前はそのテーブルの列です。

これらの名前と値のペアは、Interact API を使用した作業を行う中で作成できます。すべての名前と値のペアをグローバル域で宣言する必要はありません。新しいイベント・パラメーターを名前と値のペアとして設定すると、ランタイム環境ではその名前と値のペアがセッション・データに追加されます。例えば、postEvent メソッドでイベント・パラメーターを使用すると、プロファイル・データでそのイベント・パラメーターを使用できなかった場合でも、ランタイム環境ではそのイベント・パラメーターがセッション・データに追加されます。このデータは、セッション・データ内にのみ存在します。

セッション・データはいつでも上書きすることができます。例えば、顧客プロファイルの一部に creditScore が含まれる場合には、カスタム・タイプ NameValuePair を使用してイベント・パラメーターに渡すことができます。NameValuePair クラスでは、setName メソッドおよび setValueAsNumeric メソッドを使用して、値を変更することができます。名前は一致している必要があります。セッション・データ内の名前は、大文字小文字を区別されません。つまり、名前 creditscore または CrEdItScOrE は、どちらも creditScore を上書きします。

そのセッション・データに最後に書き込まれたデータのみが保持されます。例えば、startSession は、lastOffer の値のプロファイル・データをロードします。postEvent メソッドは lastOffer を上書きします。その後、2 番目の postEvent メソッドが lastOffer を上書きします。ランタイム環境では、2 番目の postEvent メソッドによってセッション・データ内に書き込まれたデータのみが保持されます。

セッションが終了すると、データは失われます。ただし、対話式フローチャート内でスナップショット・プロセスを使用してデータベース表にデータを書き込むなど、特別に考慮すべきことを行った場合は除きます。スナップショット・プロセスの使用を計画している場合、名前はご使用のデータベースの制限を満たしている必要がありますので注意してください。例えば、列の名前に 256 文字までしか使用できない場合には、その名前と値のペアの名前も 256 文字を超えないようにする必要があります。