LINE Buttons Template 最多 4 個操作:該選 Quick Reply、Carousel 還是 Flex Message?
LINE Messaging API 的 buttons template 在 actions 陣列中最多支援 4 個 action 物件。如果卡片需要更多可見選項,不要把多個意思塞進同一個按鈕。即時選擇可用 quick reply,商品或門市清單可用 carousel template,自訂資訊層級可用 Flex Message;若選項可以分類,拆成兩輪對話通常最清楚。
重點整理
- LINE 官方 Messaging API reference 規定 buttons template 的
actions最多為 4 個物件。 - 圖片、標題或文字區域另有可選 action,但不會形成第 5 個可見按鈕。
- Quick reply 最多可設定 13 個按鈕,適合當下問題的暫時選項。
- Carousel template 適合逐項瀏覽商品、分店或預約時段。
- Flex Message 版面更自由,但設計、驗證與多裝置測試也更複雜。
LINE buttons template 的 4 個 action 上限代表什麼
LINE 將 template message 定義為預設互動版面,包含 buttons、confirm、carousel 與 image carousel。Buttons template 可以放圖片、標題、文字和操作按鈕;必填的 actions 陣列最多接受 4 個物件。圖片、標題或文字區域還能設定一個可選 action。
這兩者不能混為一談。整張卡片可點擊,適合「查看詳情」,但不會把 4 個可見按鈕變成 5 個。使用者仍應清楚知道點擊區域會前往何處,4 個按鈕的標籤也要彼此明確。
本文討論的是 Messaging API buttons template,不是 LINE MINI App 名稱相近的 custom action button。若你正在實作 liff.shareTargetPicker() 與 LINE 規定的分享卡片,請參考 LINE MINI App 自訂操作按鈕指南。
Buttons、quick reply、carousel 與 Flex Message 怎麼選
| 方案 | 最適合 | 主要限制 | 適用情況 |
|---|---|---|---|
| Buttons template | 一張卡片上的 1 至 4 個主要操作 | actions 最多 4 個物件 | 所有操作都重要,且屬於同一情境 |
| Quick reply | 暫時選單或下一步問題 | 對話繼續後可能消失 | 使用者應立即從最多 13 項中選擇 |
| Carousel template | 商品、分店、預約等重複項目 | 內容需整理成一致的 column | 每個項目都需要自己的圖文與操作 |
| Flex Message | 品牌化或資訊密集版面 | JSON、呈現與裝置測試較複雜 | 標準 template 無法清楚表達資訊層級 |
| 兩段式對話 | 可按類別分組的長清單 | 多一次使用者互動 | 先選大類,再顯示相關選項 |
LINE 官方的 message types 概覽 將這些列為不同訊息類型。它們各有互動模型,不只是同一張卡片的放大版本。
即時選擇用 quick reply
LINE 允許一則訊息設定最多 13 個 quick reply 按鈕。它們出現在聊天室底部,適合語言、配送時段、問題類型或門市地區等需要立即回答的問題。
不要把 quick reply 當成長期導覽。LINE 文件說明,聊天室出現新訊息等情況會讓按鈕消失。如果使用者稍後仍需回到選單,應採用較持久的訊息版面,或在正確流程狀態重新傳送選項。
每個選項都是項目時用 carousel
若選項代表不同商品、分店或預約紀錄,carousel 通常比在一張卡片堆疊操作自然。例如每間分店都需要「路線」「營業時間」「聯絡分店」,就應把分店做成結構一致的 column,而不是讓 4 間分店占滿所有 action。
各 column 應保持可比較,不要把商品、客服指令與無關活動混在同一個 carousel。
問題在資訊層級時用 Flex Message
當限制來自視覺層級,而不只是選項數量,可考慮 Flex Message。LINE 的 Flex Message elements 文件 提供帶有 action 的 button component 與多種樣式。
Flex 不代表應把所有操作放進一個畫面。手機可讀性、標籤清楚度、無障礙與呈現差異仍然重要。上線前應使用 Flex Message Simulator,並驗證最終 message object。
選項反映商業邏輯時拆成兩步
很多時候,最佳解法不是更大的卡片,而是先問一個上層問題:
- 「你需要哪一類協助?」——訂單、退貨、選品建議、帳號。
- 只顯示該類別下的相關操作。
每一步更短,後端也能取得明確的路由狀態。對跨境團隊而言,也能先按市場或語言分流,再進入實際業務選項。
上線前檢查清單
- 依使用者意圖排序。 最常用且影響最大的操作應保持可見。
- 分開導覽與回答。 持久入口和當下問題的答案不該擠在同一選單。
- 替長清單分組。 可自然分類時,優先採兩段式對話。
- 使用明確標籤。 同時出現「更多」「其他」「詳情」容易造成混淆。
- 替每個 action 建立後端狀態。 Postback 或 message action 必須對應有效流程。
- 在手機端測試。 檢查文字截斷、圖片裁切、點擊範圍與返回路徑。
若你尚未決定要使用 MINI App service message,還是 Messaging API 的 reply/push message,先閱讀 LINE Service Message 與 Messaging API 比較。先選對訊息介面,再決定版面。
UnifyPort 適合與不適合的範圍
上述都是 LINE 官方 Messaging API 的呈現功能。UnifyPort 不會重現 buttons template、quick reply、carousel template 或 Flex Message。業務一定要使用這些 LINE 原生 UI 時,應採官方 Messaging API。
UnifyPort 處理的是另一項工作:透過非官方介面接收 LINE 對話,將標準化入站事件送入既有後端。渠道訊息支援矩陣 列出 LINE 目前對應的標準傳送類型;標準 webhook 事件文件 則定義跨支援平台一致的 message.received envelope。
架構邊界可以這樣劃分:
- LINE Official Account 流程需要原生互動卡片:使用 Messaging API,選擇正確的官方 message type。
- 一般 LINE 帳號訊息需要進入既有客服佇列:評估 UnifyPort 的入站路徑。
- 兩者都需要:把它們視為不同身分、不同責任的訊息介面,不要假設單一版面能涵蓋全部。
更多入站方案與限制,可閱讀 不註冊 Official Account 接收 LINE 訊息。
限制與取捨
4 個操作足夠時,標準 buttons template 仍最簡單。Quick reply 選項較多但屬暫時控制項;carousel 適合瀏覽項目,但內容必須一致;Flex Message 增加版面控制,也增加測試成本;兩段式對話多一次互動,卻通常能讓決策更清楚。
官方客戶端行為與 object 驗證規則可能調整。若實作依賴精確上限或呈現方式,上線前應再次核對 LINE 最新文件。
常見問題
LINE Messaging API buttons template 最多有幾個 action?
actions 陣列最多 4 個 action 物件。圖片、標題或文字區域的可選 action 是另一個點擊區,不是額外可見按鈕。
可以用 quick reply 放超過 4 個 LINE 按鈕嗎?
可以。LINE 文件說明一則訊息最多支援 13 個 quick reply 按鈕。它適合即時回答,不適合需要長期保留的導覽。
更多操作該用 carousel 還是 Flex Message?
重複項目且結構一致時用 carousel;需要自訂視覺層級時用 Flex Message。若選項可分組,兩段式對話通常更清楚。
UnifyPort 能傳送 LINE buttons template 嗎?
不能。UnifyPort 目前文件中的標準化 LINE 傳送能力不包含官方 buttons template、carousel、quick reply 或 Flex Message;它主要適合透過標準 webhook 接收與路由 LINE 訊息。
下一步
先檢查 UnifyPort 渠道訊息支援矩陣,再選擇入站與出站架構。原生 buttons、quick reply、carousel 或 Flex 版面請依 LINE 官方 Messaging API 文件實作。
來源
官方一手來源,核對日期:2026 年 8 月 18 日。
讓訊息接入變成一條穩定的產品管線。
先用統一 API 跑通傳送,再用標準事件把所有入站訊息接回業務系統。