I'm building a Facebook chatbot app. I've set the persistent menu with some JSON using an HTTP POST and a valid page access token.
To check I set it correctly, I do a GET request to https://graph.facebook.com/v2.6/me/messenger_profile?fields=persistent_menu&access_token=TOKEN with a working token.
The response I get is:
{u'data': [{u'persistent_menu': [{u'composer_input_disabled': False,
u'locale': u'en_US'},
{u'call_to_actions': [{u'call_to_actions': [{u'payload': u'whatever',
u'title': u'action1',
u'type': u'postback'},
{u'payload': u'whatever 2',
u'title': u'action2',
u'type': u'postback'}],
u'title': u'my title',
u'type': u'nested'},
{u'title': u'my title URL',
u'type': u'web_url',
u'url': u'http://google.com/',
u'webview_height_ratio': u'full'}],
u'composer_input_disabled': False,
u'locale': u'default'}]}]}
Which is what I put, so all good so far.
But when I open the Messenger app on iOS or visit messenger.com on Chrome desktop Mac OS X, I don't see any menu!
Curiously, on my server webhook endpoint I also DO receive the "Get Started" button press postback. So that is working.
My webhook to has permissions: messages, messaging_postbacks, messaging_optins, message_deliveries, message_reads.
I have tried:
- Refreshing on web
- Killing app on iOS and restarting it
- Deleting conversation and reloading bot
- Waiting 30 minutes and trying all of the above again
And none of those worked. I do still see a loading spinner in my Messenger iOS app - maybe Facebook's servers are just slow at updating my app? 30 minutes seems pretty extreme though.
Is there something wrong with my JSON for the persistent menu setup? That seems like the only thing that could be wrong.
Any idea what I'm doing wrong?
I checked back, it has been more than 24 hours and still no menu is appearing.
