The media template allows you to send a structured message that includes an image or video, and an optional button. For complete implementation details, see Media Template.
https://graph.facebook.com/v21.0
/me/messages?access_token={PAGE_ACCESS_TOKEN}
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/v21.0
/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
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/v21.0
/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
{ "recipient_id": "1254477777772919", "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P" }
recipient
Description of the message recipient. All requests must include one of the following properties to identify the recipient.
Property | Type | Description |
---|---|---|
| String | Page Scoped User ID (PSID) of the message recipient. The user needs to have interacted with any of the Messenger entry points in order to opt-in into messaging with the Page. Note that Facebook Login integrations return user IDs are app-scoped and will not work with the Messenger platform. |
| String | Used for the checkbox plugin and customer chat plugin. |
| String | Used for Private Replies to reference the visitor post to reply to. |
| String | Used for Private Replies to reference the post comment to reply to. |
message
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
Property | Type | Description |
---|---|---|
| String | Value must be |
| Object |
|
message.attachment.payload
Property Name | Type | Description |
---|---|---|
| String | Value must be |
| Array< | An array containing 1 element object that describe the media in the message. A maximum of 1 element is supported. |
| Boolean | Optional. Set to |
message.attachment.payload.elements
Property Name | Type | Description |
---|---|---|
| String | The type of media being sent - |
| String | The attachment ID of the image or video. Cannot be used if |
| String | The URL of the image. Cannot be used if |
| Array | An array of button objects to be appended to the template. A maximum of 3 button is supported. |
Error Code | Description |
---|---|
2018173 | Failed to generate preview url |
2018175 | Media Preview Failed |
2018182 | Media Type not valid |
2018183 | Attachment Id is missing |
2018184 | Media Template Facebook Media URL Is Not Supported |
2018185 | Non facebook url in url param |
2018186 | Unable to get photo or video from facebook url |
2018187 | Either URL or attachment id is required |
2018188 | External URL is not supported |