与 Zendesk 集成

将网络聊天与 Zendesk 服务台解决方案整合,让您的客户始终能获得所需的帮助。

AWS IBM Cloud

将您的助手与作为客户端界面的网络聊天集成进行部署,从而连接到 Zendesk。 如果在与助手聊天的过程中,客户要求与某人通话,您可以直接将对话转给即时代理。

Zendesk 允许您实时为客户提供帮助,从而提高客户满意度。 客户满意就会更高兴。 如需进一步了解此服务台解决方案,请访问 Zendesk 网站

当您部署嵌入到页面中的 AI 聊天功能时,如果该 AI 助手集成了与 Zendesk 对接的实时客服功能,则实时客服将无法正常工作。

准备工作

Zendesk 正在更新 Zopim Chat REST API 的域名。 如果您使用的是与Zendesk集成的旧版网络聊天,请尽快升级到最新版本。 如需了解如何管理网络聊天版本,请参阅控制网络聊天版本

  1. 请注册或切换至包含企业版计划的 Zendesk 服务账户 ,此为必备条件。

  2. 为服务台创建一个子域。 注册并指定子域后,您可通过 URL 访问Zendesk控制台,其语法为: <subdomain>.zendesk.com 。 例如,ibm.zendesk.com

  3. 登录您的 Zendesk 子域名。

  4. 打开 Zendesk控制面板

  5. 单击标题中的 "产品"图标(四个图块),然后选择 "聊天"图标。

  6. 单击您的个人资料,然后选择检查连接

  7. 将 Zendesk 连接到助手的步骤中,保持该屏幕打开。

连接对话框截图。

您还需要决定是否在设置后启用 Zendesk 的安全性。 更多信息,请参阅 "确保向 Zendesk 的转移"。

设置 Zendesk 服务台连接

在您的 AI 助手安装过程中:

  1. 点击左侧菜单中的集成图标(集成图标),进入 “集成 ”页面。 如需了解更多信息,请参阅《 将网络聊天功能集成到您的网站中》。

  2. 单击网络聊天,然后单击打开

  3. 选择环境,然后单击确认

  4. 转到 "即时代理"选项卡。

  5. 点击Zendesk

将 Zendesk 连接到您的助手

在 Zendesk 网络聊天集成的即时代理选项卡中:

  1. 切换 '已启用传输. 应显示两项任务:连接 Zendesk安装私人应用程序

  2. 在打开的标签页中复制 Zendesk 账户中的账户密钥

连接对话框截图。

  1. 粘贴到助手中的账户密钥字段。

  2. 单击连接账户。 复选标记表示成功完成。

在 Zendesk 中安装应用

IBM提供了一个应用程序,可安装在 Zendesk Service 子域中。 当客户要求与某人通话时,您的助理会使用此私人应用程序与 Zendesk 代理共享已转接对话的聊天摘要。

  1. 点击私人应用程序安装

  2. 点击“下载 Zendesk AI 助手 ”旁边的箭头。 应用程序将出现在您的下载位置。

在 Safari 上,应用程序文件会从 ZIP 文件解压缩到一个文件夹中。 要将文件存档为 .zip 文件以便以后上传,请编辑 Safari 偏好设置。 清除下载后打开安全文件复选框。

  1. 在安装的 Zendesk 中,单击产品图标并进入管理中心

  2. 点击应用程序和集成

  3. 选择Zendesk 支持应用程序

  4. 单击上传私人应用程序

  5. 点击 “选择文件 ”,选择您从 AI 助手安装包中下载的应用程序,然后点击 “上传 ”。

  6. 如果您同意 "创建新应用程序"窗口中显示的 "市场使用条款",请单击 "安装"。

  7. 在 "标题"字段中输入应用程序的名称,然后单击 "安装"。

该应用现在列在"我的应用 "中的 "私人应用 "下,可以启用、禁用或删除。 如需了解更多信息,请参阅 《在 Zendesk 中上传和安装私有应用》

测试服务台集成时,确保至少有一名代理处于 "Online状态。 除非明确更改,否则代理状态将设为 "Invisible

开启代理工作区

Zendesk Agent Workspace 将 Zendesk Chat 和 Zendesk Support 整合在一起,因此您所有的客户互动都在一个地方进行,沟通无缝、个性化且高效。 这意味着代理商的工作效率更高,客户更满意。

在 Zendesk:

  1. 单击产品图标,进入管理中心

  2. 单击工作空间

  3. 单击打开代理工作区按钮。 显示绿色开启框。

代理工作区现在应出现在 Zendesk Support 的多个屏幕上,包括包含票单的仪表板游客页面,以及代理可以接受等待帮助的客户聊天的对话菜单。

保护 Zendesk 转接

如果在 Zendesk 中启用安全性,您必须收集每个用户的姓名和电子邮件地址。 必须将这些信息传递给 Web 聊天,以便在转接交谈时将其提供给 Zendesk。

向 Zendesk 集成添加安全性时,请确保您要帮助的访问者是合法客户。 启用访问者认证还将启用对跨域流量和跨浏览器标识的支持。 如需了解更多信息,请参阅《 在 Zendesk 中启用经过身份验证的访客 》。

在保护 Zendesk 连接之前,请完成以下必需的任务:

  1. 保护 Web 聊天。 如需了解更多信息,请参阅“保护网络聊天安全”

  2. 对传递给 Web 聊天的敏感信息进行加密。

在 Zendesk 中启用安全性后,必须在每个请求中提供当前用户的姓名和电子邮件地址。 将 Web 聊天配置为在有效内容中传递这些信息。

使用以下语法指定这些信息。 对两个名称和值对使用确切名称(nameemail)。

    {
    user_payload : {  
             name: '#{customerName}',
             email: '#{customerEmail}'
      }
    }     

如需了解更多信息,请参阅 《在网页聊天中加密敏感数据》

Zendesk 还需要 iatexternal_id 名称和值对。 不过,您无需提供这些信息。 IBM 会自动提供一个包含这些值的 JWT。

例如:

    const userPayload = {
     "name" : "Cade Jones",
     "email" : "cade@example.com",
    }
    // Sample NodeJS code on your server.
    const jwt = require('jsonwebtoken');
    const RSA = require('node-rsa');

    const rsaKey = new RSA(process.env.PUBLIC_IBM_RSA_KEY);

    /**
    * Returns a signed JWT. Optionally, adds an encrypted user_payload in stringified JSON.
    */
    function mockLogin(userID, userPayload) {
        const payload = {
          sub: userID, // Required
          iss: 'www.ibm.com', // Required
          acr: 'loa1' // Required
          // A short-lived exp claim is automatically added by the jsonwebtoken library.
        };
        if (userPayload) {
            // If there is a user payload, it is encrypted in base64 format using the IBM public key.
            payload.user_payload = rsaKey.encrypt(userPayload, 'base64');
        }
        const token = jwt.sign(payload, process.env.YOUR_PRIVATE_RSA_KEY, { algorithm: 'RS256', expiresIn: '10000ms' });
        return token;
        }
  1. 在 Zendesk 应用程序中,启用访问者认证。

    • 在“聊天”仪表板导航窗格中,展开设置,然后单击窗口小部件

    • 打开窗口小部件安全性选项卡。

    • 访问者认证部分中,单击生成按钮。

如需了解更多信息,请参阅 “在聊天小部件中启用经过身份验证的访客”。 您不需要按照有关创建 JWT 的步骤进行操作。 Assistant 服务会为您生成一个 JSON Web 令牌。

  1. 从 Zendesk 复制共享私钥。

要保护 Zendesk 连接,请完成以下步骤:

  1. 认证用户部分中,将相应开关设置为开启

  2. 将您从 Zendesk 设置页面复制的私钥粘贴到 Zendesk 共享私钥字段中。

  3. 决定是否允许未识别用户访问 Zendesk。

Web 聊天集成允许匿名用户启动聊天。 但是,只要启用访问者认证,Zendesk 就会要求提供每个用户的姓名和电子邮件。 如果在未提供所需信息的情况下尝试连接,连接将被拒绝。

如果要允许匿名用户连接到 Zendesk,那么可以提供虚构的姓名和电子邮件数据。 编写函数以使用虚构的姓名和电子邮件值填充这两个字段。

例如,您的函数必须检查您是否知道当前用户的姓名和电子邮件,如果不知道,必须为这两个字段添加固定值:

    const userPayload = {
     "name" : "Jane Doe1",
     "email" : "jdoe1@example.com",
    }

编写一个函数以确保始终提供姓名和电子邮件值后,将 "验证匿名用户聊天传输"开关设置为开

出于安全考虑,"secret验证字段在初始设置后将被删除。

为您的行动添加转移支持

更新操作,确保它能理解用户与某人通话的请求,并能正确转接对话。

基于浏览器信息路由

客户与 Web 聊天进行交互时,系统会收集有关当前 Web 浏览器会话的信息。 例如,将收集当前页面的 URL。

您可以使用这些信息为您的操作添加自定义路由规则。 例如,如果客户在产品页面请求转接给人工,您可以将聊天转接给产品组合方面的专家代理。

如果客户位于“退货”页面上,那么您可能希望将该聊天转接路由到了解如何帮助客户处理退货的座席。