电话订购 – CFD 项目演示

简介

结合 CFD 组件可以轻松实现可以与 3CX API 兼容 CRM 集成的电话订购系统。 本指南展示了可通过 CFD 演示项目 GitHub页面获得的示例项目。

这个使用场景描述的是一个客户:

  1. 呼叫订购热线,并根据链接到 Salesforce 的呼叫者号码显示个性化的问候。
  2. 通过基于 PIN 的 Salesforce 联系人 ID 进行身份验证。
  3. 获得指向订购流程。

前提条件

此示例应用程序需要满足以下前提条件:

  1. 3CX Pro v16 Update 4 或更高版本。
  2. 3CX Call Flow Designer 16.4.26 或更高版本。
  3. 启用 3CX PBX 与 Salesforce 的集成。 请按照本指南进行设置。
  4. 一个 MySQL 服务器,用于存储客户,物料和订单信息。 下载此 SQL 脚本以创建数据库和所需的所有表。
  5. 一个 Amazon Web Services 帐户,用于将 Amazon Polly 用于文本到语音。 有关如何配置的信息,请查阅本指南。

主程序

这就是应用程序的入口点。当收到呼叫时,会播放欢迎信息,然后检查来电者的号码 — 如果是属于 Salesforce 联系人,则使用 “联系人查找” 组件。

如果找到了联系人,就会给用户提供一个菜单,让他们选择。

  • 与话务员通话,即将呼叫转移给话务员。
  • 开始通过电话订购,即通过 “验证联系人” 组件对用户进行身份验证,然后再调用 “订购多个物品” 组件启用物品订购。
  • 检查订单状态,即调用 “检查订单状态“组件。

如果没有找到联系人,在将电话转给接线员之前,会播放合适的提示。

联系人查找

CRM 查询组件用于获取 Salesforce 中的联系人详细信息,前提是 Salesforce 集成已经在 3CX 中配置好了。然后,它将以变量的形式返回联系人的详细信息,即 ID、姓名、姓氏、电子邮件。

联系人验证

使用 “身份验证 “组件与 “数据库访问” 组件结合使用,可以根据数据库验证呼叫者输入的PIN码。

数据库凭证需要在CFD项目中配置。要做到这一点,需要在CFD项目中配置数据库凭证。

  1. 转到 “Project Explorer“,选择项目节点,即树的第一个节点。
  2. 转到 “Properties “窗口,点击 “Variables“项右侧的按钮。
  3. 更改数据库服务器、端口、数据库名称、用户名和密码的值。

当输入的PIN码有效时,会有一个成功提示并返回组件。否则,会有一个菜单显示给用户,用户可以选择以下选项。

  • 联系接线员 – 将呼叫转接到接线员。
  • 重试–再次输入PIN码。
  • 取消–结束通话。

检查订单状态

使用 “循环” 组件可以检查订单号,最多重复3次。在 “循环” 组件内。

  1. 一个 “用户输入” 组件询问呼叫者的号码。
  2. 一个 “数据库访问” 组件对照数据库检查这个参考号,如果:
    • 如果发现,订单状态会回放给用户,调用结束。
    • 如果没有找到,则递增尝试数,并再次检查循环条件,再进行一次迭代。

订购多件商品

在用户开始下单时执行:

  1. 在数据库中创建订单,并取回 “订单 ID“。
  2. 一个 “循环” 组件在项目订购程序步骤中反复进行。
    1. 初期,”订购单品” 组件被调用来询问一个项目 ID 并选择数量。这个组件会在输出属性中显示结果。
    2. 接下来,它检查前一个组件的输出属性,确定是否有商品被选中。当有选中的项目时,会将其添加到数据库中,增加项目计数器,并将项目价格乘以数量加成订单总金额。
    3. 最后,文章项目菜单为用户提供了。
      • 取消订单 – 订单状态会在数据库中更新。
      • 再增加一个项目–循环做另一个迭代。
      • 完成订单。
        • 如果有订单中的项目,数据库中的状态被设置为就绪。如果联系人有一个电子邮件地址,在 “联系人查询” 组件中从 CRM 中检索到的电子邮件地址,那么订单的详细信息将通过 “通过邮件发送订单 ” 组件通过电子邮件发送给用户。
        • 如果订单中没有项目,数据库中的状态被设置为取消。

订购单件产品

这个过程执行了这些步骤:

  1. 要求用 “用户输入” 组件购买的物品的 6 位数字 ID。
  2. 输入的商品 ID 与数据库进行核对,并检索商品的详细信息(商品描述、价格、可用库存)。如果数据库检查的结果是:
    1. 找不到记录-播放一条消息,指示该项目无效,并结束流程。
    2. 播放项目详情,调用者可以使用 “项目变更数量” 组件选择订单数量。

项目添加通知

提供了一个简单的菜单,这样用户可以选择在项目可用时收到通知。如果用户决定接收通知,就会使用 “数据库访问” 组件将一条记录插入到数据库中。

项目变更数量

使用一个 “循环” 组件查询项目数量,根据需要重复多次,直到输入有效数量。在循环中:

  1. 一个 “用户输入” 组件要求购买商品的数量。
  2. 当用户输入一个数量时,该值与可用库存量进行核对,如果:
    1. 小于或等于可用库存量 — 返回输出属性中选择的数量,使用零值取消该项目。
    2. 大于现有库存 – 播放信息,表示库存量不可用,并开始另一个循环迭代。

通过邮件发送订单

使用一个 “循环” 组件,通过数据库对所有项目进行迭代,按照这个顺序进行迭代,以:

  1. 将相应的项目添加到存储邮件正文 HTML 的变量中。
  2. 使用 “数据库访问” 组件从数据库中检索每个订单项目的详细信息。

迭代完所有的订单项目后,通过邮件将订单详情发送给客户,并回放相关信息给来电者。