В этом документе содержатся ответы на часто задаваемые вопросы.
Приложения устанавливаются с сайта приложения с использованием входа через Facebook и предоставлением разрешения pages_messaging конкретной Странице. Авторизованные приложения появятся в разделе Расширенный обмен сообщениями в настройках Страницы.
Да. Одно приложение Facebook может быть подписано на несколько Страниц. После отправки приложения на проверку (например, для разрешения pages_messaging) вы сможете настроить приложение так, чтобы оно получало Webhooks с нескольких страниц. Вам нужно будет самостоятельно определить контекст каждого Webhook на основании на полезных данных.
Да, на Страницу могут подписаться несколько приложений. Когда несколько приложений обрабатывают одну переписку, лучше всего использовать протокол передачи, чтобы определить, какой бот управляет перепиской в конкретный момент.
Ответы на часто задаваемые вопросы об Общем регламенте по защите данных и платформе Messenger см. здесь.
Если вы работаете с плагином «Отправить в Messenger», то можете использовать параметр data-ref для передачи любой информации о контексте клика.
Люди могут находить вашу страницу и через поиск в Messenger. В этих случаях у вас не будет параметра для передачи информации. Вы можете использовать функцию привязки аккаунта, чтобы связать переписку с аккаунтом пользователя на вашем сайте.
Когда приложение находится в режиме разработки, этот плагин доступен только администраторам, разработчикам и тестировщикам приложения. После того как приложение будет проверено и одобрено, вы сможете сделать его общедоступным во вкладке «Проверка приложения» в Панели приложений.
No. Unlike subscriptions where a business can send multiple messages to people on a recurring basis, the one-time notification API limits the business to a single message per user request. If the person engages with the message, the standard messaging window will reopen.
Yes. Pages interested in using the One-time Notification API need to apply for permission. Go to the Advanced Messaging section of your Page Settings and consent to the terms. A Page will be granted permission if the Page meets our criteria.
Common uses of the API include various promotional and non-promotional use cases where the User explicitly requested a follow-up. Examples include:
Your Page is not allowed to send a notification on a topic for which the User has not agreed to receive a notification. Please see the Usage and Restrictions and Limitations sections of the One-time Notification guide for more information.
A Page can send multiple requests however, the 24-hour policy will be applied to all the requests being sent. We also have controls in place to prevent spamming users with multiple requests.
The 24 hour standard messaging window will open only if the user interacts with the opt-in message. The behavior is consistent with interactions with other elements in the Messenger experience.
Pages will need to subscribe to message_optins webhook to receive notifications about User consent.
Once a person asks to be notified, the Page will receive a token which is equivalent to a permission to send a single message to the person. The token can be used to send a message to the person outside the 24 hour window. The token can only be used once and unused tokens will expire within 1 year of creation.
Yes. However, while it is possible to send another notification request using an existing token, there is no clear benefit for the business to send these type of requests.
Token is for one-time use only. Once a token is used it can not be used again.
No. The API does not return tokens available to a Page.
Page level. Permissions for the One-time Notification API are given at the Page level.
No. The app does not need to specify any message tags when sending a message outside the 24-hour standard messaging window using this API.
Это может происходить по разным причинам:
Выполните следующие действия для проверки интеграции платформы Messenger:
https://graph.facebook.com/v2.6/me/accounts?access_token=[TEST_USER_ACCESS_TOKEN](Документация)
https://graph.facebook.com/v2.6/me/subscribed_apps?method=POST&access_token=[TEST_USER_PAGE_ACCESS_TOKEN](Документация)
GET /oauth/access_token? grant_type=fb_exchange_token& client_id={app-id}& client_secret={app-secret}& fb_exchange_token={short-lived-token}
Да. Бот может использовать оба типа переписки. В этом случае пользователь должен активировать стандартную переписку с помощью допустимого действия или подписаться на рассылку сообщений.
Боты технически не смогут отправлять пользователям больше одного сообщения по истечении 24 часов (сообщения не будут отправлены). В переходный период подобные сообщения существующих ботов будут отправлены, но в случае обнаружения они будут отмечены как недопустимые.
Нет. Платформа Messenger не предлагает API, который бы возвращал список PSID всех людей, которые согласились получать сообщения от вашего бота.
Это может быть связано с двумя факторами. Во-первых убедитесь, что ваш Webhook правильно настроен (https://developers.facebook.com/docs/messenger-platform/webhook-reference#setup). Существует индикатор, указывающий на корректную работу Webhook.
Во-вторых, нужно подписаться на все страницы. Вы увидите список всех страниц, на которые вы подписаны.
Если вызовы Webhook дают сбои в течение долгого времени, подписка приложения будет отменена, и вам придется снова добавлять Webhook и подписывать приложение на страницу.
Вызовы Webhook содержат в заголовке поле X-Hub-Signature, которое позволит убедиться, что вызов получен от Facebook.
Убедитесь, что ваш Webhook отвечает с кодом статуса 200. Это код указывает на успешное получение запроса. Если код 200 не возвращается, мы будем отправлять повторные вызовы, пока этот код не будет получен. Кроме того, если Webhook не возвращает код 200 в течение долгого времени, мы начинаем отправлять разработчику предупреждения.
Обратите внимание, что успешный ответ возвращается через установленный промежуток времени. Вызов Webhook имеет таймаут 20 секунд. Конфигурируйте код таким образом, чтобы запросы Webhook обрабатывались асинхронно, тогда код статуса будет возвращаться мгновенно.
Для просмотра недавних ошибок Webhooks есть специальный инструмент. Если вызовы Webhooks не доставляются, серверы Facebook автоматически отменяют подписку для вашего URL. Чтобы воспользоваться инструментом, перейдите на Панель приложений, выберите > Messenger > "Настройки" и найдите в карточке Webhooks кнопку Показать недавние ошибки.