机器人会话状态代码片段

此代码片段适用于具有 botSessionState 属性的操作,例如 Textbot ExchangeVoicebot Exchange(从这里开始,这两个操作都简称为 Exchange)。必须正确配置 botSessionState 属性,您的虚拟坐席关闭 代替现场人工坐席处理客户交互的软件应用程序。才能按预期工作。

虚拟坐席提供程序会为联系人和虚拟坐席之间的每次对话分配一个唯一的标识符。该标识符可防止在对话的每一个回合中都创建一个新会话。该提供程序在对话开始时创建标识符,并将其传递给包含首个响应的脚本。脚本会将标识符存储在 Exchange 操作的此操作中命名的变量中。然后,它将标识符传递给 botSessionState 属性。

您的脚本必须正确设置才能使用机器人会话状态标识符。使用 Exchange 操作时,您的脚本中至少需要该操作的两个实例。Exchange 操作中的 botSessionState 属性必须以不同方式配置:

  • 第一个 Exchange 操作位于脚本开头的 Begin 操作之后。在该操作实例中,botSessionState 属性必须留空。必须使用您希望脚本存储标识符的变量名称配置 botSessionStateVarName (out) 属性。
  • 第二个 Exchange 操作位于脚本的后面。在该操作实例中,必须使用 botSessionState 中使用的变量配置 botSessionState 属性。该变量必须包含 JSON 格式的机器人会话状态标识符。必须使用您希望脚本存储标识符的变量名称配置 botSessionStateVarName (out) 属性。如果您的脚本具有三个或更多 Exchange 操作,则除第一个操作之外的所有操作均应按此方式配置。

所有虚拟坐席都需要进行此配置。

将机器人会话状态标识符转换为 JSON 格式

必须将 botSessionStateVarName (out) 属性中使用的变量内容转换为 JSON 格式,并将其传递到脚本中第二个 Exchange 操作的 botSessionState 属性中。为此,您可以在 Snippet 操作中包含代码,也可以直接配置属性。这两种方法都是可以接受的。不过,在 Snippet 中创建一个变量来保存转换后的对象的好处是,可以更容易地看到转换在哪里进行。

使用 Snippet 操作

  1. 使用保存会话状态标识符的变量名称配置 Exchange 操作的 botSessionStateVarName (out) 属性。例如,botSessionState
  2. 在您的脚本中将以下行添加到位于 Exchange 操作之前的 Snippet 中:

    ASSIGN botSessionStateOut = botSessionStateOut.asJSON()

    使用您在脚本中使用的变量的名称。

  3. 使用 ASSIGN 语句中使用的变量的名称配置 Exchange 操作中的 botSessionState 属性。例如,botSessionStateOut

在属性中转换

如果在 botSessionState 属性中转换变量,则在 asJSON() 函数中使用 botSessionStateVarName (out) 变量。例如:

  • botSessionStateVarName (out)botSessionState
  • botSessionState: botSessionState.asJSON()