當用戶與您的企業展開對話時,您可能會想要識別該用戶是否為貴企業的顧客且已擁有帳號。為協助您處理這類情況,我們建立了安全通訊協定,以連結與取消連結 Messenger 用戶身分與您的企業用戶身分。
「帳號連結」可讓您邀請用戶使用您自己的驗證流程登入,並在完成時取得 Messenger 粉絲專頁範圍編號(PSID)。如此一來,您就可以提供用戶更安全、更個人化,且更貼近需求的體驗。
帳號連結流程會依照下列幾個簡單步驟進行。
redirect_uri
和 account_linking_token
參數。redirect_uri
所提供的位置,並附加由您定義的 authorization_code
參數以確認連結。帳號取消連結可以透過下列方式起始:
當用戶觸發帳號連結時,Messenger 平台會叫用帳號連結網址。網址回呼會附加 redirect_uri
和 account_linking_token
參數。
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
如果帳號連結成功,您需要將瀏覽器重新導向至 redirect_uri
參數指定的網址,並附加您定義的 authorization_code
參數,以完成流程。請注意,這個網址可能已經包含參數,所以請依情況附加授權碼:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
如果帳號連結失敗,則將瀏覽器重新導向至先前做為參數傳遞給您的 redirect_uri
,但不附加 authorization_code
。
參數名稱 | 說明 |
---|---|
| 會由 Messenger 新增的重新導向 URI,您必須在驗證流程結尾將瀏覽器重新導向至這個位置,其中可能包含網址編碼參數。 |
| 由 Messenger 傳遞的短期權杖,您需要在重新導向配置中傳回這個權杖。這個權杖會加密並具備用戶唯一性,且有效時間僅 5 分鐘。 |
| 您提供的代碼,用於確認成功連結。Messenger 平台會將這個代碼連同用戶的 PSID 一起傳回,做為帳號連結 Webhook 事件。若未傳遞這個參數,會造成連結程序中止。 |
成功的連結流程會觸發帳號連結事件,以傳遞用戶的粉絲專頁範圍編號(PSID)。
您必須註冊帳號連結回呼事件。若未確認收到這個 Webhook 事件,會造成連結程序中止。
在某些情況下,您需要在連結流程期間擷取用戶粉絲專頁範圍編號(PSID)。為了協助您處理這些情況,我們提供 PSID 擷取端點,可讓您在給予有效且未過期的 account_linking_token
時,擷取用戶的 PSID。
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" }
在某些情況下,您需要從後端更改程式碼,以便取消連結用戶粉絲專頁範圍編號(PSID)。為了協助處理這些情況,我們提供 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 建立帳號,以便在其他網路空間使用。
在適合的情況提示登入,也就是說,在您的 Bot 用戶認為登入有好處時,即可提示用戶登入。
為您的 Bot 設定用戶拒絕登入時的適當回覆。
在用戶登入後,提供清楚明瞭的確認通知並加入親切的問候語句。
如果用戶只會透過 Messenger 與您互動,請勿使用帳號連結。您可透過對話串編號儲存帳號資訊。
如果沒有必要,不要急著請用戶進行帳號連結;您可以先讓用戶熟悉一下 Bot 的運作方式。