Функция привязки аккаунта не связана с другими функциями веб-просмотра на платформе Messenger. Ее можно активировать только кнопками входа. Ее нельзя включить в постоянном меню бота, кнопками с URL, в уже открытом веб-представлении и в плагине чата.
Разработчики, использующие эти функции, теперь могут безопасным путем получить ID пользователя с помощью функции getContext()
в расширениях Messenger. Этот ID позволяет ботам привязать аккаунт пользователя или персонализировать взаимодействие с ним.
В настоящий момент привязка аккаунта поддерживается только в приложении Messenger для iOS и Android.
Когда пользователь вступает в переписку с вашей компанией, вы можете захотеть проверить, зарегистрирован ли он в ней как клиент. Мы создали безопасный протокол для привязки и отвязки аккаунтов Messenger и идентификаторов пользователей, зарегистрированных в компании.
Вы можете предложить пользователю выполнить вход, используя ваш процесс аутентификации, и по окончании получить его PSID (ID внутри страницы) Messenger. Так вы сможете сделать переписку с пользователями более безопасной, персонализированной и актуальной.
Привязка аккаунта выполняется в несколько простых шагов.
redirect_uri
и account_linking_token
добавляются в зарегистрированный обратный вызов.redirect_uri
и добавьте параметр authorization_code
(который определяете вы), подтверждающий привязку.Отвязку аккаунта может инициировать:
URL привязки аккаунта активируется платформой Messenger, когда пользователь инициирует привязку аккаунта. В URL обратного вызова добавляются параметры redirect_uri
и account_linking_token
.
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
Если привязка аккаунта прошла успешно, остается только перенаправить браузер на URL, указанный в параметре redirect_uri
, и добавить параметр authorization_code
, который определяете вы. Обратите внимание, что URL может уже содержать параметры, поэтому нужно добавить код авторизации соответствующим образом:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
Если произошел сбой привязки, перенаправьте браузер по ссылке redirect_uri
, которую вы получили в виде параметра, но не добавляйте параметр authorization_code
.
Имя параметра | Описание |
---|---|
| URI перенаправления, который добавит Messenger. Вам необходимо перенаправить браузер по этой ссылке в конце процесса аутентификации. Он может содержать параметры с использованием URL-кодирования. |
| Краткосрочный маркер, который передает Messenger. В процессе перенаправления вы должны отправить его обратно. Этот маркер действует только в течение 5 минут. Он зашифрован и уникален для каждого пользователя. |
| Код, который вы предоставляете для подтверждения успешной привязки. Платформа Messenger возвращает этот код вместе с PSID пользователя в событии Webhook привязки аккаунта. Если этот параметр не будет передан, процесс привязки прервется. |
Успешно завершенная привязка активирует событие привязки аккаунта, чтобы передать ID пользователя внутри страницы (PSID).
Вы должны зарегистрировать событие обратного вызова привязки аккаунта. В противном случае это событие Webhook прервет процесс привязки.
В некоторых случаях в процессе привязки необходимо извлечь ID пользователя внутри страницы (PSID). Для этого мы предоставляем специальную конечную точку, которая позволяет получить этот PSID по действительному маркеру account_linking_token
до истечения срока его действия.
curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \ &fields=recipient \ &account_linking_token=ACCOUNT_LINKING_TOKEN"
{ "id": "PAGE_ID", "recipient": "PSID" }
В некоторых случаях ID пользователя внутри страницы (PSID), необходимо программными средствами отвязать от вашего сервера. Для этого мы предоставляем специальную конечную точку, которая позволяет отвязать аккаунт пользователя с указанием действующего PSID.
curl -X POST -H "Content-Type: application/json" -d '{ "psid":"PSID" }' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"
{ "result": "unlink account success" }
Используйте привязку аккаунта, если у вас есть система управления аккаунтами пользователей не только в Messenger.
Позвольте создавать в Messenger аккаунты, доступные за его пределами.
Предлагая пользователю бота войти, выбирайте подходящий контекст, чтобы пользователь понимал, для чего это нужно.
Подумайте, какие действия должен выполнить бот, если пользователь откажется войти в систему.
Когда пользователь войдет в систему, покажите подтверждение входа и дружелюбное приветствие.
Не используйте привязку аккаунта, если люди будут общаться с вами только через Messenger. Информацию об аккаунте можно сохранить через ID переписки.
По возможности не просите человека сразу же привязать аккаунт. Сначала он должен понять, для чего нужен ваш бот.