脚本输入和输出变量
字符串、数字和布尔变量具有 输入 和 输出 属性。 当变量的 Input 属性为 “是” 时,其值可以由外部数据源设置。 当变量的 Output 属性为 “是” 时,它的值将保存在对话对象上,并且可以在调用结束后以编程方式检索。 这些属性不是互斥的。 可以为变量启用其中一种或两者。
启用了这些属性的变量称为输入变量、输出变量或两者兼而有之。 以下是理解这些术语的方法:
-
如果变量的 In put 属性为 Yes, 则变量为输入变量。 它的值可以从 外部来源 输入,例如 Architect 调用流程。
-
Output 属性为 Yes 的变量是 输出变量。 脚本运行时,分配给变量的任何值都会保存下来,以便在脚本之外使用。 脚本执行时,它的值会 输出到 外部存储器。
-
由于这两个属性都可以设置为 Yes,因此变量既可以是输入变量,也可以是输出变量。
- 将 List 变量用作输入时,对话中的值将以逗号分隔。
- 将 List 变量用作输出时,其列表将在对话中用逗号连接在一起。
不能使用动态变量作为输入或输出变量。
对于新变量,输入和输出都默认为 no。 如果你有使用变量的现有脚本,那么 Genesys Cloud 会将这些变量的输入和输出设置为 yes,以便脚本向后兼容。
输出属性
使用 Output 属性,可以存储脚本变量的值,以便在通话结束后使用,而无需设置数据操作或向联系人列表添加补充列。 当 “输出” 设置为 “是” 时,此脚本变量的值将写入对话对象。 客户的外部流程可以通过编程方式检索其节省的价值。 要使用变量作为输出变量,请启用 Output。 当此变量的值在执行脚本期间发生更改时,会话对象将在 3 秒内更新。
对话对象中的键/值对
变量作为键/值对写入对话对象。 您可以使用平台 API 的 对话端点检索它们。 使用变量名称作为键查询对话的参与者属性对象:
"participants": [ { "attributes": { "scripterOutputVariable1": "value", "scripterOutputVariable2": "value" }, ],
- 如果仅输出该变量,则 Genesys Cloud 会将该变量的值应用于代理参与者,除非它在另一个参与者身上看到该变量数据;在这种情况下,为了使数据保持同步,Genesys Cloud 会更新另一位参与者。
- 如果变量既是输入又是输出变量,则脚本会将数据附加到找到数据的参与者,在大多数情况下,参与者是客户参与者。 否则,默认位置为座席参与者。
例 如,如果 数 据 通过 输入变量 来自 Architect, 则 架构师将 可变数据放 在 客户、参与者 和 未来 对 该 变量的更新 会 覆盖 客户参与者。
数据操作 vs. 输出变量
从脚本中保存数据的外部数据操作方法适用于需要输出复杂信息然后通过存储过程将其路由到数据库的客户。 Output 属性提供了一种更简单的方法来保存在脚本中收集的数据。
-
当 “输出” 设置为 “是” 时,字符串、数字或布尔变量将作为键/值对写入公共 API 的对话端点,这些键/值对可以轻松地进行搜索、拉取和关联。
-
使用此过程无法存储动态变量和对象变量。 要保存复杂的对象数据或动态变量,请改用数据操作。
输入属性
In put 属性指示此 变量的 值是否可以由外部来源设置,例如 Architect 调用流程。 对于要接收其传入数据的任何变量,请将 “输入” 设置为 “是”。 当 “输入” 设置为 “否” 时,即使外部源发送了值,变量也不会接受外部值。 要使用变量作为输入变量,请启用 Input。
客户保护数据
输出获取安全数据和设置安全数据的对话设置
启用变量的 Output 选项后,此脚本变量的值将被写入对话对象。 客户可以通过编程方式检索变量的值,以便在客户交互期间输出敏感数据。 确保禁用变量的 “ 输出” 选项,以便在客户交互期间不会以不安全的方式使用输入到此变量中的数据。 有关详细信息,请参阅 可用的脚本操作。 “ 客户安全数据” 的 “ 获取安全数据 ” 和 “ 设置安全数据” 功能是查询和更新敏感客户数据的正确方法。 有关详细信息,请参阅 “ 获取受保护的数据” 操作 和 “设置受保护的数据” 操作。