如何使用CRM集成向导来集成CRM

简介

只要你的 CRM,helpdesk 或者工单系统支持通过 REST API 匹配邮箱或者号码,3CX 就可以与它集成。

当 3CX 系统收到一通来电时会匹配来电的号码,再 CRM 系统中查询客户的名称。如果找到了,会将其添加到 3CX 联系人中,呼叫者的名字会显示在网页客户端,同时网页客户端会包含一个可以打开 CRM 联系人页面的链接。

3CX 已经官方集成了很多 CRM。如果你使用的 CRM 不在列表中,可以使用我们的 CRM 集成向导通过模版使集成变得更简单。你只需要懂一点基础的编程和网页技能,CRM 也需要提供完善的 REST API 文档。

该文档将描述如何使用 3CX 模版生成工具,使用 3CX 给的例子,按照 3CX 给的几个步骤来为你的 CRM 创建模版吧!

1. 获取 & 验证 REST API URIs

第一步需要获取必要的 URL 和验证方式。可以再 CRM/Helpdesk/工单系统的官网查找,或者也可以联系供应商。请确保你已经有了所需的文档,以及在有疑问的时候供应商会给你一些支持。现在你需要下列信息:

  • 确认 CRM 是否支持 BasicOAuth2 验证
  • 验证需要用户名密码,还是使用 API Key
  • 需要下列 Web 调用响应信息:
    • 使用电话号码查找联系人
    • 使用邮箱查找联系人
    • 创建联系人(可选)
    • 创建呼叫记录(可选)
    • 创建聊天记录(可选)
使用Postman测试API

使用 Postman 测试 API

使用 Postman 工具测试这些 API 可以帮您节省不少时间。postman 工具允许用户直接输入 URL 并实时看到响应。Postman 工具相较于 3CX 拥有更多的排查工具,所以在 3CX 集成向导之前最好使用 Postman 确认 API 是可用的。

Postman 拥有非常棒的开始文档

2. 下载 CRM 集成向导

下载并安装 3CX CRM 集成向导。它会带你走过与 3CX 集成的几个步骤。创建 CRM 模版需要:

  1. 下载 3CX CRM 集成向导。
  2. 在 Windows 电脑上安装软件。
  3. 启动 “3CX CRM Template Generator”,点击 “File” > “CRM Template Wizard…” 点击 “Next”

3. 配置验证

  1. 设置一个模版的名称,在 “template Name”
  2. 根据你使用的 CRM API 文档,将验证方法设置为:
    1. “None”
    2. “Basic” 并填入验证信息:
      1. “用户名和密码”
      2. “API Key”
    3. “OAuth2” 并设置:
      1. “Authorization Endpoint” 链接,比如:https://api.example.com/oauth2/auth
      2. “Token Endpoint” 链接,比如:https://api.example.com/oauth2/token
      3. “Scope” – 可选
      4. “Additional Query String” – optional
    4. 点击 “Next” 继续。

4. 配置联系人查找

现在你需要在你的 CRM 中指定 API 调用,以用来识别用户。3CX 可以通过电话号码搜索联系人,也可以通过邮箱搜索在线聊天会话。

  1. “Lookup by Name API URL (GET)” – 这个URL 用于 CRM 基于号码的联系人查找,以 Freshdesk 为例,它应该是:
https://domain.freshdesk.com/api/v2/contacts?phone=[Number]
  1. “Lookup by Email API URL (GET)” – 这个 URL 用于 CRM 基于邮箱的联系人查找,以 Freshdesk 为例:
https://domain.freshdesk.com/api/v2/contacts?email=[Email]
  1. 点击 “Next”

将联系人查询结果映射到 3CX

  1. 现在我们需要映射 CRM 查询的结果到 3CX 的字段。为了实现这个,你需要将结果的 JSON 路径指定到 3CX 所需的字段:
    1. “Contact ID” – 匹配联系人的 ID,必须
    2. 下列字段至少填一个:
      1. “First Name”,比如 contact.firstname
      2. “Last Name”,比如 contact.lastname
      3. “Company Name”,比如 contact.company
    3. “Email” – 必须,比如 contact.email
    4. 点击 “Next” 继续。
  2. 现在我们需要将每个元素返回到 CRM 网页调用上,下列变量至少填写一个:
    1. “Business Phone”, 比如 contact.businessphone
    2. “Business Phone 2”, 比如 contact.businessphone2
    3. “Mobile Phone”, 比如 contact.mobilephone
    4. “Mobile Phone 2”, 比如 contact.mobilephone2
    5. “Custom Value” – 可选择将自定义响应设为变量.
    6. 根据实际情况填写 “Contact URL”
    7. 一个表达式, 比如 https://api.example.com/show?ContactID=[ContactID]
    8. 服务器响应, 比如 contact.profile_url
    9. Click on “Next”.

5. 在 CRM 创建联系人

这是可选的步骤。如果你需要当有无法匹配 CRM 的来电时 3CX 会帮忙创建一个新的联系人,则开启 “Contact Creation” 选项。配置:

  1. “API URL (POST)” – 3CX 使用这个链接在 CRM 中创建联系人。比如,在 Freshdesk 中这个 API 链接应该是:
https://domain.freshdesk.com/api/v2/contacts
  1. “Request Data” – 这是在 CRM 创建联系人时需要的信息,比如 {“firstname”:”New”, “lastname”:”3CX Contact”, “phone”:”[Number]”}
  2. 点击 “Next” 继续

映射创建联系人的结果

  1. 现在我们需要将 CRM 查询到的响应映射到 3CX 字段。我们需要将 JSON 响应中的指定路径填入到 3CX 中:
    1. “Contact ID” – 匹配联系人的 ID,必须。
    2. 下列字段至少填一个:
      1. “First Name” 比如 contact.firstname
      2. “Last Name” 比如 contact.lastname
      3. “Company Name” 比如 contact.company
    3. “Email” – 可选的设置。比如 contact.email
    4. 点击 “Next” 继续。
  2. 现在我们需要将每个元素返回到 CRM 网页调用上,下列变量至少填写一个:
    1. “Business Phone”, 比如 contact.businessphone
    2. “Business Phone 2”, 比如 contact.businessphone2
    3. “Mobile Phone”, 比如 contact.mobilephone
    4. “Mobile Phone 2”, 比如 contact.mobilephone2
    5. “Custom Value” – 可选择将自定义响应设为变量.
    6. 根据实际情况填写 “Contact URL”
    7. 一个表达式, 比如 https://api.example.com/show?ContactID=[ContactID]
    8. 服务器响应, 比如 contact.profile_url
    9. 点击 “Next”.

6. 配置呼叫记录

这是一个可选的步骤。如果你想把通话记录作为 CRM 中的活动,那么请启用 “Call Journaling” 选项。

  1. “API URL (POST)” – 3CX 使用这个 URL 在 CRM 中创建通话活动。比如在 Freshdesk 中这个链接应该是:
https://domain.freshdesk.com/api/v2/tickets
  1. 使用各自的字段来定义数据集,用于记录呼入的已接和未接电话,以及呼出的已接和未接电话的通话日志条目。例如,对于Freshdesk来说,这里将使用JSON数据来记录呼入的应答电话。
{"phone":"[Number]","description":"[InboundCallText]","requester_id":[EntityId],"subject":"[Subject]","type":"Question","status":2,"priority":1,"source":3}
  1. 点击 “Next” 继续。

7. 配置 Live chat 记录

这是一个可选的步骤。如果您想将聊天对话登记为CRM中的活动,那么请启用 “Chat Journaling” 选项。

  1. “API URL (POST)” – 3CX 使用这个 URL 在 CRM 中创建聊天记录。比如,Freshdesk 中应该使用这个 API 链接:
https://domain.freshdesk.com/api/v2/tickets
  1. “Request Data” – 这是创建聊天记录的数据。比如,在 Freshdesk 中 JSON 数据应该是这样的:
{"phone":"[Number]","email":"[Email]","description":"[ChatMessages]","subject":"[ChatSubject]","requester_id":[EntityId],"type":"Question","status":2,"priority":1,"source":7}
  1. 点击 “Next” 继续。

8. 保存并测试 CRM 集成

现在你已经抵达了向导的最后。点击 “Finish” 保存我们生成的 CRM 模版并开始测试。你需要确认填入 CRM 的所有的 URL 和 JSON 数据都是 3CX 需要的。生成的模版中会包含一些静态的部分,比如 URL 或 JSON 数据;同时也有一些变量需要被设置,比如 CRM 的密钥或记录呼叫的一些描述信息。

要填入这些变量,在左侧展开以 CRM 命名的树状图,点击 “Parameter Values” 节点。在右边会出现表格,其中包含一些可以设置的变量。有些变量会拥有默认值(比如呼叫记录的一些文本),其他部分会留空(比如 CRM 的登入信息)。这些部分在你上传模版到 3CX 管理控制台后需要用户手动配置。

测试联系人查找 / 联系人创建

选择 “Parameter Values” 节点后,树状图的属性窗口会显示你可以用来测试的值。比如,你可以填入触发 CRM 查找的电话号码和邮箱地址。

  1. 选择 Interaction Type(InboundCall, OutboundCall 或者 Chat ),接着填入你想在 CRM 中查找的电话和邮箱。
  2. 右键 “Parameter Values” 节点并选择 “Contact Lookup By Number”“Contact Lookup By Email”
  1. 在参数值下会显示一个带有日期/时间戳的新节点。点击它以显示方案的结果
  2. 请求/响应选项卡显示发送至CRM的请求和收到的JSON响应。响应文本显示,该号码被映射到一个名为 “Joe Black “的联系人。
  1. 响应树标签显示了JSON响应是如何映射到3CX变量的。粗体字的变量显示有一个匹配。
  2. 变量选项卡显示了在联系人查找过程中被映射的所有变量。
  3. Output 选项卡显示返回到 3CX 的数据。
  4. 为了测试自动创建联系人,从一个你知道不在你的 CRM 中的号码进行查询,当查询没有返回数据时自动创建一个新的联系人。
  5. 你可以用同样的方式测试 Journaling

9. 将模版上传到 3CX

当我们的模版走完测试和 debug 流程后,是时候将它上传到 3CX 了。我们打开 3CX 的管理控制台 > 设置 > CRM > 服务端标签,点击添加将模版上传到 3CX。