message_echoes Webhooks 事件参考文档

当公共主页发送消息后,便会发生此回调。您可能会收到 text 消息或包含附件(imagevideoaudiotemplatefallback)的消息。该负载还将包含发件人发送的可选自定义 metadata 和相应的 app_id
如要订阅此回调,您可以在设置 Webhooks 时选择 message_echoes 字段。

此回调支持多种类型的消息,具体如下:

常见格式

示例 1

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1457764197627,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1457764197618:41d102a3e1ae206a38",
    ...
  }
}   

示例 2

{
    "object": "page",
    "entry": [
        {
            "id": "<PAGEID>",
            "time": 1570053170926,
            "standby": [
                {
                    "sender": {
                        "id": "<PAGEID>"
                    },
                    "recipient": {
                        "id": "<PSID>"
                    },
                    "timestamp": 1570053170673,
                    "message": {
                        "mid": "qT7ywaKpO9kkQR7Gv-nM8LIfLZDamVrALniheUYEDdHJXjDXEAyaS1xxONzb2Iv-DFzmTihfWJV012P5pK0AhQ",
                        "is_echo": true,
                        "app_id": <APPID>,
                        "attachments": [
                            {
                                "title": "",
                                "url": "https:\/\/www.facebook.com\/commerce\/update\/",
                                "type": "template",
                                "payload": {
                                    "template_type": "media",
                                    "elements": [
                                        {
                                            "media_type": "image",
                                            "attachment_id": 2457235337685388
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

属性

sender

属性类型描述

id

字符串

触发 Webhook 事件的用户 PSID。

user_ref

字符串

触发 Webhook 事件的用户 user_ref。此属性仅适用于聊天插件的 Webhook 事件。

recipient

属性类型描述

id

字符串

您的主页编号。

message

字段名称 类型 描述

is_echo

布尔值

表示该消息由公共主页自行发送

app_id

字符串

发送消息的应用的编号。自图谱 API v12.0 开始,无论何时通过 Facebook 公共主页收件箱发送消息,app_id 字段都会返回 Facebook 公共主页收件箱应用编号 (26390203743090)。

metadata

字符串

作为 metadata 字段传递到 Send API 的自定义字符串。仅当原始消息中设置了 metadata 属性时,回调才会显示此字符串。

mid

字符串

消息编号

文本消息

示例

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1457764197627,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1457764197618:41d102a3e1ae206a38",
    "text":"hello, world!"
  }
}    

属性

message

属性 类型 描述

text

字符串

消息的文本

包含图像、音频、视频或文件附件的消息

示例

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"image",
        "payload":{
          "url":"<IMAGE_URL>"
        }
      }
    ]
  }
}    

属性

message.attachments

属性 类型 描述

type

字符串

附件类型:imageaudiovideofile

payload.url

字符串

附件的网址

包含模板附件的消息

示例

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"template",
        "payload":{
          "template_type":"button",
          "buttons":[
            {
              "type":"web_url",
              "url":"https:\/\/www.messenger.com\/",
              "title":"Visit Messenger"
            }
          ]
        }
      }
    ]
  }
}    

属性

message.attachments

属性 类型 描述

type

字符串

template

payload

字符串

Send API 参考文档中所述的模板负载

请注意,如果 payload 中包含附件,所发送的附件编号会是数字而不是字符串。参见示例 2

这与 Send API 要求的格式不同,后者需要以字符串形式发送附件编号。

包含回退附件的消息

回退附件是指消息返回功能目前无法识别或不支持的附件。

示例

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "title":"Legacy Attachment",
        "url":"https:\/\/www.messenger.com\/",
        "type":"fallback",
        "payload":null
      }
    ]
  }
}    

属性

message.attachments

属性 类型 描述

type

字符串

fallback

title

字符串

附件标题(非必填)

url

字符串

附件网址(非必填)

payload

字符串

附件负载(非必填)

包含商品的消息

包含商品的消息返回 Webhooks 仅适用于图谱 API 8.0 及以上版本

应用将需要具备 catalog_management 权限,才能获准在 Webhooks 中接收商品详情。

示例

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"template",
        "payload":{
          "product":{
             "elements":[ // multiple elements for Hscroll
               {
                 "id":"<PRODUCT_ID>",
                 "retailer_id":"<EXTERNAL_ID>",
                 "image_url":"https://fb.cdn.com/sdsd",
                 "title":"Some product title",
                 "subtitle": "40",
               },
               {...},
             ]
            }

          ]
        }
      }
    ]
  }
}     

属性

product.elements

属性 类型 描述

id

字符串

商品目录上的商品编号

retailer_id

字符串

与商品关联的外部编号。(例如:SKU 或内容编号)

image_url

字符串

商品图像网址

title

字符串

商品标题

subtitle

字符串

商品的副标题