● DEMO 通知後台互動稿 / 用於團隊對齊分層客製化方向,非實際 UI 2026-04-24 振維 · 配合 2026-04-21-audience-broadcast-and-template-prd.md
Dauding/ admin 通知後台
ADMIN · 振維 · TENANT dauding

建立一則群發通知

選擇對象 → 選樣板 → 設定時間 → 查看費用 → 送出 POST /api/v1/notifications/batches

1

選擇發送對象

活動報名者
會員清單
手動加選
activity_id = evt_2026_summer_basketball
最終發送受眾
32
班次命中 32 人 · 手動排除 0 人
樣本:王*明李*欣陳*廷林*涵張*宏
🔍 檢視清單 · 可個別排除
2

選擇樣板與即時預覽

event_key = activity.pre_activity_confirm content_type = line_flex
✓ 已套用租戶自訂樣板:dauding · 活動前 3 天確認(差異 3 個區塊,見 Tab 2)
1月23日 週五
🦌
July17
Dauding 接駁服務
行程再次提醒
⏰ 行程即將到來
親愛的家長您好,再次提醒您即將到來的接駁行程,請確認相關資訊。

👶 乘客: Johnson
📅 行程日期: 1/26 - 1/30
🎯 活動名稱: 【A1場】【籃球全日營】1/26-1/30
📍 會合地點: 新北市新店區中興路二段207號一樓寶路生活館
🚌 原訂去程上車時間: 安排中
🏠 原訂回程下車時間: 安排中
🎫 您的乘車代碼
7550
請將此代碼告知小孩,上車時向司機報到使用
⚠️ 注意事項
請於原訂上/下車時間前 5-10 分鐘抵達會合地點。司機將於原訂時間 5 分鐘後駛離,若有取消或變更需求請盡早通知。如下車需陪同,逾時可能會產生延時費,點擊查看延時費規定
查看行程詳情
下午 3:02
3

發送時間

立即發送
預約發送
建議 20:00–22:00 · 避開用餐時段
4

費用預估

LINE Push · 26 則 × NT$0.15 NT$ 3.90
Email fallback · 6 則 × NT$0.02 NT$ 0.12
SMS — 不發送
本次預估 NT$ 4.02
本月 LINE Push 額度 3,204 / 5,000
已用 3,204 送出後剩餘 1,770 則免費額度
PRD 對應:§5.1 A-1 ~ A-14(含新增的 A-13 預約發送、A-14 費用預估)/§5.4 後台 UI 流程六步驟。
會議對齊:2026-04-21 金梯站會(Chase 同意預約納 v1、費用預估 UI)/ 2026-04-20 振維提議、Chase 確認後台群發範圍。
送出實際動作:寫入 notification_batches(status=scheduled)→ Schedule Worker 到時撈批次 → 逐筆發送 → 寫 notification_logs

編輯事件樣板

選一個事件 → 只能改「白名單區塊」,系統術語與骨架鎖定

EVENT_KEY
TRIGGER
活動日期前 3 天 20:00
CHANNEL
LINE Flex Message
AUDIENCE
activity.bookings.confirmed
TENANT_OVERRIDE
dauding · 已自訂
Tier 1 鎖定 · 系統骨架 + 術語(乘客 / 集合點 / 行程)
Tier 3 可編輯 · 白名單區塊
Tier 4 變數 · {{name}}

🔒 系統鎖定(不可編輯)

Header 圖卡 + 品牌名 欄位名稱「乘客」 欄位名稱「會合地點」 欄位名稱「行程日期」 「⏰ 行程即將到來」標題 「🎫 您的乘車代碼」標題 「⚠️ 注意事項」標題 Flex Message 骨架結構 「查看行程詳情」按鈕
✏️ greeting_text TIER 3 42 / 150
歡迎語 · 顯示於 Header 下方
上限 150 禁字:小孩、學員、孩童
✏️ code_description TIER 3 20 / 100
乘車代碼下方說明文字
上限 100 禁字:小孩、學員、孩童、小朋友
⚠️ 偵測到禁字 「小孩」 → 系統術語應為 「乘客」
custom_info_blocks TIER 3 0 / 3 個
自訂資訊區塊 · 最多 3 個,每個上限 200 字 · 位置固定於「⚠️ 注意事項」上方
類型:📘 資訊 · ⚠️ 提醒 · ✅ 成功 標題 30 字 · 內容 200
✏️ notice_content TIER 3 98 / 500
注意事項卡片內容 · 支援 [連結文字](url) markdown 語法
上限 500 允許 1 個連結
✏️ footer_text TIER 3 44 / 200
底部說明 · 常放客服資訊
上限 200 可使用變數 {{support_phone}}
1月23日 週五
🦌
July17
Dauding 接駁服務
行程再次提醒
⏰ 行程即將到來
親愛的家長您好,再次提醒您即將到來的接駁行程,請確認相關資訊。

👶乘客:Johnson
📅行程日期:1/26 - 1/30
🎯活動名稱:【A1場】【籃球全日營】1/26-1/30
📍會合地點:新北市新店區中興路二段207號一樓寶路生活館
🚌原訂去程上車時間:安排中
🏠原訂回程下車時間:安排中
🎫 您的乘車代碼
7550
請將此代碼告知小孩,上車時向司機報到使用
⚠️ 注意事項
請於原訂上/下車時間前 5-10 分鐘抵達會合地點。司機將於原訂時間 5 分鐘後駛離,若有取消或變更需求請盡早通知。如下車需陪同,逾時可能會產生延時費,點擊查看延時費規定
查看行程詳情
下午 3:02
PRD 對應:§6.8 樣板客製化範圍 Tier 1–4 / §6.3 editable_blocks + tenant_block_values schema。
會議對齊:2026-04-24 會議 00:09:01 國龍「欄位名稱不能改,它應該是通用的」/00:10:55「振維你想一個版本」。
儲存實際動作PUT /api/v1/notification-templates/:id/blocks → 先呼叫 /validate-blocks(檢查字數、禁字、格式)→ 通過後更新 tenant_block_values jsonb。

發送紀錄

所有群發任務 · 預約中 / 進行中 / 已完成 / 失敗 GET /api/v1/notifications/batches

任務 受眾 狀態 進度 費用 時間