帳號綁定
本教學將說明如何在對話訊息流程中引導用戶綁定企業的個人帳號,並在用戶完成登入後,提供用戶個人化服務功能。例如:訂單查詢、點數查詢等。
1. 何謂綁定帳號?
綁定帳號可將 BotBonnie 中的用戶 ID 與企業用戶 ID 綁定,用戶綁定完成之後,企業可以藉由 JSON API 識別對話中的用戶是企業資料庫中的哪一名註冊用戶,進而提供個人化的服務。
BotBonnie 提供進階套件 帳號綁定,並在套件中預設之 開始綁定 模組設定有 登入 按鈕。藉由在對話視窗中登入企業會員帳號,即可將 BotBonnie 之 userId 與企業用戶 ID 綁定。
1.1 「登入」按鈕設定
請於 BotBonnie 後台設定綁定帳號的按鈕,並填入基本的設定。
設定名稱 | 類型 | 描述 |
登入轉址網址 | URL | 企業登入網頁網址,當用戶點擊 登入 時會以 webview 形式在對話介面中開啟。 |
1.2 網址參數
當用戶按下 登入 按鈕時,用戶會在訊息視窗內開啟您的登入網址,BotBonnie 會根據 LINE / Messenger 添加網址參數。
LINE 網址參數(query string):
Name | Type | Description |
userId | String | 用戶 ID |
pageId | String | LINE OA ID |
carry | String | BotBonnie 用來判斷往後流程的參數(僅用於 BotBonnie Redirect) |
linkToken | String | LINE 產生之 一次性 驗證權杖,每個帳號綁定按鈕只可綁定(點擊)一次, 有效時間 10 分鐘(僅用於 BotBonnie Redirect) |
Messenger 網址參數(query string):
Name | Type | Description |
userId | String | 用戶 ID |
pageId | String | FB 粉專 ID |
carry | String | BotBonnie 用來判斷往後流程的參數(僅用於 BotBonnie Redirect) |
redirect_uri | String | Messenger 指定綁定完成後需重導向之網址(僅用於 BotBonnie Redirect) |
account_linking_token | String | Messenger 產生之短期權杖,有效時間 5 分鐘(僅用於 BotBonnie Redirect) |
記得將 userId 存入您的資料庫內,爾後的個人化服務可依此資料做用戶識別。
2. 處理「綁定帳號成功」
2.1. 網址重新導向
當用戶綁定(登入)成功時,建議您提供一個頁面告知用戶已登入成功,並重導向至 BotBonnie Redirect, 重導向時須根據 LINE / Messenger 平台帶入網址參數, BotBonnie 會依據平台幫用戶重新導向。
BotBonnie Redirect:
帶入 LINE 網址參數(query string):
Name | Type | Description | Required |
carry | String | BotBonnie 用來判斷往後流程的參數 | o |
linkToken | String | LINE 產生之 一次性 驗證權杖,每個帳號綁定按鈕只可綁定(點擊)一次, 有效期間 10 分鐘 | o |
nonce | String ( 10 ~ 255 characters ) | 使用用戶在企業內之相對應 ID 產生之不重複字串,ex: 使用 secure random function 產生 128 bytes 之隨機碼並轉換成 base64 字串 | o |
帶入 Messenger 網址參數(query string):
Name | Type | Description | Required |
carry | String | BotBonnie 用來判斷往後流程的參數 | o |
redirect_uri | String | Messenger 指定綁定完成後需重導向之網址 | o |
account_linking_token | String | Messenger 產生之短期權杖,有效時間 5 分鐘 | o |
authorization_code | String | 企業用戶 ID | o |
3. 處理「解除綁定帳號成功」
有兩種情況會使 BotBonnie 與用戶的帳號解除綁定,第一種是用戶主動在對話式介面中點擊解除綁定帳號按鈕,第二種是企業主動透過 API 方式通知 BotBonnie 解除與用戶的帳號綁定關係。
3.1 企業主動解除與用戶的帳號綁定
企業也可以主動解除與用戶的帳號綁定,請呼叫 BotBonnie API,通知我們進行以下動作:
解除用戶帳號綁定狀態
觸發動作
在您的伺服器呼叫 BotBonnie API :
Request headers
Name | Description |
Content-Type | application/json |
Authorization | Bearer |
Request body
Name | Type | Description | Required |
bot_id | String | 機器人的 ID | o |
bot_raw_uid | String | 用戶 ID (請帶入網址參數中相對應之 userId) | o |
bot_pid | String | 粉絲頁 ID | o |
bot_channel | Number | 渠道代號 | o |
actions | Array | 觸發動作 | x |
actions:
儲存用戶參數
新增標籤
移除標籤
通知專員
4. 提供個人化服務
4.1. 準備個人化服務 API
BotBonnie 在呼叫您的個人化服務 API 時,會在 Request Body 內攜帶 用戶識別資料,並在 Request Header 攜帶 X-Hub-Signature
確保來源安全性,而您的個人化服務 API 需回傳 BotBonnie 特定訊息 JSON 格式。
詳細使用方法可參考如何使用 JSON 訊息。
4.2. 放置個人化服務按鈕
在對話腳本內,放置個人化服務按鈕,連結至含有「JSON 訊息(JSON API)」的模組,並將您的個人化服務 API 網址填上即可。
Last updated