简介
结合 CFD 组件可以轻松实现可以与 3CX API 兼容 CRM 集成的电话订购系统。 本指南展示了可通过 CFD 演示项目 GitHub页面获得的示例项目。
这个使用场景描述的是一个客户:
- 呼叫订购热线,并根据链接到 Salesforce 的呼叫者号码显示个性化的问候。
- 通过基于 PIN 的 Salesforce 联系人 ID 进行身份验证。
- 获得指向订购流程。
前提条件
此示例应用程序需要满足以下前提条件:
- 3CX Pro v16 Update 4 或更高版本。
- 3CX Call Flow Designer 16.4.26 或更高版本。
- 启用 3CX PBX 与 Salesforce 的集成。 请按照本指南进行设置。
- 一个 MySQL 服务器,用于存储客户,物料和订单信息。 下载此 SQL 脚本以创建数据库和所需的所有表。
- 一个 Amazon Web Services 帐户,用于将 Amazon Polly 用于文本到语音。 有关如何配置的信息,请查阅本指南。
主程序
这就是应用程序的入口点。当收到呼叫时,会播放欢迎信息,然后检查来电者的号码 — 如果是属于 Salesforce 联系人,则使用 “联系人查找” 组件。
如果找到了联系人,就会给用户提供一个菜单,让他们选择。
如果没有找到联系人,在将电话转给接线员之前,会播放合适的提示。
联系人查找
CRM 查询组件用于获取 Salesforce 中的联系人详细信息,前提是 Salesforce 集成已经在 3CX 中配置好了。然后,它将以变量的形式返回联系人的详细信息,即 ID、姓名、姓氏、电子邮件。
联系人验证
使用 “身份验证 “组件与 “数据库访问” 组件结合使用,可以根据数据库验证呼叫者输入的PIN码。
数据库凭证需要在CFD项目中配置。要做到这一点,需要在CFD项目中配置数据库凭证。
- 转到 “Project Explorer“,选择项目节点,即树的第一个节点。
- 转到 “Properties “窗口,点击 “Variables“项右侧的按钮。
- 更改数据库服务器、端口、数据库名称、用户名和密码的值。
当输入的PIN码有效时,会有一个成功提示并返回组件。否则,会有一个菜单显示给用户,用户可以选择以下选项。
- 联系接线员 – 将呼叫转接到接线员。
- 重试–再次输入PIN码。
- 取消–结束通话。
检查订单状态
使用 “循环” 组件可以检查订单号,最多重复3次。在 “循环” 组件内。
- 一个 “用户输入” 组件询问呼叫者的号码。
- 一个 “数据库访问” 组件对照数据库检查这个参考号,如果:
- 如果发现,订单状态会回放给用户,调用结束。
- 如果没有找到,则递增尝试数,并再次检查循环条件,再进行一次迭代。
订购多件商品
在用户开始下单时执行:
- 在数据库中创建订单,并取回 “订单 ID“。
- 一个 “循环” 组件在项目订购程序步骤中反复进行。
- 初期,”订购单品” 组件被调用来询问一个项目 ID 并选择数量。这个组件会在输出属性中显示结果。
- 接下来,它检查前一个组件的输出属性,确定是否有商品被选中。当有选中的项目时,会将其添加到数据库中,增加项目计数器,并将项目价格乘以数量加成订单总金额。
- 最后,文章项目菜单为用户提供了。
- 取消订单 – 订单状态会在数据库中更新。
- 再增加一个项目–循环做另一个迭代。
- 完成订单。
- 如果有订单中的项目,数据库中的状态被设置为就绪。如果联系人有一个电子邮件地址,在 “联系人查询” 组件中从 CRM 中检索到的电子邮件地址,那么订单的详细信息将通过 “通过邮件发送订单 ” 组件通过电子邮件发送给用户。
- 如果订单中没有项目,数据库中的状态被设置为取消。
订购单件产品
这个过程执行了这些步骤:
- 要求用 “用户输入” 组件购买的物品的 6 位数字 ID。
- 输入的商品 ID 与数据库进行核对,并检索商品的详细信息(商品描述、价格、可用库存)。如果数据库检查的结果是:
- 找不到记录-播放一条消息,指示该项目无效,并结束流程。
- 播放项目详情,调用者可以使用 “项目变更数量” 组件选择订单数量。
项目添加通知
提供了一个简单的菜单,这样用户可以选择在项目可用时收到通知。如果用户决定接收通知,就会使用 “数据库访问” 组件将一条记录插入到数据库中。
项目变更数量
使用一个 “循环” 组件查询项目数量,根据需要重复多次,直到输入有效数量。在循环中:
- 一个 “用户输入” 组件要求购买商品的数量。
- 当用户输入一个数量时,该值与可用库存量进行核对,如果:
- 小于或等于可用库存量 — 返回输出属性中选择的数量,使用零值取消该项目。
- 大于现有库存 – 播放信息,表示库存量不可用,并开始另一个循环迭代。
通过邮件发送订单
使用一个 “循环” 组件,通过数据库对所有项目进行迭代,按照这个顺序进行迭代,以:
- 将相应的项目添加到存储邮件正文 HTML 的变量中。
- 使用 “数据库访问” 组件从数据库中检索每个订单项目的详细信息。
迭代完所有的订单项目后,通过邮件将订单详情发送给客户,并回放相关信息给来电者。