Facebook Messenger Bot使用回发按钮共享结构化消息

时间:2016-10-05 19:57:13

标签: javascript facebook bots facebook-messenger

我正在审核Facebook Messenger平台,无法找到有关特定主题的任何信息。我希望僵尸网络用户与他的联系人共享一个结构化的消息,这会将联系人带回到关注上下文的机器人聊天中。

分享结构化信息效果很好:

  1. 机器人响应,其中包含带有“分享按钮”的模板的消息
  2. 点击按钮打开本机共享菜单
  3. 用户选择要与
  4. 分享消息的联系人
  5. 消息发送给联系人
  6. 每个联系人都会收到原始消息
  7. 所有内容均在文档中解释:https://developers.facebook.com/docs/messenger-platform/send-api-reference/share-button

    拼图的下一部分是“回发按钮”,可以像“分享按钮”一样添加到结构化消息模板中(在此处解释为https://developers.facebook.com/docs/messenger-platform/send-api-reference/postback-button)。点击“回发按钮”将元数据发送到webhook。一切都很好......

    假设我有一个可以进行歌曲搜索的机器人。用户类型歌词和机器人的一部分提供与那些匹配的歌曲列表。每首歌曲由机器人列为结构化消息,其中包含“分享按钮”和“后退按钮”,称为“赞”。想法是这样的消息由用户共享给他的联系人。接收消息的联系人会点击“赞”背后的想法(回发按钮)。每次单击“喜欢”都应该让用户进行机器人聊天并执行回发。 postack背后的逻辑是跟踪喜欢特定歌曲的用户联系人。

    所有这一切都有效,直到联系用户点击“赞”为止。单击打开机器人聊天(第一次用户看到欢迎信息),但不执行回发。如果我使用'URL Button'(使用Messenger Extensions)也是如此。

    有没有办法完成这样的事情?

    THX

    以下是我想要使用回复按钮的消息示例:

    var messageData = {
      recipient: {
        id: recipientId
      },
      message: {
        attachment: {
          type: "template",
          payload: {
            template_type: "generic",
            elements: [{
              title: "Shake it off",
              subtitle: "Lorem ipsum....",
              buttons: [{
                type: "web_url",
                title: "Watch video",
                url: "http...",
              }, {
                type: "postback",
                title: "Like",
                payload: "id=xyz",
              }, {
                type: "element_share",
              }]
            }]
          }
        }
      }
    };
    

1 个答案:

答案 0 :(得分:0)

Messenger平台得到了更新,新功能提供了我所需要的:https://developers.facebook.com/docs/messenger-platform/referral-params