快速回复

借助快速回复,您最多可在对话中显示 13 个按钮,这些按钮包含一个标题和可选图片,并显示在编辑器上方的显眼位置。此外,您还可以使用快速回复请求用户提供位置信息、邮箱和手机号。


轻触某个快速回复时,按钮会被停用,系统会将所轻触按钮的名称作为消息发布到对话中。系统会向包含该按钮名称和可选有效负载的 Webhooks 发送 messages 事件。

如需获取请求属性的完整列表,请参阅快速回复参考文档

发送快速回复

如要发送快速回复,请在文本消息中添加 quick_replies 数组,并加入最多可定义 13 个快速回复按钮的对象。

支持下列快速回复类型:

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "messaging_type": "RESPONSE",
  "message":{
    "text": "Pick a color:",
    "quick_replies":[
      {
        "content_type":"text",
        "title":"Red",
        "payload":"<POSTBACK_PAYLOAD>",
        "image_url":"http://example.com/img/red.png"
      },{
        "content_type":"text",
        "title":"Green",
        "payload":"<POSTBACK_PAYLOAD>",
        "image_url":"http://example.com/img/green.png"
      }
    ]
  }
}' "https://graph.facebook.com/v19.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"    

文本快速回复

您也可以在发送文本快速回复时附上可选图片,图片会在标题旁边作为图标显示。如果将快速回复的 content_type 指定为 text,则必须指定非空 title

语法

如需获取请求属性的完整列表,请参阅快速回复参考文档

{
  "content_type":"text",
  "title":"<BUTTON_TEXT>",
  "image_url":"http://example.com/img/red.png",
  "payload":"<DEVELOPER_DEFINED_PAYLOAD>"
}

Webhooks 事件

轻触某个快速回复后,系统将向您的 Webhooks 消息接收回调发送文本消息。

此事件的 text 属性与“快速回复”的标题一致。消息对象还包含名为 quick_reply 的字段,此字段包含快速回复的 payload 数据。

{
  "object": "page",
  "entry": [
    {
      "id": "<PAGE_ID>",
      "time": 1502905976963,
      "messaging": [
        {
          "sender": {
            "id": "1254459154682919"
          },
          "recipient": {
            "id": "682498171943165"
          },
          "timestamp": 1502905976377,
          "message": {
            "quick_reply": {
              "payload": "DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN"
            },
            "mid": "m_AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P",
            "text": "Green"
          }
        }
      ]
    }
  ]
}

用户手机号快速回复

借助用户手机号快速回复,您可以请求用户提供其手机号。手机号快速回复发出后,Messenger 平台将自动在显示的快速回复中预填用户个人主页信息中的手机号。

如果用户的个人主页中没有手机号,则快速回复不会显示。

用户点击快速回复后,智能助手才会收到手机号。

用户选择快速回复时,只会提供这些信息一次,而不会一并授予这些信息的长期使用权限。

语法

{
  "content_type":"user_phone_number"
}

Webhooks 事件

用户轻触快速回复时,手机号将在 messages Webhooks 事件的 payload 属性中传递。

{
  "object": "page",
  "entry": [
    {
      "id": "

用户邮箱快速回复

借助用户邮箱快速回复,您可以请求用户提供其邮箱。电子邮箱快速回复发出后,Messenger 平台将自动在显示的快速回复中预填用户个人主页信息中的电子邮箱。

如果用户的个人主页中没有邮箱,则快速回复不会显示。

用户点击快速回复后,智能助手才会收到邮箱。

用户选择快速回复时,只会提供这些信息一次,而不会一并授予这些信息的长期使用权限。

语法

{
  "content_type":"user_email"
}

Webhooks 事件

用户轻触快速回复时,邮箱将在 messages Webhooks 事件的 payload 属性中传递。

{
  "object": "page",
  "entry": [
    {
      "id": "

最佳实践

使用快速回复提示具体的后续步骤。

保持简洁:冗长的快速回复会被截断。

不要用于想要永久保存的操作:快速回复在下一条消息显示后即会消失。

开发者支持