媒體範本可讓您以結構化訊息的形式傳送圖像、GIF 和影片,並可選擇是否附加按鈕。以媒體範本傳送的影片和動畫 GIF 可在對話中播放。
您可透過傳送 API 傳送媒體範本,也可以從 Messenger WebView 使用 Messenger 擴充功能 SDK 的 beginShareFlow()
函數傳送。
媒體範本目前僅支援傳送圖像和影片,目前尚未支援傳送音訊。
若要傳送圖像,請向傳送 API 傳送 POST
要求,並在要求主體中指定以下 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 的影片和相片,方法是向 /messages
端點傳送 POST
要求,並在要求的 url
屬性中指定 Facebook 網址:
如需要求屬性的完整詳細資料,請參閱媒體範本參考資料。
媒體範本不允許使用任何外部網址,僅 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 平台會以所傳送訊息的 recipient_id
和 message_id
做為回應:
{ "recipient_id": "1254477777772919", "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P" }