媒體範本可讓您以結構化訊息的形式傳送圖像、GIF 和影片,並附上一個自選按鈕。與媒體範本一起傳送的影片和動畫 GIF,可在對話中播放。
媒體範本可使用 Messenger 擴充功能 SDK 的 beginShareFlow()
函式,透過傳送 API 或從 Messenger webview 傳送。
目前,媒體範本僅支援傳送圖像和影片,不支援傳送語音。
若要傳送圖像,請傳送 POST
要求到傳送 API,並在要求內文中加入下列 payload
屬性,其中 attachment_id
是從附件上載 API 產生的編號。 如果是使用 attachment_id
屬性的要求,則可支援圖像和影片。
如需有關要求屬性的完整詳細資料,請參閱媒體範本參考資料。
附件編號不適用於來自 Facebook 網址的媒體。這些檔案已經過快取,且應與 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>"
媒體範本可讓您傳送已上載到 Facebook 的影片和相片,方法是將 POST
要求與當中 url
屬性的 Facebook 網址一起傳送到 /messages
端點:
如需有關要求屬性的完整詳細資料,請參閱媒體範本參考資料。
媒體範本不允許任何外部網址,只允許 Facebook 上的網址。若要傳送包含外部網址的圖像或影片,請使用附件上載 API 上載,並取得 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>"
若要取得圖像或影片的 Facebook 網址,請完成下列操作:
Facebook 網址應該會使用下列基本格式:
媒體類型 | 媒體來源 | 網址格式 |
---|---|---|
影片 | Facebook 專頁 |
|
影片 | Facebook 帳戶 |
|
圖像 | Facebook 專頁 |
|
圖像 | Facebook 帳戶 |
|
您也可以選擇將按鈕附加到媒體範本。支援按鈕的數量和類型,會因您是配搭 Messenger 擴充功能 SDK beginShareFlow()
使用媒體範本,還是透過傳送 API 傳送媒體範本而異:
Send API
:每一種按鈕最多只能附加 3 個。beginShareFlow()
:每一種網址最多只能附加 1 個按鈕。若要在媒體範本中加入按鈕,請在要求內文的範本定義中加入 buttons
陣列。
若要進一步瞭解可用的按鈕,請參閱按鈕。
"elements": [
{
"media_type": "image",
"url": "<MEDIA_URL>",
"buttons": [
{
"type": "web_url",
"url": "<WEB_URL>",
"title": "View Website",
}
]
}
]
成功時,Messenger Platform 會作出回應,並傳送訊息的 recipient_id
和 message_id
:
{ "recipient_id": "1254477777772919", "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P" }