← Tất cả bài viết
So sánh

LINE Buttons Template chỉ có 4 actions: nên dùng Quick Reply, Carousel hay Flex Message?

LINE Messaging API buttons template chỉ cho phép tối đa 4 action objects trong mảng actions. Nếu thẻ cần nhiều lựa chọn hiển thị hơn, đừng gộp nhiều ý định vào một nút khó hiểu. Hãy dùng quick reply cho menu tạm thời, carousel template cho sản phẩm hoặc chi nhánh, Flex Message cho hệ thống phân cấp thông tin tùy chỉnh, hoặc chia quyết định thành hai bước khi các lựa chọn có thể nhóm lại.

Tóm tắt chính

  • Messaging API reference chính thức của LINE quy định mảng actions trong buttons template có tối đa 4 objects.
  • Có thể gắn một action riêng cho vùng hình ảnh, tiêu đề hoặc văn bản, nhưng đó không phải nút hiển thị thứ năm.
  • Quick reply hỗ trợ tối đa 13 nút và phù hợp với lựa chọn tức thời, tạm thời.
  • Carousel template phù hợp khi mỗi lựa chọn là một sản phẩm, chi nhánh hoặc lịch hẹn riêng.
  • Flex Message linh hoạt hơn về layout nhưng cần nhiều công sức thiết kế, kiểm tra và thử nghiệm trên thiết bị.

Giới hạn 4 actions của LINE buttons template có nghĩa gì?

LINE mô tả template message là các layout định sẵn cho tương tác phong phú hơn. Buttons template có chỗ cho hình ảnh, tiêu đề, văn bản và các nút hành động. Mảng actions bắt buộc nhận tối đa 4 action objects. Ngoài ra, vùng hình ảnh, tiêu đề hoặc văn bản có thể có một optional action riêng.

Hai phần này có vai trò khác nhau. Vùng thẻ có thể nhấn phù hợp với đường dẫn “Xem chi tiết”, nhưng không biến bốn nút hiển thị thành năm. Người dùng cần dự đoán được kết quả khi chạm và nhãn của bốn nút vẫn phải khác biệt rõ ràng.

Bài viết này nói về Messaging API buttons template, không phải custom action button có tên gần giống trong LINE MINI App. Nếu bạn đang triển khai liff.shareTargetPicker() và thẻ chia sẻ theo định dạng LINE, hãy đọc hướng dẫn custom action button cho LINE MINI App.

Lựa chọnPhù hợp nhất vớiGiới hạn chínhNên chọn khi
Buttons templateMột thẻ có 1–4 hành động chínhactions tối đa 4 objectsMọi hành động đều quan trọng và cùng một ngữ cảnh
Quick replyMenu tạm thời hoặc câu hỏi tiếp theoNút có thể biến mất khi hội thoại tiếp tụcNgười dùng cần chọn ngay trong tối đa 13 phương án
Carousel templateSản phẩm, chi nhánh, lịch hẹn và mục lặp lạiNội dung phải tổ chức thành các column nhất quánMỗi mục cần hình ảnh, văn bản và hành động riêng
Flex MessageLayout theo thương hiệu hoặc nhiều thông tinJSON, rendering và kiểm thử phức tạp hơnTemplate chuẩn không thể hiện rõ hệ thống phân cấp
Hội thoại hai bướcDanh sách dài có thể chia nhómThêm một lượt tương tácCó thể chọn danh mục trước rồi chỉ hiện lựa chọn liên quan

Tổng quan message types chính thức của LINE liệt kê buttons, confirm, carousel, image carousel và Flex Message là các loại tin nhắn riêng. Chúng là các mô hình tương tác khác nhau, không chỉ là phiên bản lớn hơn của cùng một thẻ.

Dùng quick reply cho lựa chọn tức thời

LINE cho phép tối đa 13 quick reply buttons trong một tin nhắn. Chúng xuất hiện ở phía dưới màn hình chat và phù hợp với lựa chọn ngôn ngữ, khung giờ giao hàng, loại vấn đề hoặc khu vực cửa hàng.

Không nên dùng quick reply làm điều hướng cố định. LINE ghi rõ các điều kiện khiến nút biến mất, bao gồm khi có tin nhắn mới trong phòng chat. Nếu người dùng cần quay lại menu sau đó, hãy dùng message layout bền hơn hoặc gửi lại các lựa chọn ở đúng trạng thái workflow.

Khi các lựa chọn là sản phẩm, chi nhánh hoặc lịch hẹn riêng, carousel thường tự nhiên hơn việc nhồi các hành động vào một thẻ. Ví dụ, nếu mỗi chi nhánh cần “Chỉ đường”, “Giờ mở cửa” và “Liên hệ”, hãy tạo mỗi chi nhánh thành một column nhất quán thay vì dùng cả bốn actions để liệt kê bốn chi nhánh.

Các column cần có cấu trúc có thể so sánh. Đừng trộn thẻ sản phẩm, lệnh hỗ trợ và chương trình không liên quan trong cùng một carousel.

Dùng Flex Message khi vấn đề là hệ thống phân cấp thông tin

Nếu hạn chế nằm ở cách tổ chức hình ảnh thay vì chỉ số lượng lựa chọn, hãy cân nhắc Flex Message. Tài liệu Flex Message elements của LINE mô tả button components có action và nhiều styles.

Flex không có nghĩa là nên đặt mọi hành động lên một màn hình. Khả năng đọc trên điện thoại, nhãn rõ ràng, accessibility và khác biệt rendering vẫn quan trọng. Hãy dùng Flex Message Simulator và validate message object cuối cùng trước khi phát hành.

Dùng hai bước khi danh sách phản ánh business logic

Nhiều trường hợp, câu trả lời rõ nhất không phải một thẻ lớn hơn mà là câu hỏi cấp cao trước:

  1. “Bạn cần hỗ trợ về việc gì?” — Đơn hàng, Đổi trả, Tư vấn sản phẩm, Tài khoản.
  2. Chỉ hiển thị các actions liên quan đến danh mục đã chọn.

Mỗi quyết định ngắn hơn và backend nhận được routing state rõ ràng. Với đội ngũ tại Việt Nam vận hành nhiều kênh như LINE, Zalo và WhatsApp, cấu trúc này cũng giúp tách thị trường, ngôn ngữ hoặc nhóm phụ trách trước khi vào quy trình xử lý.

Checklist trước khi phát hành

  1. Xếp hạng theo ý định người dùng. Giữ các hành động thường dùng và quan trọng nhất luôn hiển thị.
  2. Tách điều hướng khỏi câu trả lời. Đích đến cố định không nên chen với lựa chọn tức thời của câu hỏi hiện tại.
  3. Nhóm danh sách dài. Nếu có danh mục tự nhiên, ưu tiên hội thoại hai bước.
  4. Dùng nhãn khác biệt. “Thêm”, “Khác” và “Chi tiết” trên cùng một thẻ dễ gây mơ hồ.
  5. Xử lý mọi action ở server. Postback hoặc message action phải ánh xạ tới trạng thái hợp lệ.
  6. Thử nghiệm trên thiết bị di động. Kiểm tra cắt chữ, crop ảnh, vùng chạm và đường quay lại.

Nếu bạn chưa chọn giữa MINI App service message và Messaging API reply/push message, hãy đọc so sánh LINE Service Messages với Messaging API trước. Cần chọn đúng message surface rồi mới chọn layout.

UnifyPort phù hợp ở đâu — và không phù hợp ở đâu

Các lựa chọn trên đều là tính năng trình bày chính thức của LINE Messaging API. UnifyPort không tái tạo buttons template, quick reply, carousel template hoặc Flex Message. Khi workflow bắt buộc dùng các UI components gốc của LINE, hãy sử dụng Messaging API chính thức.

UnifyPort phù hợp với công việc khác: nhận hội thoại LINE qua unofficial interface và chuyển normalized inbound events vào backend hiện có. Ma trận provider message support cho biết các loại outbound payload chuẩn hiện được map cho LINE; tài liệu standard webhook events định nghĩa envelope message.received dùng chung trên các nền tảng được hỗ trợ.

Có thể phân ranh giới kiến trúc như sau:

  • Cần interactive card chính thức trong luồng LINE Official Account: dùng Messaging API và chọn message type chính thức phù hợp.
  • Cần đưa tin nhắn từ tài khoản LINE thông thường vào support queue hiện có: đánh giá inbound path của UnifyPort.
  • Cần cả hai: xem chúng là hai surface có identity và trách nhiệm riêng, thay vì giả định một định dạng đáp ứng tất cả.

Để hiểu thêm về inbound path và giới hạn, hãy đọc cách nhận tin nhắn LINE mà không đăng ký Official Account.

Giới hạn và đánh đổi

Khi bốn actions là đủ, buttons template chuẩn vẫn là phương án đơn giản nhất. Quick reply có nhiều lựa chọn hơn nhưng chỉ tạm thời. Carousel phù hợp để duyệt các mục nhưng yêu cầu nội dung nhất quán. Flex Message tăng quyền kiểm soát layout đồng thời tăng khối lượng kiểm thử. Hội thoại hai bước thêm một lượt tương tác nhưng thường làm quyết định rõ ràng hơn.

Hành vi official client và quy tắc object validation có thể thay đổi. Nếu implementation phụ thuộc vào giới hạn hoặc rendering chính xác, hãy kiểm tra lại tài liệu LINE hiện hành trước khi phát hành.

Câu hỏi thường gặp

LINE Messaging API buttons template có tối đa bao nhiêu actions?

Mảng actions nhận tối đa bốn action objects. Optional action trên vùng hình ảnh, tiêu đề hoặc văn bản là vùng chạm riêng, không phải một nút hiển thị bổ sung.

Có thể dùng quick reply để có hơn bốn nút LINE không?

Có. LINE ghi nhận tối đa 13 quick reply buttons trong một tin nhắn. Hãy dùng chúng cho câu trả lời tức thời, không phải điều hướng cố định, vì nút có thể biến mất khi chat tiếp tục.

Dùng carousel cho các mục lặp lại có cùng cấu trúc. Dùng Flex Message khi cần hệ thống phân cấp hình ảnh tùy chỉnh. Nếu danh sách chia được thành danh mục, hội thoại hai bước có thể rõ ràng hơn cả hai.

UnifyPort có gửi LINE buttons template không?

Không. Khả năng gửi LINE chuẩn được UnifyPort ghi trong tài liệu không bao gồm buttons template, carousel, quick reply hoặc Flex Message chính thức. UnifyPort phù hợp khi yêu cầu chính là nhận và route tin nhắn LINE qua standard webhook.

Bước tiếp theo

Kiểm tra ma trận UnifyPort provider message support trước khi chọn kiến trúc inbound và outbound. Với buttons, quick reply, carousel hoặc Flex layout gốc, hãy triển khai theo tài liệu LINE Messaging API chính thức.

Nguồn

Nguồn chính thức, kiểm tra ngày 18 tháng 8 năm 2026:

UnifyPort API

Biến tích hợp nhắn tin thành một pipeline sản phẩm ổn định.

Bắt đầu bằng cách gửi qua một API, rồi đưa mọi tin nhắn inbound trở lại hệ thống kinh doanh bằng sự kiện chuẩn.