帳號綁定
本教學將說明如何在對話訊息流程中引導用戶綁定企業的個人帳號,並在用戶完成登入後,提供用戶個人化服務功能。例如:訂單查詢、點數查詢等。
綁定帳號可將 BotBonnie 中的用戶 ID 與企業用戶 ID 綁定,用戶綁定完成之後,企業可以藉由 JSON API 識別對話中的用戶是企業資料庫中的哪一名註冊用戶,進而提供個人化的服務。
BotBonnie 提供進階套件 帳號綁定,並在套件中預設之 開始綁定 模組設定有 登入 按鈕。藉由在對話視窗中登入企業會員帳號,即可將 BotBonnie 之 userId 與企業用戶 ID 綁定。
請於 BotBonnie 後台設定綁定帳號的按鈕,並填入基本的設定。
設定名稱 | 類型 | 描述 |
登入轉址網址 | URL | 企業登入網頁網址,當用戶點擊 登入 時會以 webview 形式在對話介面中開啟。 |
當用戶按下 登入 按鈕時,用戶會在訊息視窗內開啟您的登入網址,BotBonnie 會根據 LINE / Messenger 添加網址參數。
Name | Type | Description |
userId | String | 用戶 ID |
pageId | String | LINE OA ID |
carry | String | BotBonnie 用來判斷往後流程的參數(僅用於 BotBonnie Redirect) |
linkToken | String | LINE 產生之 一次性 驗證權杖,每個帳號綁定按鈕只可綁定(點擊)一次, 有效時間 10 分鐘(僅用於 BotBonnie Redirect) |
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 存入您的資料庫內,爾後的個人化服務可依此資料做用戶識別。
當用戶綁定(登入)成功時,建議您提供一個頁面告知用戶已登入成功,並重導向至 BotBonnie Redirect, 重導向時須根據 LINE / Messenger 平台帶入網址參數, BotBonnie 會依據平台幫用戶重新導向。
BotBonnie Redirect:
https://rd.botbonnie.com/account/link?{query}
Name | Type | Description | Required |
carry | String | BotBonnie 用來判斷往後流程的參數 | o |
linkToken | String | LINE 產生之 一次性 驗證權杖,每個帳號綁定按鈕只可綁定(點擊)一次, 有效期間 10 分鐘 | o |
nonce | String ( 10 ~ 255 characters ) | o |
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 |
有兩種情況會使 BotBonnie 與用戶的帳號解除綁定,第一種是用戶主動在對話式介面 中點擊解除綁定帳號按鈕,第二種是企業主動透過 API 方式通知 BotBonnie 解除與用戶的帳號綁定關係。
企業也可以主動解除與用戶的帳號綁定,請呼叫 BotBonnie API,通知我們進行以下動作:
- 1.解除用戶帳號綁定狀態
- 2.觸發動作
在您的伺服器呼叫 BotBonnie API :
POST https://api.botbonnie.com/v1/api/accountLink/unlink
Name | Description |
Content-Type | application/json |
Authorization | Bearer {API Token} |
Name | Type | Description | Required |
bot_id | String | 機器人的 ID | o |
bot_raw_uid | String | 用戶 ID (請帶入網址參數中相對應之 userId) | o |
bot_pid | String | 粉絲頁 ID | o |
bot_channel | Number | 渠道代號 0 :Facebook 1 :LINE | o |
actions | Array | 觸發動作 | x |
- 儲存用戶參數{"type": "saveParams","name": "age","value": "18"}
- 新增標籤{"type": "addTag","value": "tag-4VW8DDgwu", // 請至 BotBonnie 後台設定標籤後,再帶入相對應之 tag ID}
- 移除標籤{"type": "removeTag","value": "tag-4VW8DDgwu", // 請至 BotBonnie 後台設定標籤後,再帶入相對應之 tag ID}
- 通知專員{"type": "notifyAgent","message": "用戶已解除綁定" // OPTIONAL}
BotBonnie 在呼叫您的個人化服務 API 時,會在 Request Body 內攜帶 用戶識別資料,並在 Request Header 攜帶
X-Hub-Signature
確保來源安全性,而您的個人化服務 API 需回傳 BotBonnie 特定訊息 JSON 格式。在對話腳本內,放置個人化服務按鈕,連結至含有「JSON 訊息(JSON API)」的模組,並將您的個人化服務 API 網址填上即可。
Last modified 3yr ago