如何使用附件快速回复

Dmi*_*try 8 messenger facebook-messenger

在快速回复的官方文档中说:

快速回复适用于所有消息类型,包括文本消息,图像和模板附件.

但是当我尝试发送它时template_type: button,我得到了错误:

{
    "error": {
        "message": "(#100) Only one of text or attachment can be specified",
        "type": "OAuthException",
        "code": 100,
        "fbtrace_id": "H8w+ZfRbBub"
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试发送:

{
    "recipient": {"id": "234567890"},
    "message": {
        "text": "TEXT_MESSAGE",
        "quick_replies": [
            {
                "content_type": "text",
                "title": "SOME_TITLE_1",
                "payload": "PAY_LOAD_1"
            },
            {
            "content_type": "text",
            "title": "SOME_TITLE_2",
            "payload": "PAY_LOAD_2"
            }
        ],
        "attachment": {
            "type": "template",
            "payload": {
                "template_type": "button",
                "text": "TEXT_MESSAGE",
                "buttons": [
                    {
                        "title": "READ_MORE_BUTTON",
                        "type": "postback",
                        "payload": "look:1:c"
                    }
                ]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我没有发送时message.text,我得到了错误:

{
    "error": {
        "message": "(#100) Cannot use both CTA and quick reply",
        "type": "OAuthException",
        "code": 100,
        "fbtrace_id": "C0DDxGzaUUj"
    }
}
Run Code Online (Sandbox Code Playgroud)

什么是CTA?

如何使用附件发送快速回复?

All*_*ger 7

此消息结构应该用于发送带有快速回复的图像附件:

{
    "recipient": {
        "id": recipient_id
    },
    "message": {
        "attachment":{
            "type":"image",
            "payload":{
                "url": image_url
            }
        },
        "quick_replies": [
            {
                "content_type":"text",
                "title": "Next Image",
                "payload": "YOUR_DEFINED_PAYLOAD_FOR_NEXT_IMAGE"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

希望有助于德米特里.


Aur*_*ere 2

所以,我也遇到了你同样的问题,我做了一些搜索。

CTA 代表什么?

首先,CTA代表号召性用语。这些是您根据按钮模板、通用模板或持久菜单线程设置请求创建的按钮。

看来,尽管正如您所说,FB 官方文档明确指出任何模板都支持快速回复,但由于某种原因,这不包括按钮模板。

这是为什么?

对我来说,按钮模板应该用于向用户提供选择,这似乎是合乎逻辑的,与快速回复的作用相同,因此它是多余的。

为什么没有记录?

我认为这可能是由于 Messenger Platform API 仍处于测试阶段并且每天都有很多变化。就我个人而言,我正在开发一个用于执行 Facebook Messenger 机器人的 Java 框架,我发现很多事情都没有很好的记录,并且您返回的错误消息通常具有误导性。因此,您可能应该接受按钮模板和快速回复不能一起工作的事实。不过,快速回复可与任何其他模板或短信一起使用。