Send a Message Template
In this code snippet you learn how to send a Facebook message template using a custom object with the Messages API.
Example
Ensure the following variables are set to your required values using any convenient method:
| Key | Description |
|---|---|
BASE_URL | For production use the base URL is |
MESSAGES_API_URL | There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was |
FB_SENDER_ID | Your Page ID. The |
FB_RECIPIENT_ID | The PSID of the user you want to reply to. The |
LOGO_IMAGE_URL | An optional logo image. |
HEADER_IMAGE_URL | An optional header image. |
ABOVE_BAR_CODE_IMAGE_URL | An optional image for above the bar code. |
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
Write the code
Add the following to send-template.sh:
curl -X POST $MESSAGES_API_URL \
-H 'Authorization: Bearer '$JWT \
-H 'Content-Type: application/json' \
-d $'{
"to": "'$FB_RECIPIENT_ID'",
"from": "'$FB_SENDER_ID'",
"channel": "messenger",
"message_type": "custom",
"custom": {
"attachment": {
"type": "template",
"payload": {
"template_type": "airline_boardingpass",
"intro_message": "You are checked in.",
"locale": "en_US",
"boarding_pass": [
{
"passenger_name": "OTHER/A",
"pnr_number": "CG4X7U",
"seat": "1A",
"logo_image_url": "'$LOGO_IMAGE_URL'",
"header_image_url": "'$HEADER_IMAGE_URL'",
"qr_code": "M1OTHER/A CG4X7U nawouehgawgnapwi3jfa0wfh",
"above_bar_code_image_url": "'$ABOVE_BAR_CODE_IMAGE_URL'",
"auxiliary_fields": [
{
"label": "Terminal",
"value": "T1"
},
{
"label": "Departure",
"value": "30OCT 19:05"
}
],
"secondary_fields": [
{
"label": "Boarding",
"value": "18:30"
},
{
"label": "Gate",
"value": "D57"
},
{
"label": "Seat",
"value": "74J"
},
{
"label": "Sec.Nr.",
"value": "003"
}
],
"flight_info": {
"flight_number": "KL0642",
"departure_airport": {
"airport_code": "SFO",
"city": "San Francisco",
"terminal": "T1",
"gate": "D57"
},
"arrival_airport": {
"airport_code": "LHR",
"city": "London"
},
"flight_schedule": {
"departure_time": "2018-03-02T19:05",
"arrival_time": "2018-03-05T17:30"
}
}
}
]
}
}
}
}'
Run your code
Save this file to your machine and run it:
Try it out
When you run the code a Facebook message template is sent to the recipient. In this example the message is an airline boarding pass.