在 Architect 中创建流程时,最好将其配置为从呼叫者那里检索尽可能多的数字,以帮助将信息转换为全球电话号码。 大多数情况下,提示呼叫者将有助于确保收集所需的号码。 流程作者通过提示提示,确保呼叫者输入的位数不超过拨号代码和用户号码的长度。 然后,作者可以设置电话号码数据类型,以检索客户输入的号码并创建新的电话号码,然后将其转换为全局号码。 

在任何使用电话号码的地方将客户输入的号码转换为全球电话号码可带来显著的好处,包括:

  • 在运行时准确处理电话号码以进行播放
  • 尝试回拨时拨打的电话号码正确

例如,如果客户输入的电话号码字符串中不存在 “+”,则该字符串将被视为本地电话号码,运行时行为结果可能会受到限制。 “+” 告诉系统,它后面的接下来的 1 到 3 位数字表示电话号码的拨号代码,提取后将创建一个全局电话号码。

以下场景为流程作者提供了有关在电话号码数据类型中使用 Call.Ani 来构建获取最有用电话号码字符串的方式的见解。

注意: 这些示例适用于 “tel” 电话号码。

在流程配置期间,流程作者:

  1. C创建一个 Flow.CustomerInput 变量。
  2. 构建请求来电者输入电话号码的提示。 例如 “请输入 10 位数的电话号码。”
  3. 使用以下示例表达式来配置 电话号码 数据类型以构造回拨号码,以提取最佳电话号码:
ToPhoneNumber(Append("tel: +",ToPhoneNumber(Call.Ani).dialingCode, Flow.CustomerInput))

当呼叫进入流程时:

  1. Call.Ani 获取呼叫者的原始电话号码: “电话: +13175550116”。
  2. 客户输入 3175550116,架构师将其存储在 Flow.Customer Input 中
  3. 在流程配置期间,系统会从 “电话号码” 数据类型构建中提取相应的回拨号码。

在流程配置期间,流程作者:

  1. C创建一个 Flow.CustomerInput 变量。
  2. 构建请求来电者输入电话号码的提示。 例如 “请输入 10 位数的电话号码。”
  3. 使用以下示例表达式来配置 电话号码 数据类型以构造回拨号码,以提取最佳电话号码:
ToPhoneNumber(Append(Substring(Call.Ani, 0, Length(Call.Ani)-Length(Flow.CustomerInput)), Flow.CustomerInput))

当呼叫进入流程时:

  1. Call.Ani 获取呼叫者的原始电话号码: “电话: +13175551000”。
  2. 客户输入 3175550116,架构师将其存储在 Flow.Customer Input 中
  3. 在流程配置期间,系统会从 “电话号码” 数据类型构建中提取相应的回拨号码。
  4. 转换后的结果会产生一个电话号码,其原始属性为 “tel: +13175550116”。

注意表达式如何使用 tel: +1″ 来自 Call.Ani,然后附加客户输入的 “3175550116” 以构建全球电话号码。

与场景 B 类似,客户输入的数字更少。 使用相同的表达式,流程作者仍然可以构建最有用的电话号码字符串。

在流程配置期间,流程作者:

  1. C创建一个 Flow.CustomerInput 变量。
  2. 构建请求来电者输入电话号码的提示。 例如 “请输入 10 位数的电话号码。”
  3. 使用以下示例表达式来配置 电话号码 数据类型以构造回拨号码,以提取最佳电话号码:
ToPhoneNumber(Append(Substring(Call.Ani, 0, Length(Call.Ani)-Length(Flow.CustomerInput)), Flow.CustomerInput))

当呼叫进入流程时:

  1. Call.Ani 获取呼叫者的原始电话号码: “电话: +13175551000”。
  2. 客户输入 5550116,架构师将其存储在 Flow.Customer Input 中
  3. 在流程配置期间,系统会从 “电话号码” 数据类型构建中提取相应的回拨号码。
  4. 转换后的结果会产生一个 电话号码,其原始属性为 “tel: +13175550116”。

注意表达式如何使用 “tel: +1317” 来自 Call.Ani,然后附加客户输入的 “5550116” 来构建 “电话: +13175550116” 全球电话号码。