2017-04-06 91 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 
}