Tài liệu tham khảo về sự kiện webhook message_echoes

Lệnh gọi lại này sẽ diễn ra khi trang của bạn đã gửi một tin nhắn. Bạn có thể nhận được tin nhắn text hoặc tin nhắn có file đính kèm (image, video, audio, template hoặc fallback). Phần tải dữ liệu cũng sẽ bao gồm metadata tùy chỉnh, không bắt buộc do người gửi chuyển và app_id tương ứng.
Bạn có thể đăng ký nhận lệnh gọi lại này bằng cách chọn trường message_echoes khi thiết lập webhook.

Dưới đây là các loại tin nhắn được hỗ trợ:

Định dạng phổ biến

Ví dụ 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",
    ...
  }
}   

Ví dụ 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
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

Thuộc tính

sender

Thuộc tínhLoạiMô tả

id

Chuỗi

PSID của người dùng đã kích hoạt sự kiện webhook.

user_ref

Chuỗi

user_ref của người dùng đã kích hoạt sự kiện webhook. Thuộc tính này chỉ có sẵn cho sự kiện webhook từ plugin chat.

recipient

Thuộc tínhLoạiMô tả

id

Chuỗi

ID của Trang.

message

Tên trường Loại Mô tả

is_echo

Boolean

Cho biết tin nhắn do chính trang gửi

app_id

Chuỗi

ID của ứng dụng gửi tin nhắn. Kể từ API Đồ thị v12.0 trở lên, trường app_id sẽ trả về id ứng dụng hộp thư trên Trang Facebook (26390203743090) bất cứ khi nào tin nhắn được gửi qua hộp thư trên Trang Facebook.

metadata

Chuỗi

Chuỗi tùy chỉnh được chuyển cho API Gửi dưới dạng trường metadata. Chỉ hiển thị nếu thuộc tính metadata được đặt trong tin nhắn ban đầu.

mid

Chuỗi

ID tin nhắn

Tin nhắn văn bản

Ví dụ

{
  "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!"
  }
}    

Thuộc tính

message

Thuộc tính Loại Mô tả

text

Chuỗi

Nội dung tin nhắn

Tin nhắn có hình ảnh, âm thanh, video hoặc file đính kèm

Ví dụ

{
  "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>"
        }
      }
    ]
  }
}    

Thuộc tính

message.attachments

Thuộc tính Loại Mô tả

type

Chuỗi

Loại file đính kèm: image, audio, video hoặc file

payload.url

Chuỗi

URL của file đính kèm

Tin nhắn có file đính kèm mẫu

Ví dụ

{
  "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"
            }
          ]
        }
      }
    ]
  }
}    

Thuộc tính

message.attachments

Thuộc tính Loại Mô tả

type

Chuỗi

template

payload

Chuỗi

Phần tải dữ liệu mẫu như mô tả trong Tài liệu tham khảo về API Gửi

Lưu ý rằng trong trường hợp payload có file đính kèm, id file đính kèm được gửi sẽ là một số chứ không phải chuỗi. Hãy xem ví dụ 2

Loại này không phù hợp với định dạng của API Gửi cần có id file đính kèm được gửi dưới dạng chuỗi.

Tin nhắn có file đính kèm dự phòng

File đính kèm dự phòng là bất kỳ file đính kèm nào mà tính năng Hồi đáp tin nhắn hiện không hỗ trợ hoặc không nhận dạng được.

Ví dụ

{
  "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
      }
    ]
  }
}    

Thuộc tính

message.attachments

Thuộc tính Loại Mô tả

type

Chuỗi

fallback

title

Chuỗi

Tiêu đề của file đính kèm (không bắt buộc)

url

Chuỗi

URL của file đính kèm (không bắt buộc)

payload

Chuỗi

Phần tải dữ liệu của file đính kèm (không bắt buộc)

Tin nhắn có sản phẩm

Webhook echo tin nhắn có sản phẩm chỉ hoạt động trên API Đồ thị phiên bản 8.0 trở lên

Ứng dụng sẽ cần được phê duyệt quyền catalog_management thì mới nhận được chi tiết sản phẩm trong webhook.

Ví dụ

{
  "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",
               },
               {...},
             ]
            }

          ]
        }
      }
    ]
  }
}     

Thuộc tính

product.elements

Thuộc tính Loại Mô tả

id

Chuỗi

ID sản phẩm trong danh mục sản phẩm

retailer_id

Chuỗi

ID bên ngoài được liên kết với Sản phẩm. (Ví dụ: SKU/ID nội dung)

image_url

Chuỗi

URL của hình ảnh sản phẩm

title

Chuỗi

Tiêu đề của sản phẩm

subtitle

Chuỗi

Tiêu đề phụ của sản phẩm