Mẫu phương tiện

Mẫu phương tiện cho phép bạn gửi hình ảnh, ảnh GIF và video dưới dạng tin nhắn có cấu trúc bằng một nút tùy chọn. Video và ảnh động GIF gửi cùng mẫu phương tiện có thể phát được trong cuộc trò chuyện.

Bạn có thể gửi mẫu phương tiện qua API Gửi và từ chế độ xem web của Messenger bằng chức năng beginShareFlow() của SDK tiện ích Messenger.

Chỉ hình ảnh và video

Hiện tại, mẫu phương tiện chỉ hỗ trợ gửi hình ảnh và video. Âm thanh hiện không được hỗ trợ.

Nội dung

Gửi phương tiện theo ID tệp đính kèm

Để gửi hình ảnh, hãy gửi yêu cầu POST tới API Gửi, với thuộc tính payload sau trong phần nội dung yêu cầu, trong đó attachment_id là ID được tạo từ API tải lên tệp đính kèm. Đối với các yêu cầu sử dụng thuộc tính attachment_id, hình ảnh và video sẽ được hỗ trợ.

Để biết đầy đủ chi tiết về thuộc tính yêu cầu, hãy xem Tài liệu tham khảo về mẫu phương tiện.

Sử dụng lại phương tiện từ URL Facebook

ID tệp đính kèm không được hỗ trợ cho phương tiện từ URL Facebook. Các tệp này đã được lưu vào bộ nhớ đệm và sẽ được đính kèm vào mẫu phương tiện có URL Facebook.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "attachment_id": "<ATTACHMENT_ID>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Gửi phương tiện theo URL Facebook

Mẫu phương tiện cho phép bạn gửi video và ảnh đã tải lên Facebook bằng cách gửi yêu cầu POST tới điểm cuối /messages có URL Facebook trong thuộc tính url của yêu cầu:

Để biết đầy đủ chi tiết về thuộc tính yêu cầu, hãy xem Tài liệu tham khảo về mẫu phương tiện.

Chỉ URL Facebook

Mẫu phương tiện không cho phép bất kỳ URL bên ngoài nào, mà chỉ cho phép các URL trên Facebook. Để gửi hình ảnh hoặc video có URL bên ngoài, hãy tải hình ảnh/video đó lên bằng API tải lên tệp đính kèm và lấy attachment_id.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "url": "<FACEBOOK_URL>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Lấy URL Facebook

Để lấy URL Facebook của hình ảnh hoặc video, hãy làm như sau:

  1. Nhấp vào hình nhỏ của ảnh hoặc video để mở chế độ xem toàn kích thước.
  2. Sao chép URL từ thanh địa chỉ trên trình duyệt của bạn.

URL Facebook sẽ ở định dạng cơ bản sau:

Loại phương tiệnNguồn phương tiệnĐịnh dạng URL

Video

Trang Facebook

https://business.facebook.com/<PAGE_NAME>/videos/<NUMERIC_ID>

Video

Tài khoản Facebook

https://www.facebook.com/<USERNAME>/videos/<NUMERIC_ID>/

Hình ảnh

Trang Facebook

https://business.facebook.com/<PAGE_NAME>/photos/<NUMERIC_ID>

Hình ảnh

Tài khoản Facebook

https://www.facebook.com/photo.php?fbid=<NUMERIC_ID>

Thêm nút

Bạn cũng có thể đính kèm các nút vào mẫu phương tiện nếu muốn. Số lượng và loại nút được hỗ trợ khác nhau tùy thuộc vào việc bạn đang sử dụng mẫu phương tiện với SDK tiện ích Messenger beginShareFlow() hay đang gửi bằng API Gửi:

  • Send API: Có thể đính kèm tới 3 nút thuộc loại bất kỳ.
  • beginShareFlow(): Chỉ có thể đính kèm 1 nút thuộc loại URL.

Để thêm nút vào mẫu phương tiện, hãy thêm mảng buttons vào định nghĩa mẫu trong phần nội dung của yêu cầu.

Để biết thêm thông tin về các nút có sẵn, hãy xem Nút.

"elements": [
   {
      "media_type": "image",
      "url": "<MEDIA_URL>",
      "buttons": [
         {
            "type": "web_url",
            "url": "<WEB_URL>",
            "title": "View Website",
         }
      ]
   }
]

Phản hồi API

Khi thành công, Nền tảng Messenger sẽ phản hồi bằng recipient_idmessage_id của tin nhắn đã gửi:

{
  "recipient_id": "1254477777772919",
  "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P"
}