处理会话数据
在您通过 startSession 方法启动会话时,会话数据将装入到内存中。在整个会话中,您可以读取和写入会话数据(这是静态概要文件数据的超集)。此会话包含以下数据:
*
*
*
*
在您调用 endSession 方法或者 sessionTimeout 时间经过之后,所有会话数据可用。一旦会话结束,未显式保存到联系或响应历史记录或某些其他数据库表的所有数据都将丢失。
数据将存储为一组名称/值对。如果数据是读取自数据库表,那么名称为表的列。
您可以在您使用 Interact API 时创建这些名称/值对。您不需要在全局区域中声明所有名称/值对。如果您将新的事件参数设置为名称/值对,那么运行时环境会将名称/值对添加到会话数据。例如,如果您将事件参数与 postEvent 方法配合使用,那么运行时环境会将事件参数添加到会话数据,即使事件参数在概要文件数据中不可用。此数据仅存在于会话数据中。
您可以随时覆盖会话数据。例如,如果客户概要文件的一部分包含 creditScore,那么您可以使用定制类型 NameValuePair 来传递事件参数。在 NameValuePair 类中,您可以使用 setNamesetValueAsNumeric 方法来更改该值。名称需要匹配。在会话数据中,名称不区分大小写。因此,名称 creditscoreCrEdItScOrE 都将覆盖 creditScore
仅保留写入到会话数据的最后数据。例如,startSession 将为 lastOffer 的值装入概要文件数据。postEvent 方法将覆盖 lastOffer。然后,另一个 postEvent 方法将覆盖 lastOffer。运行时环境仅在会话数据中保留由第二个 postEvent 方法写入的数据。
在会话结束时,数据将丢失,除非您有特别考虑(例如,在交互式流程图中使用快照进程以将数据写入到数据库表)。如果您计划使用快照进程,切记名称需要符合数据库的限制。例如,如果仅允许您为列的名称输入 256 个字符,那么名称/值对的名称不应超过 256 个字符。