测试 Facebook Messenger 选择加入回调

Testing Facebook Messenger Opt-in callback

我正在尝试测试订阅 messaging_optins event 的 webhook,但我很难手动触发该事件。

文档似乎表明使用 "Send to Messenger" 插件应该会触发此事件,但在设置按钮后不会触发任何事件。用户被重定向到 Messenger 网站并要求登录,然后被定向到与我的页面的空对话。我已经以我的管理员用户身份尝试过这个,一个随机的真实 Facebook 帐户和一个用于我的应用程序的测试帐户。

应该什么时候触发此事件?我如何手动触发事件?

编辑

我想指出,我的 webhook 正在运行,并且我能够接收有关收到消息的事件。只是不是选择加入事件。

您可以使用下面的 curl 请求,如果您正在检查 sha1 签名,则将 SHA1OFTHEBODY 替换为负载的 sha1 签名,并将 https://chabotproxy.com/messenger/webhooks 替换为您的 webhook 端点url:

curl -X POST -H "x-hub-signature: sha1=SHA1OFTHEBODY" -H "content-type: application/json" -d '{
  "object":"page",
  "entry":[
    {
      "id":"PAGE_ID",
      "time":1458692752478,
      "messaging":[
        {
          "sender":{
            "id":"USER_ID"
          },
          "recipient":{
            "id":"PAGE_ID"
          },
          "timestamp":1234567890,
          "optin":{
            "ref":"chatbotproxy.com"
          }
        }    
      ]
    }
  ]
}' https://chabotproxy.com/messenger/webhooks