保險進件系統

多租戶 LINE Bot 進件管理平台 最後更新:2026-04-09

目錄
  1. 系統介紹
  2. 業務員操作流程
  3. 管理員操作流程
  4. LINE Bot 指令
  5. 業務員統計與報表
  6. 一鍵開通新單位
  7. 系統架構
  8. 常見問題

一、系統介紹

本系統是一套基於 Cloudflare Pages + LINE Messaging API 的多租戶進件管理平台。一套程式碼可支援多個單位(雄七、雲林…等),每個單位獨立 KV 資料庫、獨立 LINE Channel、獨立管理後台。

角色使用方式
業務員透過 LINE Bot 圖文選單/關鍵字進入送件/查詢頁,完成綁定後一鍵登入
管理員透過 pages.dev 後台登入,核對、補件、催補、匯入、下載報表
各客戶單位獨立網址、獨立帳密、獨立 KV。資料完全隔離

二、業務員操作流程

首次使用(綁定 LINE)

  1. 加入該單位的 LINE Bot 官方帳號
  2. Bot 會自動推送歡迎訊息與「立即綁定」按鈕
  3. 點按鈕 → 開啟綁定頁 → 自動抓取 LINE Profile
  4. 輸入姓名與身分證字號 → 按「確認綁定」
  5. 綁定成功後,日後所有送件/查詢都會自動登入
綁定成功的前提:管理員必須已經在後台把你加入業務員清單,且身分證字號正確。

日常送件

三種進入方式,任選其一:

  1. 圖文選單:LINE 聊天視窗下方的選單點「送件表單」
  2. 關鍵字:在聊天視窗輸入「選單」或「新增送件」,Bot 回覆 flex 按鈕
  3. 直接網址:由管理員分享的連結(附帶 uid 參數)

進入送件頁後:

  1. 填寫送件日期、壽險/產險公司、要保人/被保人/繳費人
  2. 選擇件別(單選)→ 系統自動載入對應的附件清單
  3. 勾選需要的附件、填寫備註
  4. 按「送出」完成

查詢送件

  1. 點圖文選單「查詢進度」或 LINE 輸入「查詢」
  2. 自動載入本人全部的送件記錄
  3. 可依狀態篩選:未核對 / 已核對 / 已修改 / 補件中 / 已補件 / 已退件
  4. 未核對的件可點「編輯」修改;補件中的件會顯示所需補件文件與期限

三、管理員操作流程

登入後台

  1. 開啟該單位的 pages.dev 網址
  2. 輸入管理員密碼(開通時設定,預設為「代號英文+2026」,例如 yunlin2026
  3. 登入後自動記住密碼直到關閉瀏覽器

核對送件

  1. 點「📄 送件記錄」分頁
  2. 依狀態/業務員篩選
  3. 單筆:點「核對」按鈕
  4. 批次:勾選多筆後點「批次核對」

補件 / 催補

  1. 送件記錄列表 → 點「補件」設定需補文件 + 期限 + 說明
  2. 系統會透過 LINE 推播通知業務員
  3. 已補件但還沒回覆的 → 點「催補」再次推播
  4. 補件追蹤分頁可集中管理所有補件中案件

業務員管理

  1. 點「👥 業務員管理」分頁
  2. 每位業務員顯示 3 個統計 badge:總件數 / 補件數 / 催補次數
  3. 新增單筆:填姓名 + 身分證 → 按「新增」
  4. 批次匯入:下載 CSV 範本 → 填寫 → 匯入
  5. 下載統計報表:點綠色「📊 下載統計報表」按鈕,下載完整 CSV(含每位業務員的補件文件類別計數)
CSV 匯入格式:姓名, 身分證號, 需幫忙代送的夥伴姓名(多人用,分隔)

系統設定

設定項目說明
管理員密碼後台登入密碼
LINE Channel Access TokenLINE Bot 推播用 Token
LINE Channel Secret用於 webhook 簽章驗證
LIFF ID(送件/查詢/綁定)三個欄位可填同一個 LIFF(同 channel 共用 profile)
偵測間隔後台背景輪詢新送件的頻率(分鐘)
敏感資料預設以 ●●●● 顯示,點 👁 按鈕可切換明碼/密碼模式。重整頁面後值會從 KV 自動載回。

四、LINE Bot 指令

業務員在 LINE 聊天視窗輸入下列關鍵字會觸發 flex 按鈕回覆,按下去的連結會自動帶上 LINE uid,手機 / PC / iPad 的 LINE 都能一鍵登入

關鍵字回應
選單 / menu / 功能完整功能選單(送件 / 查詢 / 綁定)
新增送件 / 送件送件按鈕
查詢案件 / 查詢 / 進度查詢按鈕
綁定 / bind綁定按鈕

功能選單會自動偵測綁定狀態:

五、業務員統計與報表

業務員管理分頁會顯示每位業務員的即時統計:

指標定義
總件數該業務員的全部送件數
補件數曾被通知補件的件數(有 suppAt 欄位)
催補次數被催補過的件數(有 remindAt 欄位)

下載統計報表 CSV

按「📊 下載統計報表」匯出的 CSV 包含:

六、一鍵開通新單位

桌面上的「開通管理介面.bat」執行後會打開 http://localhost:9527 本機管理介面。

開通前準備

  1. 登入 LINE Developers,建立新的 Messaging API Channel
  2. 取得 Channel Access TokenChannel Secret
  3. 在同一 channel 下建立 1 個 LIFF(Size: Full),Endpoint 設為 https://insurance-[代號].pages.dev/form.html,記下 LIFF ID

開通流程

  1. 填入表單:
    • 客戶代號(英文,例:tainan
    • 系統名稱(中文,例:台南進件管理系統)
    • 管理員密碼(留空自動產生「代號+2026」)
    • Channel Access Token(貼上)
    • Channel Secret(貼上)
    • LIFF ID(貼上,一個就夠,會自動套用到送件/查詢/綁定)
  2. 按「🚀 一鍵開通」
  3. 系統自動執行 6 個步驟:
    1. 建立或復用 KV Namespace
    2. 建立或復用 Cloudflare Pages 專案
    3. 部署檔案(含系統名稱替換)
    4. 寫入 KV 設定(密碼、Token、Secret、LIFF IDs)
    5. 建立 LINE 圖文選單(自動使用 LIFF URL,讓使用者點下去就能登入)
    6. 記錄到 clients.json
  4. 開通完成後畫面顯示網址與剩餘手動步驟

開通後唯一的手動步驟

  1. 到 LINE Developers → Messaging API → Webhook URL 填入 https://insurance-[代號].pages.dev/api/line-webhook
  2. 開啟「Use webhook」
  3. (Auto-reply 關閉、Greeting message 可關可開)
執行前請先確保 wrangler 已登入:開 PowerShell 跑 npx wrangler login。wrangler 的 oauth token 約每小時會過期,如果開通管理介面啟動時顯示「wrangler 未登入」請重新登入一次。

七、系統架構

元件技術說明
前端原生 HTML / JSCloudflare Pages 靜態托管,無框架
後端 APICloudflare Pages Functionsfunctions/api/*.js
資料庫Cloudflare KV每個客戶一個獨立 KV namespace,資料完全隔離
LINE BotMessaging API + LIFFwebhook 接收事件、LIFF 提供自動登入
多租戶設計clients.json + 系統名稱變數化一套程式碼支援無限客戶,開通時替換名稱後部署

資料隔離

每個客戶單位有自己的:

八、常見問題

圖文選單點下去要我手動登入

檢查後台「系統設定」的 LIFF ID 是否有填。Rich menu 必須指向 LIFF URL(https://liff.line.me/xxx)才能自動帶 profile。重建圖文選單可透過一鍵開通流程的 STEP 5,或直接改 KV 的 settings:liff_form_id 然後重新部署。

業務員說沒收到綁定訊息

確認 LINE Developers → Webhook URL 已設定且開啟。如果之前已加過好友,需要封鎖再解除封鎖才會重新觸發 follow 事件。

綁定時顯示「姓名或身分證字號不符」

管理員必須先在後台「業務員管理」把該業務員的姓名和身分證字號加進去,綁定時會比對。身分證字號大小寫會自動轉大寫。

PC / iPad LINE 點連結無法登入

Bot 的 flex 訊息按鈕會自動帶 ?uid=xxx 參數,所以文字輸入「選單」觸發的按鈕在任何平台都能一鍵登入。圖文選單因為使用 LIFF URL,在 LIFF 支援的裝置(手機 LINE)可以自動登入。

後台設定欄位重整後看不到

按 👁 按鈕切換明碼顯示。資料實際上已從 KV 載入,只是預設被遮罩。

業務員統計數字不對

統計是前端從全部送件記錄即時計算,沒有快取。如果剛改過狀態,重整一次即可。

一鍵開通卡在某一步

檢查桌面「開通管理介面」的 log:C:\Users\[你]\AppData\Local\Temp\onboard-dbg.log(debug log)和 onboard.log(stdout)。wrangler token 過期時請重新執行 npx wrangler login