首页 文章

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

提问于
浏览
4

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

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

  • bot响应,包含带有'Share Button'的模板的消息

  • 点击按钮打开本机共享菜单

  • 用户选择要与之共享消息的联系人

  • 消息将发送给联系人

  • 每个联系人都收到原始邮件

所有这些都在文档中解释:https://developers.facebook.com/docs/messenger-platform/send-api-reference/share-button

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

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

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

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

谢谢

这是我要使用的回发按钮的消息示例:

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 回答

相关问题