条件漏斗

条件漏斗(Condition Funnel) 模块可根据变量值、用户输入或消息内容,将对话引导至不同的流程分支。

常见使用场景包括:验证用户输入(例如邮箱、电话号码、数字),按用户属性进行分流,使用条件控制流程逻辑。


1. 条件漏斗界面说明

界面组成

  1. 输入自定义资料名称 选择需要进行判断的自定义资料名称(例如用户输入、自定义字段或系统变量)。

  2. 条件运算符 定义变量与输入值之间的比较方式。

  3. 输入值/规则 用于比较的值或规则。

    • 基础条件:文本或数字

    • Regex 条件:正则表达式

  4. 新增条件(+) 添加多个条件分支。

  5. 后备路径 当所有条件均不满足时,对话将进入该路径。


2. 条件运算符说明

比较与数值运算

运算符
说明
示例

等于(Equal)

变量完全匹配

country = USA

不等于(Not Equal)

变量不匹配

country ≠ SG

小于(Less Than)

数值比较

order_count < 3

小于或等于(Less Than or Equal)

数值比较

score ≤ 60

大于(Greater Than)

数值比较

order_count > 5

大于或等于(Greater Than or Equal)

数值比较

amount ≥ 1000

⚠️ 数值相关运算符仅适用于数值类型变量。


列表与文本匹配

运算符
说明
示例

在(In)

匹配列表中的任一值

country in [USA, SG]

包含(Contains)

包含指定文本

信息包含 refund

为空(Is Empty)

变量为空

电话号码为空


3. 符合正则表达式(Regex)

符合正则表达式支持使用正则表达式进行进阶匹配与格式验证,适用于需要严格输入规则的场景。

使用方式

  • 在栏位/ /中输入正则表达式规则

  • 可选择性启用 Regex flags

  • 当变量值符合 Regex 规则时,条件成立

常见 Regex 示例

使用场景
Regex 示例
输入示例

验证邮箱格式

^[^\s@]+@[^\s@]+\.[^\s@]+$

验证包含国家代码的电话号码

^\+[1-9]\d{6,14}$

+14155552671

仅允许数字输入

^\d+$

123456


4. 进阶Regex Flags 说明(可选)

Regex Flags控制模式的评估方式。

Flag
名称
说明

g

Global

匹配所有符合的结果

m

Multi Line

^$ 作用于每一行

i

Case Insensitive

忽略大小写

x

Extended

允许空格与注释

s

Single Line

. 可匹配换行符

u

Unicode

启用 Unicode 匹配

U

Ungreedy

默认使用非贪婪匹配

A

Anchored

从字符串开头开始匹配

J

Jchanged

允许重复命名分组


5. 使用示例

示例 1:验证邮箱

  • 变量:User Input

  • 运算符:Matches Regex

  • 规则:^[^\s@]+@[^\s@]+\.[^\s@]+$

结果

  • 匹配 → 继续流程

  • 不匹配 → 提示用户重新输入邮箱


示例 2:按国家分流

  • 变量:Country

  • 运算符:In

  • 值:USA, SG

结果

  • 匹配 → 进入区域流程

  • 不匹配 → 进入默认流程


示例 3:检查电话号码是否为空

  • 变量:Phone Number

  • 运算符:Is Empty

结果

  • 为空 → 提示用户输入电话号码

  • 非空 → 继续流程


6. 最佳实践

  • 简单运算符(等于、包含于、包含)开始,然后再使用正则表达式。

  • 务必配置后备路径以防止死路。

  • 使用正则表达式时:

    • 使用 ^$ 锚定模式以避免部分匹配

    • 使用真实用户输入测试模式

  • 保持条件逻辑可读性——多个简单条件通常比一个复杂规则更清晰。

Last updated