Чат-чат Facebook отвечает «Действие не выполнено» ошибка обратной передачи в постоянном меню

Постоянное меню моего чата в Facebook работало нормально до тех пор, пока несколько дней назад, однажды из нескольких попыток, когда я нажимал на постоянный пункт меню, возникало всплывающее сообщение об ошибке:
Действие не выполнено
При доставке вашего сообщения боту произошла ошибка.
Пожалуйста, попробуйте позже.

Это происходит время от времени, и я проверил, что когда это происходит, сторона моего PHP-кода не получала никакой обратной передачи от Facebook. Когда ошибок нет, обратная передача работает нормально. Кто-нибудь еще получает эту ошибку?

Мое постоянное меню настроено так:

//-----------Persistent Menu
$url = 'https://graph.facebook.com/v2.6/me/messenger_profile?access_token='.$access_token;
$ch = curl_init($url);

$jsonData = '{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"View in Chinese",
"type":"postback",
"payload":"mainMenu"},
{
"title":"View in English",
"type":"postback",
"payload":"mainMenuEN"}


]
},
{
"locale":"zh_TW",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"View in Chinese",
"type":"postback",
"payload":"mainMenu"},
{
"title":"View in English",
"type":"postback",
"payload":"mainMenuEN"}

]
},
{
"locale":"en_US",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"View in Chinese",
"type":"postback",
"payload":"mainMenu"},
{
"title":"View in English",
"type":"postback",
"payload":"mainMenuEN"}

]
}
]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);

4

Решение

У меня такая же проблема. Это было исправлено следующими изменениями:

App settings -> [Products] Messenger -> Settings -> Webhooks -> Edit events -> Add messaging_postbacks

Возможно, вы забыли добавить событие, и FB не может отправлять постбэк / полезную нагрузку каких-либо кнопок на сервер.

Тщательно проверьте, правильно ли указан тип кнопок: web_url или же postback в нижнем регистре.

Имейте в виду также, что постоянное меню требует pages_messaging permission в соответствии с FB Developers Doc

5

Другие решения

Если у вас уже есть messaging_postbacks включен, но все еще получаю эту ошибку:

Page Access Token вы используете, вероятно, нуждается в обновлении в вашем webhook.

Вернитесь на панель инструментов приложения для разработчиков. Выбрать Messenger >> Settings,
Прокрутите вниз до "Token Generation" раздел:
введите описание изображения здесь

Выберите свою страницу в раскрывающемся списке и скопируйте новый токен доступа для использования в своем веб-крюке.

У меня была та же самая проблема, и это работало для меня после поиска повсюду ответа.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector