Media Template Reference

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.

Request URI

https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>

Example Request

Send with 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>",
               "attachment_id": "<ATTACHMENT_ID>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Send with Facebook URL

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>"

Example Response

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

Properties

recipient

Description du destinataire du message. Toutes les demandes doivent contenir l’un de ces éléments : id, phone_number ou user_ref.

PropriétéTypeDescription

recipient.id

Chaîne

Soit le PSID, le phone_number ou la user_ref du destinataire du message.

recipient.phone_number

Chaîne

Facultatif. Numéro de téléphone du destinataire au format +1(212)555-2368.


Pour envoyer des messages de cette manière, votre bot doit être approuvé pour la correspondance client.

recipient.user_ref

Chaîne

Facultatif.user_ref à partir du plugin Checkbox.

recipient.name

Objet

Facultatif. Utilisé uniquement si phone_number est défini. Spécifie le nom de la personne au format :


{"first_name":"John", "last_name":"Doe"}

Fournir un nom augmente les chances de trouver une correspondance.

message

Description of the message to be sent.
Property Type Description

message.attachment

Object

An object describing attachments to the message.

message.attachment

Property Type Description

type

String

Value must be template

payload

Object

payload du modèle.

message.attachment.payload

Property Name Type Description

template_type

String

Value must be media

elements

Array<element>

An array containing 1 element object that describe the media in the message. A maximum of 1 element is supported.

sharable

Boolean

Optional. Set to true to enable the native share button in Messenger for the template message. Defaults to false.

message.attachment.payload.elements

Property Name Type Description

media_type

String

The type of media being sent - image or video is supported.

attachment_id

String

The attachment ID of the image or video. Cannot be used if url is set.

url

String

The URL of the image. Cannot be used if attachment_id is set.

buttons

Array

An array of button objects to be appended to the template. A maximum of 3 button is supported.

Error Codes

Error CodeDescription

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