如何为多个Messenger应用程序/漫游器使用单个webhook?

时间:2017-05-06 09:21:58

标签: facebook facebook-graph-api bots chatbot facebook-messenger-bot

我正在为不同的fb页面开发不同的聊天机器人,但我只有一台服务器来运行它们。

对于我使用https://mydomain/webhook作为webhook的第一个聊天机器人,一切正常,所有消息都发送到443 port,我的程序处理它们。现在我想知道我的第二个聊天机器人应该是什么webhook。我的想法是在另一个端口上打开https连接,并使用https://mydomain/webhook:myport作为webhook,以便每个机器人监听不同的端口,并且每个webhook都相应地指向它们。

不幸的是,当我尝试从facebok开发者平台验证我的webhook时,我得到了404 not found响应。我也尝试在同一个端口上使用相同的webhook(443),我得到403 forbidden响应。

3 个答案:

答案 0 :(得分:3)

您可以使用完全相同的webhook,相同的端口和所有,用于多个facebook messenger机器人。发送到您的webhook的每个消息传递事件的有效负载将被分类到消息所针对的页面列表中。您可以编写代码来处理每个页面的有效负载,这些代码在访问您的webhook后会有所不同。

答案 1 :(得分:1)

我的错误是在“/ webhook”之后添加端口号,而端口号应该在ip地址“https://mydomain”之后。如果其他人想知道,是的,您可以使用相同的webhook用于不同的Messenger应用程序,只需使用不同的端口。

答案 2 :(得分:0)

您可以在443中收到响应,然后使用服务器conf中的proxy pass重定向到指定的端口。

    server {
    listen 443;
    server_name mydomain/webhook2;

    location /{
         proxy_pass http://127.0.0.1:yourportname;
         }
    }