Skip to main content

Facebook Message Types

There are various types of raw (unstructured) content that can be sent to your users.

Text

Text
Text
{
type: "TEXT",
text: "Hello World!"
}
PropertyDescriptionRequired
typeTEXTY
textString; Limited to 2,000 charactersY

Image

Image
Image
{
type: "IMAGE",
url: "http://image.png",
attachment_id: "SomeStringID"
}
PropertyDescriptionRequired
typeIMAGEY
urlURL of the image fileY
attachment_idString; ID of your uploaded imageN
note
  • Image must be a valid image file format, including .jpg, .jpeg, .png, .gif, .tiff and .bmp
  • Maximum file size is 2MB
  • You may send out Quick Reply buttons together with an image

Audio

Audio
Audio
{
type: "AUDIO",
url: "http://audio.mp3",
attachment_id: "SomeStringID",
}
PropertyDescriptionRequired
typeAUDIOY
urlURL of the audio fileY
attachment_idString; ID of your uploaded audioN
note
  • Audio must be a valid audio file format, including .aac, .flac, .m4a, .m4p, .mp3, .wav and .wma
  • You may send out Quick Reply buttons together with an audio message

Video

Video
Video
{
type: "VIDEO",
url: "http://video.mp4",
attachment_id: "SomeStringID"
}
PropertyDescriptionRequired
typeVIDEOY
urlURL of the video fileY
attachment_idString; ID of your uploaded videoN
note
  • Video must be a valid video file format, including .mkv, .gif, .avi, .wmv, .rmvb, .mp4, .m4v, .mpg, .mpeg and .3gp
  • Maximum file size is 25MB
  • You may send out Quick Reply buttons together with a video

File

File
File
{
type: "FILE",
url: "http://file.pdf",
attachment_id: "SomeStringID",
}
PropertyDescriptionRequired
typeFILEY
urlURL of the file attachmentY
attachment_idString; ID of your uploaded fileN
note
  • File must be a valid file format, including .pdf
  • Maximum file size is 25MB
  • You may send out Quick Reply buttons together with a file

Carousel is a horizontal scrollable row of items, each composed of an image attachment, short description and buttons to request input from users.

Carousel
Carousel

{
type: "CAROUSEL",
carousel: [{
title: "Classic T-Shirt",
subtitle: "Medium Grey\n$29.99",
image_url: "http://img.url",
default_action: {
type: "web_url",
url: "https://zuckstees.com"
},
buttons: [{
type: "web_url",
url: "https://sanuker.com",
title: "View Details"
}, {
type: "postback",
title: "Shop Now",
payload: "A_LONG_PAYLOAD_HERE"
}, {
type: "phone_number",
title: "some title 3",
payload: "PHONE_NUMBER"
}]
}],
image_aspect_ratio: "square"
}
Response Object
PropertyDescriptionRequired
typeCAROUSELY
carouselArray of carousel items; Maximum of 10 elementsY
image_aspect_ratioSet "horizontal" (1.91:1) or "square" (1:1); Defaults to "horizontal"N
carousel Object
PropertyDescriptionRequired
titleString; Limited to 80 charactersY
subtitleString; Limited to 80 charactersN
image_urlURL of the image displayedN
default_actionDefault website URL when users click on the imageN
buttonsArray of buttons; Maximum of 3 buttons that appear as call-to-actionN
note
  • You may send out Quick Reply buttons together with a carousel
  • You may not necessarily include buttons for a carousel if no call-to-action is intended

Buttons

Button
Button
{
type: "BUTTON",
text: "What can I do to help?",
buttons: [{
type: "web_url",
url: "https://sanuker.com",
title: "Get Order Status"
}, {
type: "phone_number",
title: "Call Me",
payload: "PHONE_NUMBER"
}, {
type: "postback",
title: "some title 2",
payload: "A_LONG_PAYLOAD_HERE"
}]
}
PropertyDescriptionRequired
typeBUTTONY
textString; Limited to 640 charactersY
buttonsArray of buttons; Maximum of 3 buttons that appear as call-to-actionY

For different types of button objects, please see Button Types.


Quick Reply

Quick Reply provide a different way to present buttons in a message. It contains text and an optional image.

The only difference between Quick Reply and Button is that Quick Reply only appears once and will be dismissed once it is clicked, while Button remains on the message even it is clicked. This prevents the scenario where users could tap on the old Quick Reply buttons attached to previous messages in the conversation.

Facebook quick replies
Facebook quick replies
{
type: "QUICK_REPLIES",
text: "some text",
quickReplies: [{
content_type: "text",
title: "Red",
payload: "PAYLOAD_STRING",
image_url: "http://red.img.url"
}, {
content_type: "text",
title: "Green",
payload: "PAYLOAD_STRING",
image_url: "http://green.img.url"
}, {
content_type: "text"
}]
}
Response Object
PropertyDescriptionRequired
typeQUICK_REPLIESY
textString; Limited to 2,000 charactersY
quickRepliesArray of quick reply buttons; Maximum of 13 buttonsY
quickReplies Object
PropertyDescriptionRequired
content_typeSet "text", "user_phone_number" or "user_email"Y
titleString; caption of button; Limited to 20 charactersOnly if content_type is "text"
image_urlURL of image for text quick replyN
payloadCustom defined payload trigger; Limited to 1,000 charactersOnly if content_type is "text"
s NOTE
  • Image for image_url should be at least 24x24 and will be cropped and resized.
  • If user doesn't have phone number or email in the profile, the "user_phone_number" and "user_email" quick reply button won't be displayed.

Media

Media is similar to a carousel without title and subtitle but it can also display video.

Facebook media
Facebook media
{
type: "MEDIA",
media_type: "image",
attachment_id: "attachmentId",
buttons: [{
type: "postback",
title: "Show Me More!",
payload: "A_LONG_PAYLOAD_HERE"
}]
}
PropertyDescriptionRequired
typeMEDIAY
media_typeSet "image" or "video"Y
attachment_idString; ID of your uploaded media fileY
buttonsArray of buttons; Maximum of 3 buttons that appear as call-to-actionN
note
  • You may send out Quick Reply buttons together with a media template

Public Reply

Public Reply refers to the comment reply to users' comments on Facebook post.

Facebook public reply
Facebook public reply
{
type: "PUBLIC_REPLY",
text: "some text",
attachment_id: "attachmentId",
attachment_url: "https://img.url"
}
PropertyDescriptionRequired
typePUBLIC_REPLYY
textString; Limited to 5,000 charactersEither text, attachment_id or attachment_url must be set
attachment_idString; ID of your uploaded media fileEither text, attachment_id or attachment_url must be set
attachment_urlURL of the media file you want to postEither text, attachment_id or attachment_url must be set