IBM Cloud Docs
与 Zendesk 集成

与 Zendesk 集成

IBM Cloud

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

通过使用充当客户机界面的 Web 聊天集成来部署助手,连接到 Zendesk。 如果在与助理交谈的过程中,客户要求与某人通话,您可以直接将对话转接给真人客服。

Zendesk 允许您实时协助客户,这提高了客户满意度。 客户满意就会更高兴。 如需了解有关该服务台解决方案的更多信息,请访问 Zendesk网站

准备工作

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

  1. 使用企业套餐注册或切换到 Zendesk 服务帐户,这是必需的。

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

  3. 登录到 Zendesk 子域。

  4. 打开Zendesk 仪表板

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

  6. 点击您的个人资料,然后选择“检查连接”。

  7. 请保持屏幕打开,以便将 Zendesk 连接到您的助手

    连接对话框的截屏。

您还需要决定在设置后是否对 Zendesk 启用安全性。 更多信息,请参阅 保护到 Zendesk 的传输

设置 Zendesk 服务台连接

在 watsonx Assistant 安装中:

  1. 通过单击左侧菜单中的集成图标 (集成图标),转至“集成”页面。 有关更多信息,请参阅将 Web 聊天与 Web 站点集成

  2. 单击 Web 聊天,然后单击 打开

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

  4. 转至 实时代理程序 选项卡。

  5. 单击 Zendesk

将 Zendesk 连接到助手

在 Zendesk Web 聊天集成的 实时代理 选项卡中:

  1. 切换 已启用传输。 应该显示两个任务: Connect ZendeskPrivate 应用程序安装

  2. 在您保持打开的选项卡中,从 Zendesk 帐户复制 帐户密钥

    连接对话框的截屏。

  3. 粘贴到助手中的 帐户密钥 字段中。

  4. 单击 连接帐户。 复选标记指示成功完成。

在 Zendesk 中安装应用程序

IBM 提供了要安装在 Zendesk Service 子域中的应用程序。 当客户要求与某人通话时,您的助理会使用这款私人应用程序与Zendesk客服共享转接通话的摘要。

  1. 单击 专用应用程序安装

  2. 单击 下载 watsonx Assistant Zendesk 应用程序旁边的箭头。 应用程序将显示在下载位置中。

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

  3. 在 Zendesk 安装中,单击 产品图标,然后转至 管理中心

  4. 单击 应用程序和集成

  5. 选择 Zendesk 支持应用程序

  6. 单击 上载专用应用程序

  7. 单击 选择文件,选择从 watsonx Assistant 安装下载的应用程序,然后单击 上载

  8. 如果您同意“创建新应用程序”窗口中显示的 Marketplace 使用条款,请单击 安装

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

该应用程序现在列示在 我的应用程序 中的 专用应用程序下,并且可以启用,禁用或删除。 更多信息,请参阅 在Zendesk中上传和安装私人应用程序

当您测试服务台集成时,请确保至少有一位具有 Online 身份的座席。 除非显式更改座席状态,否则座席状态会设置为Invisible

打开代理程序工作空间

Zendesk Agent 工作空间将 Zendesk Chat 和 Zendesk 支持整合在一起,因此您的所有客户互动都集中在一个位置,而且沟通是无缝的,个人的,高效的。 这意味着更有生产力的代理商和满意的客户。

在 Zendesk 中:

  1. 单击 产品图标,然后转至 管理中心

  2. 点击工作区

  3. 单击 打开代理程序工作空间 按钮。 此时将显示绿色的 开启 框。

“代理程序工作空间”现在应在 Zendesk 支持中的多个屏幕上提供功能,包括“仪表板”上的凭单,“访客”页面以及菜单中的 对话,其中代理程序可以接受来自等待帮助的客户的交谈。

保护 Zendesk 转接

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

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

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

  1. 保护 Web 聊天。 有关更多信息,请参阅 保护 Web 聊天

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

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

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

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

    有关更多信息,请参阅 加密 Web 聊天中的敏感数据

    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;
        }
    
  3. 在 Zendesk 应用程序中,启用访问者认证。

    • 在“聊天”仪表板导航窗格中,展开设置,然后单击窗口小部件
    • 打开窗口小部件安全性选项卡。
    • 访问者认证部分中,单击生成按钮。

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

  4. 从 Zendesk 复制共享私钥。

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

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

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

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

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

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

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

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

    在编写一个确保始终提供姓名和电子邮件的函数后,请将 “匿名用户聊天传输验证” 开关设置为“开启”。

出于安全原因,在初始设置后将从视图中除去 secret 认证字段。

为您的行为提供支持

更新操作,确保当用户请求与人通话时,系统能够理解并正确转接。

基于浏览器信息路由

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

您可以使用这些信息为您的操作添加自定义的路由规则。 例如,如果客户在“产品”页面上请求人工服务,您可以将聊天转交给熟悉您产品组合的专家。

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