Messenger平台:Webhook失败

时间:2016-12-31 17:50:00

标签: javascript node.js facebook-messenger facebook-messenger-bot

我的问题有点像this

  

您的Webhooks订阅回调网址https:// {domain} / bot至少2天内未接受更新。请验证您的回调服务器是否正常运行。请访问我们的参考文档,了解如何更新回调网址。

     

如果您的回调网址在12小时后仍然失败,您的订阅将被停用。要重新激活,只需使用相同的参数发出POST请求,或访问应用信息中心中的Webhooks标签。

但是,我非常确定我已将状态200返回给每个请求,这是我的代码的一部分:

router.post("/bot", (req, res) => {
    Promise.map(req.body["entry"], eachEntry => {
        return Promise.map(eachEntry["messaging"], eachMessage => {
           // some postback and quick_replies handling, send messages...
        });
    })
    .then(() => res.sendStatus(200))
    .catch(err => {
        console.error(err.stack);
        res.sendStatus(200);
    });
});

我只订阅了messagesmessaging_postbacksmessage_deliveries等活动。我想即使有一些我无法处理的事情,这些请求最终也会获得状态200。

但我不明白的是,每当我收到webhook失败警报时,我都没有看到错误或任何在日志中没有作为状态200返回的内容。

我也尝试将res.sendStatus(200)更改为res.end()res.status(200).end(),但它也没有帮助。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

过去两周我一直在处理这个问题,这让我发疯,因为我知道我们的服务器上的一切都运行良好,而且webhook响应总是200 OK ......

所以我找到了这个帖子:https://developers.facebook.com/bugs/594288957423128/ ......显然很多人都遇到了这个问题。原来这是Messenger平台方面的一个错误。

以下是facebook团队写的一篇文章:

  

尤欧和其他人,

     

我们已经解决了这个问题,它将在下周二推出。请继续关注。

     

Shireesh   5小时前·(2017年1月4日)

所以手指交叉......问题应该尽快解决! ;)

相关问题