从外部网站调用触发Facebook Messenger上的Botframework v4

问题描述 投票:0回答:1

我正在尝试打开一个特定的信使页面并触发一个对话框,根据我的用户在我的网站上输入的参数显示轮播。我正在利用m.me链接打开我的信使页面(部署了我的botframeowrk bot)。打开页面后,我无法调用对话框。

我怎么能实现这个???

我浏览了Botframework V4文档并没有找到任何特定于通道的触发器。我想从网站上传递4个参数给我的Bot,然后在我将调用的对话框中进一步调用api来显示结果。

提前致谢。

facebook botframework facebook-messenger direct-line-botframework
1个回答
0
投票

您需要在Facebook Developer门户中启用消息传递引用以使用m.me链接。在门户中,单击左侧的设置刀片,向下滚动到webhooks,然后单击编辑事件。应弹出一个窗口,您可以在其中启用messaging_referrals

enter image description here

Facebook只允许您将ref参数添加到m.me链接,因此要使用此链接向bot发送其他数据,您必须对ref参数中的值进行编码并在bot端解析数据 - 我建议使用分隔符值(如逗号或斜杠)来组织数据。

https://m.me/<PAGE_NAME>?ref=my,additional,data

该事件将作为带有引荐属性的消息活动发送到机器人,您可以在其中获取数据。

m.me链接机器人活动

{
  "type": "message",
  "id": "CDbQi3u62J7",
  "timestamp": "2019-03-19T19:30:11.219Z",
  "serviceUrl": "https://facebook.botframework.com/",
  "channelId": "facebook",
  "from": {
    "id": "2031650190235097",
    "name": "TJ Durnford"
  },
  "conversation": {
    "isGroup": false,
    "id": "2031650190235097-218838049015546"
  },
  "recipient": {
    "id": "218838049015546",
    "name": "thdurn-all-channels"
  },
  "channelData": {
    "sender": {
      "id": "2031650190235097"
    },
    "recipient": {
      "id": "218838049015546"
    },
    "timestamp": 1553023811219,
    "referral": {
      "ref": "my,additional,data",
      "source": "SHORTLINK",
      "type": "OPEN_THREAD"
    }
  }

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.