新建檔捐者:現場填手機+捐髓卡號,配對時用卡號查
結論先講:LINE 只負責「配對到時找得到人」,掛在原有登記流程旁邊,可有可無。捐者在登記現場按「允許」、看過個資告知,填手機和捐髓卡號就完成。我們的系統不接中心資料庫;配對到時,承辦用卡號查,有綁 LINE 就發通知。捐者有任何問題都打電話給中心。
四句話結論
- 捐者只填手機和捐髓卡號,不填身分證、生日,也不收簡訊驗證碼:現場建檔同時就是綁定,志工就在旁邊。
- 我們的系統不接中心資料庫,資料不和內部資料混在一起;配對到時承辦用卡號查,對一下手機,按「發 LINE 通知」。
- 捐者看得到自己填的手機和卡號(明文);要改資料或解除綁定,打電話給中心,由承辦在後台處理。
- LINE 本身只能群發或一對一聊天;要做到「用卡號找到那一位、只通知他」,必須有地方記下卡號和 LINE 帳號的對應,這就是要自己架後端的原因。
整體流程
左邊是原本就有的流程,不變;虛線是可有可無的 LINE。兩邊只在「配對到了」那一刻碰頭。
flowchart TD F([填登記表
電子或紙本]) --> K[發骨髓捐髓卡
唯一碼浮雕] K --> B[抽血] B --> J[中心建檔
照原本流程] J --> W[等待配對
可能好幾年] K -. 可有可無
現場、志工在旁 .-> L1[掃 QR 加 LINE 好友
按「允許」] L1 --> L2[個資告知
按同意] L2 --> L3[填手機和捐髓卡號
送出前再看一次] L3 --> D[(我們的系統
LINE+手機+卡號)] W --> E{配對到了
承辦用卡號查} D -. 查詢 .-> E E -- 有綁 LINE
手機也和中心資料一樣 --> N([發 LINE 通知
請與中心聯絡]) E -- 查不到
或手機不一樣 --> T([照原本方式聯絡]) class L3,D,E key class F,N,T term
為什麼要自己架後端
核心需求是「配對到時,只通知那一位」。LINE 本身做不到把卡號對到某個 LINE 帳號。
LINE 要發訊息給特定一個人,必須用他的 LINE 內部編號(user ID)指定。這個編號只有程式拿得到:好友加入或傳訊息時,LINE 把通知送到我們的伺服器,編號就在裡面。而且編號本身看不出是誰。
所以一定要有一個程式,在捐者填卡號那一刻,把「卡號、手機 ↔ LINE 編號」記下來。配對到時,承辦用卡號一查就找到那個編號,只發給他一個人。這個程式就是後端。
這個後端很小,只做三件事:記下對應、讓捐者看自己填的資料、讓承辦查詢和發通知。資料放在單位自己的主機,不留在 LINE,也不和中心內部資料庫混在一起。
| 做法 | 能只通知那一位嗎 | 結論 |
|---|---|---|
| 只用 LINE 官方帳號後台(不寫程式) | 只能群發或依標籤分群發;要找到某一位,得靠承辦在聊天室一位一位手動貼標籤,卡號也會留在 LINE 上 | 不符合 |
| Google 表單收卡號和手機 | 不行:表單不知道填的人是哪個 LINE 帳號,配對到時還是發不出去 | 不符合 |
| LINE 通知型訊息(用手機號碼直接發) | 可以,不用記 LINE 編號;但要以單位名義向 LINE 申請、按則計費,捐者換號碼就收不到 | 日後選項 |
| 自己架後端(本案) | 可以:用卡號查到 LINE 編號,只發給他;換號碼也不影響 | 建議 |
每個階段誰在做什麼
捐者只做 ②~④,大約一分鐘;之後有事打電話。
| 階段 | 什麼時候 | 誰 | 做什麼 | 系統記下 |
|---|---|---|---|---|
| ① 填表、發卡 | 登記當天 | 志工、捐者 | 照原本流程 | 不經過這套系統 |
| ② 加 LINE | 拿到卡後、抽血前(現場) | 捐者(志工在旁) | 掃 QR 加好友,在 LINE 登入畫面按「允許」 | LINE 帳號 |
| ③ 個資告知 | 同上 | 捐者 | 看說明,按同意 | 同意時間 |
| ④ 填資料 | 同上 | 捐者 | 填登記表上的手機和捐髓卡號,送出前再看一次 | 手機、卡號 |
| ⑤ 抽血、建檔 | 之後 | 中心 | 照原本流程,這套系統不碰 | — |
| ⑥ 配對通知 | 配對到時 | 承辦 | 用卡號查 → 對一下手機 → 按「發 LINE 通知」 | 誰發的、有沒有送達 |
| 自己查看 | 任何時候 | 捐者 | 點選單,看到綁定的手機、卡號和中心電話 | — |
| 改資料、解除 | 有需要時 | 捐者打電話,承辦處理 | 承辦在後台幫他改,或解除綁定 | 誰改的、改之前是什麼 |
捐者事後點進來看到的
只秀他自己填的兩樣,不秀中心資料庫的任何東西(例如姓名)。頁面上沒有修改按鈕。
這個 LINE 帳號綁定的資料
手機:0912345678
捐髓卡號:(依卡上格式)
配對到時,骨髓中心會用 LINE 通知您。資料有誤、換了手機,或不想再收到通知,請撥骨髓中心:(電話待提供)。
為什麼這樣定,代價是什麼
前兩項是 11/11 名軒確認的決定;後兩項是這樣做的代價,先講清楚。
不用簡訊驗證碼現場建檔同時就是綁定,志工在旁邊;配對時承辦還會再對一次手機。也省下簡訊費,不用找簡訊商。
不接中心資料庫資料不和內部資料混在一起;只有配對到的那一位,承辦才用卡號來查。
打錯要到配對時才發現卡號或手機打錯的人,配對時查不到或對不上,那位就走原本的電話聯絡。送出前「再看一次」那頁是為了減少這種情況。
回家才綁、或同一張卡被兩個 LINE 填技術上擋不掉,但承辦查詢時會把同一卡號的每一筆都列出來,對過手機才發通知,所以不會通知錯人。
現在的 POC 要怎麼改
先改模擬環境;線上版不動,舊程式都留在 git 紀錄裡。
| 處理 | 項目 | 說明 |
|---|---|---|
| 拿掉 | 填身分證、生日 | 含生日滾輪、身分證加密暫存 |
| 拿掉 | 簡訊驗證碼、Google 驗證、一次性綁定碼 | 綁定只靠現場填手機和卡號 |
| 拿掉 | 和主資料庫比對、人工核對 | 不接中心資料庫 |
| 拿掉 | 捐者自己改資料、承辦審核、待辦匣、聯絡紀錄 | 改資料一律打電話給中心 |
| 拿掉 | 定期問「資料是否還正確」 | 核心只剩配對通知 |
| 改 | 個資告知頁 | 內容改成蒐集手機和卡號(個資法第 8 條要告知的項目) |
| 改 | 綁定流程 | 允許 → 個資告知 → 填手機和卡號 → 再看一次 → 完成 |
| 改 | 「我的資料」頁 | 明文顯示手機、卡號和中心電話,沒有修改按鈕 |
| 新增 | 承辦查詢、發 LINE 通知 | 用卡號或手機查,同一卡號全部列出,對過手機再按通知 |
| 新增 | 承辦幫捐者改資料、解除綁定 | 接到電話時使用,留下誰改的、改之前是什麼 |
| 保留 | 其餘既有功能 | LINE 登入(只要 openid)、防連點、具名承辦、稽核紀錄、封鎖偵測、推播結果記錄 |
還要確認的事
都不擋開工,先用暫定值做。
卡號格式捐髓卡唯一碼幾碼、有沒有英文字母或「-」、有沒有檢查碼?知道格式,輸入時就能當場擋掉打錯的;在那之前先接受英數字和「-」。
中心電話名軒之後提供;畫面先寫「(電話待提供)」。