Facebook Messenger 聊天插件未在 Webhook 请求中触发 messages_referrals 事件

MNA*_*MNA 5 facebook webhooks facebook-messenger

我正在尝试在我的网站上集成 Messenger。我想跟踪用户(通过 Cookie 值)。Facebook 聊天插件中有一个选项“ messages_referrals ”,它告诉用户聊天的推荐键。

按照说明,我在 facebook 应用程序 webhook 事件中添加了事件“messaging_referrals”。

但仍然在我的 webhook 中,我没有获得推荐密钥。

我的插件代码看起来像这样

<div class="fb-customerchat"
 page_id="ABC"
 ref="OPTIONAL_WEBHOOK_PARAM"
 logged_in_greeting="<GREETING_MESSAGE_FOR_LOGGED_IN_USERS>"
 logged_out_greeting="<GREETING_MESSAGE_FOR_LOGGED_OUT_USERS>">
</div>

<script>
 window.fbAsyncInit = function() {
 FB.init({
  appId            : 'XYZ',
  autoLogAppEvents : true,
  xfbml            : true,
  version          : 'v2.11'
});
};
(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "https://connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Run Code Online (Sandbox Code Playgroud)

并请求我进入我的网络钩子是这个

"data": {
        "sender": {
            "id": "abc"
        },
        "recipient": {
            "id": "ABC"
        },
        "message": {
            "mid": "mid.$cAADv109V6n_F6BY",
            "text": "hi",
            "seq": 511,
            "tags": {
                "source": "customer_chat_plugin"
            }
        },
        "timestamp": 1522049646776
    }
Run Code Online (Sandbox Code Playgroud)

按照这个,我也应该在我的 webhook 请求中收到“OPTIONAL_WEBHOOK_PARAM”

kn3*_*n3l -1

以下是refFacebook 中该领域的工作方式。

确保您保留了聊天对话历史记录

然后您按照此说明进行操作。

  1. 您必须注销当前的 Facebook(如果有)。
  2. 您在网站中打开聊天信使,然后单击 Login into Messenger按钮,将为您弹出 Facebook 登录表单,因此只需填写并登录即可。
  3. 第 2 步之后,您将在网站中看到消息框出现按钮Continue as YOUR_FB_NAME,然后单击此按钮,则该ref字段将触发。

这是我的日志作为答案的证明(我使用的是 SDK 版本 7.0)。 在此输入图像描述

在您的 HTML 客户聊天中可能看起来像这样

<!-- Your Chat Plugin code -->
<div class="fb-customerchat"
     attribution=setup_tool
     page_id="11xx695540xxxx"
     ref="your-ref-pass-to-webhoooks"
     theme_color="#DA615C"
     referer_uri="your-website-uri"
     logged_in_greeting="Question-1"
     logged_out_greeting="Question-2">
</div>
Run Code Online (Sandbox Code Playgroud)