IBM Cloud Docs
向步骤添加条件

向步骤添加条件

操作表示帮助客户回答问题或解决问题的业务流程。 此类过程必须根据客户提供的信息或在运行时提供的其他信息来适应不同的具体情况。 例如,从储蓄账户取款的步骤可能与为支票账户取款的步骤略有不同。

步骤条件是基于某个运行时值的布尔测试; 仅当测试求值为 true 时,该步骤才会执行。 此测试可以应用于任何变量,例如包含来自上一步的客户响应的操作变量。 通过定义步骤条件,您可以根据不同的可能运行时值通过操作创建多个路径。

有关变量的更多信息,请参阅 使用变量来管理对话信息

基本步骤条件以如下格式表示:

If {variable} {operator} {value}

其中:

  • {variable} 是变量或表达式的名称。
  • {operator} 是要应用于变量值的测试类型 (例如, isis not)。
  • {value} 是要与变量进行比较的值。

例如,步骤条件可能为:

If Withdraw from which account? is Checking

如果客户对先前 Withdraw from which account? 步骤的响应为 Checking,那么此条件求值为 true。

可以将条件分组在一起以构造复杂测试。

要添加步骤条件:

  1. 打开步骤。 单击步骤开头的条件字段:

    条件
    突出显示条件字段的步骤编辑器

  2. 从下拉列表中选择 with conditions条件 部分将展开。

  3. 缺省情况下,将根据最新客户响应存储的操作变量自动创建包含单个条件的单个条件组。

    编辑条件以选择 "检查" 作为要检查
    编辑条件
    的值

    您可以单击表达式的任何部分以对其进行编辑:

    • 选择要检验的变量。 您可以选择下列任何一项:

      • 用于存储来自操作中上一步的客户响应的操作变量
      • 包含由任何操作存储的值的会话变量
      • 由助手或集成设置的内置变量

      您还可以通过编写定义其他值的表达式来定义复杂条件。 有关表达式的更多信息,请参阅 编写表达式

    • 选择表示要对变量执行的测试的运算符 (例如, isis not)。 特定值的可用运算符取决于其数据类型。 (有关更多信息,请参阅 操作程序。)

    • 选择要根据其评估测试的值。 同样,可用的值也取决于您正在测试的值的类型。 例如,可以针对任何已定义的选项测试包含选项响应的变量,并且可以针对任何日期测试日期值。

  4. 要向步骤添加多个条件,请在添加条件后单击 新建条件组

    使用多个条件会很有帮助的一个用例是您需要捕获值范围的情况。 例如,可能开设支票帐户的要求是,客户在创建帐户时将至少 100 美元存入帐户。 您可能会询问客户是否要向帐户转入资金,如果是,转入多少? 要继续执行转帐,转帐金额必须不少于 100 美元,但不能超过 1000 美元。 可以添加具有以下条件的步骤:

    • How much to transfer? > 99
    • How much to transfer? < 1001

    指定是否必须满足所有条件或任一条件,步骤才能包含在交谈流中。

  5. 要添加另一组条件,请单击 添加新组

    您可以使用组来构建复杂的步骤条件。 每个组作为一个整体求值为 true 或 false ,然后将这些结果一起求值。 例如,您可以构建仅当组 1 中的所有条件都为 true 组 2 中的任何条件都为 true 时执行的步骤。 (组函数类似于许多编程语言的布尔条件中的括号。)

    添加组后,可以在新组中定义一个或多个条件。 在组之间,选择 以指示是必须满足这两个条件组中的条件还是只满足其中一个条件才能将步骤包括在会话式流中。

操作程序

运算符指定要对条件中的值执行的测试的类型。 条件中可用的特定运算符取决于值的客户响应类型,如下表中所示。

操作程序
响应类型 操作程序
-选项 -is
-is not
-is any of
-is none
-正则表达式 -是
-不是
-数字
-货币
-百分比
- is defined\n- is not defined\n- is equal to (==)\n- is not equal to (≠)\n- is less than (<)\n- is less than or equal to (<=)\n- is greater than (>)\n- is greater than or equal to (>=)
-日期 -is defined
-is not defined
-is on (也允许一周中的特定日期)
-is not on
-is before
-is after
-is on or before
-is on or after
-时间 -is defined
-is not defined
-is at
-is not at
-is before
-is after
-is at or before
-is at or after
-自由文本 -is
-is not
-contains
-does not contains
-match
-does not match