IBM Cloud Docs
通过旅程引导客户

通过旅程引导客户

Beta

旅程是一种交互式响应,可用于指导客户完成复杂任务,或者利用 Web 站点已支持的功能,向客户展示新功能。 旅程是一种多部分响应,可按顺序组合文本,视频和图像。

此 Beta 功能仅可用于评估和测试目的。 这些旅程需要 Web 聊天版本 6.9.0 或更高版本。

当客户开始旅程时,交谈窗口将暂时关闭。 然后,Web 聊天集成会在叠加在 Web 站点上的小窗口中一步步显示旅程元素,使客户能够在逐步完成旅程时浏览和使用该 Web 站点。 在旅途中的任何时候,客户都可以自由返回到助手聊天窗口,然后恢复旅途。

显示旅程示例的图像

您可以在类似以下示例的情况下使用旅程:

  • 将新客户加入您的产品或 Web 站点,并向他们显示所有内容

  • 为客户提供复杂任务的逐步指导,例如提交索赔或创建帐户

  • 在特定市场营销机会期间向目标用户促销产品中的销售机会,例如,向关注费用的客户提供新的奖励计划

有关决定何时以及如何使用旅程的更多信息,请参阅 最佳实践指南

创建旅程

使用 user_defined 响应类型定义旅程,此响应类型仅在 JSON 编辑器中可用。 (更多信息,请参阅 使用JSON编辑器定义响应。) 要创建旅程,请按以下步骤操作:

  1. 在操作编辑器中,创建或编辑要从中开始旅程的步骤。

  2. 单击 切换到 JSON 编辑器 图标 "切换到 JSON 编辑器" 图标 以打开 JSON 编辑器。

  3. generic 数组中,创建 user_defined 响应。 (更多信息,请参阅 使用JSON编辑器定义响应。)

    使用以下结构定义旅程:

    "user_defined": {
      "user_defined_type": "IBM_BETA_JOURNEYS_TOUR",
      "skip_card": true|false,
      "card_title": "{title}",
      "card_description": "{description}",
      "steps": [
        ...
      ]
    }
    

    其中:

    user_defined_type

    要定义的用户定义响应的特定类型。 要定义旅程,请始终将此属性设置为 IBM_BETA_JOURNEYS_TOUR

    skip_card

    一个可选属性,用于指定 Web 聊天是否应立即开始旅程,而不等待客户在 Web 聊天窗口中单击介绍性卡。 (默认值为 false。)

    You can use this option to start a journey directly from your website, even if the web chat is not open. For more information, see Starting a journey without opening the web chat.

    card_title

    当旅程可用 (例如,Website tourDisputing a charge) 时,要显示在 Web 聊天中显示的介绍性卡片上的标题。

    card_description

    介绍卡片上显示的描述。 描述旅程,以便客户可以决定是否要打开该旅程。

    steps

    一系列响应,用于定义旅程中的步骤。

定义步骤

旅程中的每个步骤都定义为一个 JSON 对象,该对象描述要向客户显示的响应,使用的格式类似于您直接在 generic 数组中定义助手响应的方式。 旅程中的步骤将按您在 steps 数组中列出这些步骤的顺序一次向客户显示一个步骤。

与助手响应一样,response_type 属性标识响应类型:

text

仅显示文本的步骤。

{
  "response_type": "text",
  "text": "This is the text of the response."
}

text 步骤中支持 Markdown 格式设置和链接。 有关更多信息,请参阅 Markdown 格式设置

请注意,旅程中 text 步骤的结构与助手响应的 text 响应类型不同。 仅支持单个 text 组件,而不支持文本值数组。

image

显示图像以及可选描述的步骤。

{
  "response_type": "image",
  "source": "https://example.com/image.png",
  "description": "This is the description of the image."
}

source 属性必须是公开图像的 https: URL。 指定的图像必须为 .jpg.gif.png 格式。

video

显示视频以及可选描述的步骤。

{
  "response_type": "video",
  "source": "https://example.com/videos/example-video.mp4",
  "description": "This is the description of the video."
}

source 属性指定URL 可以是以下任意一种:

  • 标准格式(如MPEG或AVI)视频文件URL。 在网络聊天中,链接的视频将呈现为嵌入式视频播放器。

    不支持 HLS (.m3u8) 和 DASH (MPD) 流式视频。

  • URL,该视频托管在受支持的视频托管服务上。 在 Web 聊天中,链接的视频将使用可嵌入播放器来呈现托管服务。

    请指定您要在浏览器中观看视频URL (例如 https://www.youtube.com/watch?v=52bpMKVigGU )。您无需URL 转换为可嵌入的形式,网络聊天会自动完成此操作。

    您可以嵌入在以下服务上托管的视频:

    • YouTube
    • Facebook
    • Vimeo
    • Twitch
    • 可流式传输
    • Wistia
    • Vidyard

示例

以下示例定义了一个旅程,该旅程向用户显示如何使用文本,图像和视频响应的组合来争议费用。

{
  "generic": [
    {
      "response_type": "user_defined",
      "user_defined": {
        "card_title": "Let’s dispute a charge!",
        "card_description": "Follow along with this guided journey to learn how to find and dispute charges.",
        "user_defined_type": "IBM_BETA_JOURNEYS_TOUR",
        "steps": [
          {
            "response_type": "text",
            "text": "Charges are listed on the Transactions page. **Click your profile photo** in the top right corner of your screen, and then **click Transactions** from the menu."
          },
          {
            "response_type": "text",
            "text": "Here you can view your charges.\n **Scroll through the Transactions page and review your charges.** Each charge contains a merchant name, transaction date, and amount charged."
          },
          {
            "response_type": "image",
            "source": "https://example.com/image.png",
            "alt_text": "Image showing location of Dispute option",
            "description": "The option to Dispute is marked in red on the right hand side of each row in the Transactions table. Just click here to file a dispute."
          },
          {
            "response_type": "video",
            "source": "https://vimeo.com/769580398",
            "description": "Watch this short video to learn what to expect now that you’ve filed a dispute."
          }
        ]
      }
    }
  ]
}

在不打开 Web 聊天的情况下开始旅程

虽然旅程是 Web 聊天集成的一部分,但您可以让客户直接从 Web 站点开始旅程,而根本不需要打开 Web 聊天窗口。 例如,您可能希望在 Web 站点上包含 显示 按钮,客户可以单击该按钮以启动页面的交互式导览。

要在不打开 Web 聊天的情况下开始一段旅程,请执行以下操作:

  1. 在发送旅程响应的操作中,编辑定义旅程的 JSON。 包含 "skip_card": true 以绕过介绍性卡。

  2. 在 Web 站点上,使用 send() 实例方法向助手发送消息,以触发启动旅程的操作 (例如 Give me a tour)。 发送消息以响应您要用于触发旅程的任何事件 (例如,按钮单击或页面装入)。

您的客户现在可以直接从您的网站开始互动之旅,而不必先打开网络聊天。 (如果稍后打开 Web 聊天窗口,那么将在聊天记录中显示该旅程的介绍性卡。)

限制

此 Beta 功能当前具有以下限制:

  • 预览窗格不支持旅程。 如果要预览旅程,请使用可共享预览链接。 有关预览链接的更多信息,请参阅 复制要共享的链接

  • 了解如何使用 view:change 事件或 changeView 方法,而不使用 window:openwindow:close 事件或 openWindowcloseWindowtoggleOpen 实例方法。

  • 当客户开始旅程时,将关闭 Web 聊天窗口。 如果您正在使用 view:change 事件来触发显示交谈后表单,那么您的代码应检查新的 event.reasonevent.newViewState.tour 参数的值,以决定显示表单是否合适。