System Flow Diagram
彩票換點數
兌換系統
Ticket · QRCode · BOB SaaS · Points
📋
本文件以
資料流與使用流程
討論為主,開發細節(API 規格、錯誤處理、資安機制等)應以後續開發評估結果為準。
👤
使用者
End User
🎰
彩票機
Ticket Machine
☁️
BOB 系統
SaaS Backend
🖨️ 列印機管理範疇
使用者
彩票機
BOB 系統 & 列印機
STEP 01
🎟️ 投入彩票
多張彩票放入機台
投入彩票動作
STEP 02
📊 計算彩票
張數統計 + 時間戳記
POST /api/tickets
{ count, timestamp, machine_id }
STEP 03
⚙️ BOB 處理請求
套用兌換規則 · 產生 Token
STEP 04
🖨️ 列印小白單
BOB 驅動列印機 · 輸出含 QR Code 之小白單
列印機屬 BOB 管轄範疇
列印機輸出小白單 → 使用者取單
STEP 05
📷 掃描 QR Code
掃描小白單上的 QR Code
GET /redeem/{token} (直接呼叫 BOB SaaS)
STEP 06
✅ 驗證 Token
Token 狀態確認 · 計算點數 · 存入帳戶
STEP 07
🚫 Token 作廢
標記 used · 後續掃描回 200 + 提示頁
顯示兌換成功頁面 · 點數入帳通知
STEP 08
🎉 點數入帳完成
兌換成功 · 流程結束
✓ 一次性 Token
⚙️
BOB 後台管理 — 兌換規則設定
管理員可在 BOB 系統後台設定彩票換點數規則(如:10 張 = 100 點、有效期限等)。 規則套用於 STEP 03 處理請求時,無須修改機台端程式。
防重複兌換機制:
Token 在 STEP 03 建立時即與本次交易綁定(machine_id + timestamp + count)。 BOB 於 STEP 04 直接驅動列印機輸出小白單,QR Code 內含一次性兌換連結。 STEP 06 驗證時檢查 Token 狀態,兌換後立即標記
used=true
,任何後續掃描均回傳
HTTP 200
並顯示「此 QR Code 已兌換,無法重複使用」提示頁面。
使用者動作
彩票機動作
BOB SaaS 後端
兌換成功回應
API 資料欄位