快速回复
“快速回复”以全新方式向用户呈现按钮。“快速回复”主要显示直观的按钮供用户选择,将键盘输入功能放在次要的位置。轻触快速回复时,消息将在对话中发送,同时回调中包含开发者定义的元数据。此外,所有按钮都将被停用,防止用户触碰到对话中历史消息内的按钮。
快速回复可包含文字,您也可以选择性地添加图片。

此外,您还可以使用快速回复提示用户提供位置信息。

示例
纯文字
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"text":"Pick a color:",
"quick_replies":[
{
"content_type":"text",
"title":"Red",
"payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED"
},
{
"content_type":"text",
"title":"Green",
"payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN"
}
]
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN" 文字和图片
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"text":"Pick a color:",
"quick_replies":[
{
"content_type":"text",
"title":"Red",
"payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED",
"image_url":"http://petersfantastichats.com/img/red.png"
},
{
"content_type":"text",
"title":"Green",
"payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN",
"image_url":"http://petersfantastichats.com/img/green.png"
}
]
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
位置
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"text":"Please share your location:",
"quick_replies":[
{
"content_type":"location",
}
]
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
字段
message 对象
| 属性名称 | 说明 | 是否必须提供 |
|---|---|---|
| 消息文本 | 必须设置 |
|
| 必须设置 |
| 要随消息发送的一组 | 否 |
quick_replies的数量限制为 11
attachment 对象
| 属性名称 | 说明 | 是否必须提供 |
|---|---|---|
| 附件类型,可以是 | 是 |
| 附件负载 | 是 |
快速回复适用于所有消息类型,包括文本消息、图片和模板附件。如需详细了解如何使用 attachment 对象,请参阅发送 API 文档。
quick_reply 对象
| 属性名称 | 说明 | 类型 | 是否必须提供 |
|---|---|---|---|
|
| 字符串 | 是 |
| 按钮说明 | 字符串 | 仅当 |
| 将通过 webhook 向您发回的自定义数据 | 字符串 | 仅当 |
|
| 字符串 | 否 |
title限制为 20 个字符,超出时将被截断payload的字符数限制为 1000 个- 如果
content_type为location,就不会使用title和payload image_url包含的图片大小应至少为 24x24,并会裁剪和调整尺寸
回调
轻触“快速回复”后,系统将向您的 webhook 消息接收回调发送文本消息。消息文本将对应于“快速回复”的标题。消息对象还包含名为 quick_reply 的字段,此字段包含快速回复的 payload 数据。
{
"sender": {
"id": "USER_ID"
},
"recipient": {
"id": "PAGE_ID"
},
"timestamp": 1464990849275,
"message": {
"mid": "mid.1464990849238:b9a22a2bcb1de31773",
"seq": 69,
"text": "Red",
"quick_reply": {
"payload": "DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED"
}
}
}
当用户分享位置时,回调将如下所示:
{
"object": "page",
"entry": [
{
"id": "PAGE_ID",
"time": 1472672934319,
"messaging": [
{
"sender": {
"id": "USER_ID"
},
"recipient": {
"id": "PAGE_ID"
},
"timestamp": 1472672934259,
"message": {
"mid": "mid.1472672934017:db566db5104b5b5c08",
"seq": 297,
"attachments": [
{
"title": "Facebook HQ",
"url": "https://www.facebook.com/l.php?u=https%....5-7Ocxrmg",
"type": "location",
"payload": {
"coordinates": {
"lat": 37.483872693672,
"long": -122.14900441942
}
}
}
]
}
}
]
}
]
}

