3CX 如何对接 Salesforce CRM

简介

3CX 提供了与 Salesforce 的 CRM 集成。该集成是在 3CX 服务端生效,非常简单直观。Salesforce 与 3CX 的集成具有以下功能:

  • 联系人同步 – 当有电话呼入时,系统会触发到 CRM 查找联系人的机制,并将查找到的联系人信息添加到 3CX 联系人中。同时在你接收到的这通通话上会显示该联系人的姓名。
  • 呼叫弹屏 – 当使用 3CX 网页客户端,当有来自 CRM 的呼叫,系统会自动弹出到 CRM 的联系人页面。
  • 呼叫记录 – 与客户的呼叫会在 CRM 里记录。
  • 点击拨号 – 在 Salesforce 点击号码后直接使用 3CX 外呼,需使用 点击拨号 插件。

接下来我们将演示如何一步一步对接 3CX 和 Salesforce。

Salesforce 配置

通用配置

登录 Salesforce 的账户,或者创建一个 开发者账户 。需要注意的是:Salesforce 账户需要开启 REST API 功能。该功能只可以在 Salesforce 的 Developer, Unlimited, Enterprise 以及一些 Professional 版本上启用。

登录到 Salesforce 后点击右上角的齿轮图标,点击 “Setup” 。

在左边的导航栏,PLATFORM TOOLS 区域下选择 “Apps > App Manager“。点击 网页上的 “New Connected App” 按钮。输入 App 的名称,联系人邮箱点击保存。这里以 CXPBX 为例。

向下滚动到 API(Enable OAuth Settings) 并勾上 “Enable OAuth Settings” 复选框。并在 Callback URL 里填入:https://localhost/callback。在 Selected OAuth Scopes 中将以下几项选到右边:

  • Access and manage your data (api).
  • Access your basic information.
  • Access to your unique identifier (openid).
  • Full Access.
  • Perform requests on your behalf at any time.
  • Provide access to your data via the Web.

设置完后点击保存。

接下来在 “Apps > App manager” 中找到我们创建的 App,点击 View:

复制 API(Enable OAuth Settings) 下方的 “Consumer key” 和 “Consumer secret” – 后面我们需要将他们复制到 3CX 中。

在最上方点击 “Manage“,然后点击 “Edit Policies“,找到 OAuth policies 区域下面将权限设置为 “All users may self-authorize“。点击保存。

点击右上角头像的 Settings,在左侧导航栏选择 “Reset My Security Token“,点击 Reset Securtiy Token,新的 token 会发送到你的邮箱中。

呼叫记录

如果你想将 3CX 的通话记录到 Salesforce 中,你需要在用户专用字段中填写分机号。这样,3CX 可以将接收呼叫的坐席的分机号映射到 Salesforce 的用户。

点击右上角的齿轮图标 > “Setup

在侧边栏的 ADMINISTRATION 下面选择 “Users > Users“。打开一个用户,点击 Edit: 

在 Extension 字段填入用户的分机号:

3CX CRM 服务端配置

联系人批判策略

Salesforce 的查找要求使用号码的最后 4 或 7 位,任何其他位数查找,Salesforce 都不会返回任何数据。

在 3CX 管理控制台 – 高级 – 通讯录 – 选项 – 将来电匹配到通讯录条目设置为 4 或 7.

通用设置

进入 3CX 管理控制台 > 设置 > CRM 整合 – 服务端,在下拉菜单里选择 Salesforce。

填入 Salesforce 的信息,其中包含我们在上面创建的:

呼叫记录

如果要启用呼叫记录,勾选 Enable Call Journaling 选项。⚠该功能只在 V16 及更新版本可用。

呼叫记录的参数:

  • “Call Subject”** – 呼叫的主题。
  • “Answered Inbound Call” – 对于接听来电的描述。
  • “Missed Call” – 对于未接来电的描述。
  • “Answered Outbound Call” – 对于接听的外呼进行描述。
  • “Unanswered Outbound Call” – 对于未接通的外呼描述。

你也可以在 “Call Journaling” 中加入参数,参数都用中括号括起: [参数],比如 [Number]。可以使用的参数有以下几个:

  • CallType – 呼叫的类型,有 “Inbound” “Outbound” “Missed” 和 “Unanswered”
  • Number – 外部联系人的号码。呼出时候拨打的号码,呼入时候的来电号码。
  • Agent – 接听呼叫的分机号。
  • Duration – 呼叫时长,格式是 “hh:mm:ss”。
  • DurationTimeSpan – 呼叫时长记录为 TimeSpan 对象,使用用户自定义的格式。
  • DateTime – 呼叫开始的日期和时间,本地时区,格式为 3CX 服务器的本地时区。
  • CasllStartTimeLocal – 呼叫开始的日期和时间,本地时区,使用用户自定义的格式记录为 Datetime 对象。
  • CallStartTimeUTC – 呼叫开始的日期和时间,UTC 时区,使用用户自定义的格式记录为 Datetime 对象。
  • CallEndTimeLocal – 呼叫结束的日期和时间,本地时区,使用用户自定义的格式记录为 Datetime 对象。
  • CallEndTimeUTC – 呼叫结束的日期和时间,UTC 时区,使用用户自定义的格式记录为 Datetime 对象。

Contact Creation

当来电的是 CRM 中不存在的未知号码时,会在 CRM 中自动创建联系人。创建联系人的时候会使用下列参数:

  • “New Contact First Name” – 自动创建联系人的名字。
  • “New Contact First Name” – 自动创建联系人的姓氏。

这里你也可以使用变量:

  • Number – 外部联系人的号码。呼出时候拨打的号码,呼入时候的来电号码。