Facebook Messenger

利用 Dialogflow Facebook Messenger 集成,您可以创建一个 Facebook Messenger 聊天机器人以与最终用户互动。

限制

此集成仅支持默认代理语言

运作方式

集成的工作原理如下:

设置

如需设置集成,请执行以下操作:

  1. 按照 Facebook 应用开发中的步骤创建一个 Facebook 应用。

  2. 设置 Facebook 应用以使用 Facebook Messenger 平台。 按照设置 Facebook 应用文档中的步骤完成以下操作:

    • 将 Messenger 平台添加到您的 Facebook 应用。
    • 为您的应用订阅 Facebook 专页。 在此步骤中,系统会为您提供访问令牌。 复制此值。 此令牌将用于从 Dialogflow 控制台配置集成。
    • 请勿配置网络钩子或测试集成。
  3. 从 Dialogflow 控制台配置集成:

    1. 转到 Dialogflow ES 控制台
    2. 点击左侧边栏菜单中的集成
    3. 点击 Facebook Messenger
    4. 此时将打开一个配置对话框:

      • 显示旧的回调网址 (Show old callback URL):如果显示此切换开关,则其默认关闭。这是一个临时选项,用于应用最近对 Facebook Messenger API 的修改。 除非收到 Dialogflow 支持团队的指示,否则请勿更改此切换开关。 更新所有代理后,此选项将被移除。
      • 回调网址 (Callback URL):复制此值。 此值将用于配置 Facebook Messenger 网络钩子。
      • 验证令牌 (Verify Token):您可以输入所需的任何私有令牌。 复制此值。 此值将用于配置 Facebook Messenger 网络钩子。
      • 页面访问令牌 (Page Access Token):输入您在创建 Facebook 页面时复制的访问令牌。
      • 开始 (Start):点击即可为您的代理启动此集成服务。
  4. 完成 Facebook 应用的设置并进行测试。 按照设置 Facebook 应用文档中的步骤完成以下操作:

    • 为您的应用配置 Facebook 网络钩子。使用您之前复制的回调网址验证令牌的值。 请务必启用 messagesmessaging_postbacks
    • 测试应用。

事件

此集成服务调用以下事件

事件 说明
FACEBOOK_WELCOME 当最终用户与您的聊天机器人开始会话时触发。

富响应消息

此集成会将一些富响应消息消息转换为 Facebook Messenger 平台消息类型

图片响应

图片响应将作为 Facebook Messenger 文件附件消息发送到 Facebook Messenger。 message.attachment.type 的值设置为 image。 支持以下格式:

  • jpg
  • png
  • 静态 gif
  • 动态 gif

卡片响应

卡片响应将作为 Facebook Messenger 通用模板发送到 Facebook Messenger。

快速回复响应

快速回复响应将作为 Facebook Messenger 快速回复发送到 Facebook Messenger。

自定义载荷响应

如需发送其他类型的 Facebook Messenger 消息,您可以使用自定义载荷

自定义载荷的一般格式如下所示:

{
  "facebook": {
    message
  }
}

提供 Facebook Messenger message 对象以替换 message。 如需详细了解 message 对象,请参阅 Facebook Messenger API 参考文档

例如:

  • 发送音频链接:
    {
      "facebook": {
        "attachment": {
          "type": "audio",
          "payload": {
            "url": "https://example.com/audio/test.mp3"
          }
        }
      }
    }
        
  • 发送可播放的视频:
    {
      "facebook": {
        "attachment": {
          "type": "video",
          "payload": {
            "url": "https://example.com/video.mp4"
          }
        }
      }
    }
        
  • 发送文件:
    {
      "facebook": {
        "attachment": {
          "type": "file",
          "payload": {
            "url": "https://example.com/file.pdf"
          }
        }
      }
    }