2017-04-06 48 views
0

我尝试用我的服务器上的自定义webhook为FB持久性菜单和其他功能工作正常。 当我使用api.ai作为webhook和NLP理解和Facebook bot作为客户端界面时,那么在那种情况下如何使用持久性菜单。facebook api.ai持久性菜单

+0

你是否托管了自己的机器人? –

+0

@BcfAnt是的!尽管我希望在facebook bot中拥有菜单驱动选项,但我仍在托管自己的服务器。我尝试虽然api.ai - >>意图 - >>快速回复部分,我添加菜单驱动响应预定义意图,但我想通过webhook响应从我自己的服务器,虽然api.ai动态响应添加这些 – Swapnil

回答

0

设置永久性菜单(不要忘记设置您的访问令牌)。

curl -X POST -H "Content-Type: application/json" -d '{ "persistent_menu":[ { "locale":"default", "composer_input_disabled":false, "call_to_actions":[ { "title":"Examples", "type":"nested", "call_to_actions":[ { "type":"postback", "title":"Option 1", "payload":"OPTION_1" }, { "type":"postback", "title":"Option 2", "payload":"OPTION_2" }, ] }, { "type":"postback", "title":"Share Bot", "payload":"SHARE" } ] } ] }' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<ACCESS_TOKEN>"

在你的Bot代码,仔细检查你的POST网络挂接涉及的event.postback。然后检查回发的有效负载以操作菜单请求。

if(event.postback.payload == "OPTION_1") { 
    // Option 1 bot action 
} 
if(event.postback.payload == "OPTION_2") { 
    // Option 2 bot action 
} 
if(event.postback.payload == "SHARE") { 
    // Share bot action 
}