LINE Buttons Template จำกัด 4 Actions: ควรใช้ Quick Reply, Carousel หรือ Flex Message?
LINE Messaging API buttons template ใส่ action objects ในอาร์เรย์ actions ได้สูงสุด 4 รายการ หากการ์ดต้องมีตัวเลือกที่มองเห็นได้มากกว่านั้น อย่ารวมหลายความหมายไว้ในปุ่มเดียว ใช้ quick reply สำหรับเมนูชั่วคราว, carousel template สำหรับสินค้าและสาขา, Flex Message สำหรับลำดับข้อมูลที่ปรับแต่งเอง หรือแบ่งคำถามเป็นสองขั้นเมื่อรายการสามารถจัดกลุ่มได้
ประเด็นสำคัญ
- Messaging API reference ของ LINE กำหนดให้อาร์เรย์
actionsของ buttons template มีได้สูงสุด 4 objects - สามารถกำหนด action แยกให้พื้นที่รูปภาพ ชื่อเรื่อง หรือข้อความได้ แต่ไม่ได้สร้างปุ่มที่มองเห็นได้ปุ่มที่ 5
- Quick reply รองรับปุ่มสูงสุด 13 ปุ่ม เหมาะกับตัวเลือกที่ต้องตอบทันที
- Carousel template เหมาะเมื่อแต่ละตัวเลือกคือสินค้า สาขา หรือช่วงนัดหมายคนละรายการ
- Flex Message ยืดหยุ่นด้าน layout มากกว่า แต่ต้องออกแบบ ตรวจสอบ และทดสอบหลายอุปกรณ์มากขึ้น
ข้อจำกัด 4 actions ของ LINE buttons template หมายถึงอะไร
LINE อธิบาย template message ว่าเป็น layout สำเร็จรูปสำหรับการโต้ตอบที่มีรายละเอียดมากขึ้น Buttons template มีพื้นที่สำหรับรูปภาพ ชื่อเรื่อง ข้อความ และปุ่ม action โดยอาร์เรย์ actions ที่จำเป็นรับได้สูงสุด 4 action objects นอกจากนี้ยังตั้ง optional action ให้พื้นที่รูปภาพ ชื่อเรื่อง หรือข้อความได้
สองส่วนนี้มีหน้าที่ต่างกัน พื้นที่การ์ดที่แตะได้เหมาะกับ “ดูรายละเอียด” แต่ไม่ได้เปลี่ยนปุ่มที่เห็น 4 ปุ่มให้เป็น 5 ปุ่ม ผู้ใช้ควรเดาผลลัพธ์ของการแตะได้ และ label ของทั้ง 4 ปุ่มต้องแยกความหมายชัดเจน
บทความนี้กล่าวถึง Messaging API buttons template ไม่ใช่ custom action button ของ LINE MINI App หากคุณกำลังใช้ liff.shareTargetPicker() และการ์ดแชร์ตามรูปแบบของ LINE โปรดดู คู่มือ custom action button ของ LINE MINI App
เปรียบเทียบ buttons, quick reply, carousel และ Flex Message
| ตัวเลือก | เหมาะที่สุดกับ | ข้อจำกัดหลัก | ควรเลือกเมื่อ |
|---|---|---|---|
| Buttons template | การ์ดเดียวที่มี 1–4 actions หลัก | actions สูงสุด 4 objects | ทุก action สำคัญและอยู่ในบริบทเดียวกัน |
| Quick reply | เมนูชั่วคราวหรือคำถามขั้นถัดไป | ปุ่มอาจหายไปเมื่อบทสนทนาดำเนินต่อ | ผู้ใช้ควรเลือกทันทีจากตัวเลือกสูงสุด 13 รายการ |
| Carousel template | สินค้า สาขา การนัดหมาย หรือรายการซ้ำ | ต้องจัดเนื้อหาเป็น columns ที่สม่ำเสมอ | แต่ละรายการต้องมีรูป ข้อความ และ actions ของตัวเอง |
| Flex Message | layout ที่เน้นแบรนด์หรือมีข้อมูลหนาแน่น | JSON, rendering และการทดสอบซับซ้อนกว่า | template มาตรฐานแสดงลำดับข้อมูลได้ไม่ชัด |
| บทสนทนาสองขั้น | รายการยาวที่แบ่งหมวดได้ | เพิ่มการโต้ตอบหนึ่งครั้ง | เลือกหมวดก่อน แล้วแสดงเฉพาะตัวเลือกที่เกี่ยวข้อง |
ภาพรวม message types ของ LINE แยก buttons, confirm, carousel, image carousel และ Flex Message เป็น message types คนละแบบ แต่ละแบบมี interaction model ต่างกัน ไม่ใช่เพียงการ์ดเดียวกันที่ใหญ่ขึ้น
ใช้ quick reply สำหรับคำตอบทันที
LINE อนุญาตให้ใส่ quick reply buttons ได้สูงสุด 13 ปุ่มในหนึ่งข้อความ ปุ่มจะแสดงด้านล่างของห้องแชต เหมาะกับภาษา ช่วงเวลาจัดส่ง ประเภทปัญหา หรือพื้นที่สาขาที่ต้องการคำตอบทันที
อย่าใช้ quick reply เป็น navigation แบบถาวร เอกสาร LINE ระบุว่าปุ่มอาจหายเมื่อมีข้อความใหม่ในห้อง หากผู้ใช้ต้องกลับมาที่เมนูภายหลัง ให้ใช้ message layout ที่คงอยู่มากกว่า หรือส่งตัวเลือกอีกครั้งเมื่อ workflow อยู่ในสถานะที่ถูกต้อง
ใช้ carousel เมื่อแต่ละตัวเลือกเป็นคนละรายการ
หากตัวเลือกเป็นสินค้า สาขา หรือการนัดหมายคนละรายการ carousel จะเป็นธรรมชาติกว่าการอัด actions ลงในการ์ดเดียว ตัวอย่างเช่น แต่ละสาขาต้องมี “แผนที่” “เวลาเปิด” และ “ติดต่อ” ก็ควรทำแต่ละสาขาเป็น column ที่มีโครงสร้างเดียวกัน แทนที่จะใช้ 4 actions แทน 4 สาขา
แต่ละ column ควรเปรียบเทียบกันได้ อย่าปนการ์ดสินค้า คำสั่งบริการลูกค้า และแคมเปญที่ไม่เกี่ยวข้องใน carousel เดียว
ใช้ Flex Message เมื่อปัญหาคือการจัดลำดับข้อมูล
เมื่อปัญหาไม่ได้อยู่ที่จำนวนตัวเลือกเพียงอย่างเดียว แต่อยู่ที่ visual hierarchy ให้พิจารณา Flex Message เอกสาร Flex Message elements ของ LINE มี button components ที่ผูก action ได้และมีหลาย styles
Flex ไม่ได้หมายความว่าควรวางทุก action ไว้บนหน้าจอเดียว ความอ่านง่ายบนมือถือ label ที่ชัดเจน accessibility และความต่างของ rendering ยังสำคัญ ควรใช้ Flex Message Simulator และ validate message object สุดท้ายก่อนเปิดใช้งาน
ใช้สองขั้นเมื่อรายการสะท้อน business logic
หลายครั้งคำตอบที่ชัดที่สุดไม่ใช่การ์ดที่ใหญ่ขึ้น แต่เป็นคำถามระดับบนก่อน:
- “ต้องการความช่วยเหลือเรื่องใด?” — คำสั่งซื้อ คืนสินค้า คำแนะนำสินค้า บัญชี
- แสดงเฉพาะ actions ที่เกี่ยวข้องกับหมวดที่เลือก
แต่ละขั้นสั้นลง และ backend ได้ routing state ที่ชัดเจน สำหรับทีมในไทยที่ใช้ LINE เป็นช่องทางหลัก วิธีนี้ยังช่วยแยกภาษา พื้นที่ หรือทีมรับผิดชอบก่อนเข้าสู่ขั้นตอนบริการจริง
Checklist ก่อนเปิดใช้งาน
- จัดลำดับตามเจตนาของผู้ใช้ ให้ actions ที่ใช้บ่อยและมีผลมากมองเห็นได้
- แยก navigation ออกจากคำตอบ ปลายทางถาวรไม่ควรปนกับคำตอบของคำถามปัจจุบัน
- จัดกลุ่มรายการยาว หากแบ่งหมวดได้อย่างเป็นธรรมชาติ ให้ใช้บทสนทนาสองขั้น
- ใช้ label ที่แยกกันชัดเจน “เพิ่มเติม” “อื่น ๆ” และ “รายละเอียด” บนการ์ดเดียวทำให้สับสน
- เชื่อมทุก action กับสถานะฝั่ง server Postback หรือ message action ต้องนำไปยัง workflow ที่ถูกต้อง
- ทดสอบบนมือถือ ตรวจข้อความตัด รูปถูก crop พื้นที่แตะ และเส้นทางย้อนกลับ
หากยังไม่แน่ใจว่าจะใช้ MINI App service message หรือ Messaging API reply/push message ให้อ่าน LINE Service Messages เทียบกับ Messaging API ก่อน ต้องเลือก message surface ให้ถูกก่อนเลือก layout
UnifyPort เหมาะกับอะไรและไม่เหมาะกับอะไร
ตัวเลือกทั้งหมดข้างต้นเป็นความสามารถด้านการแสดงผลของ LINE Messaging API อย่างเป็นทางการ UnifyPort ไม่ได้สร้าง buttons template, quick reply, carousel template หรือ Flex Message ขึ้นมาแทน หาก workflow ต้องใช้ UI components ดั้งเดิมของ LINE ให้ใช้ Messaging API อย่างเป็นทางการ
UnifyPort เหมาะกับงานอีกแบบ: รับบทสนทนา LINE ผ่าน unofficial interface แล้วส่ง normalized inbound events ไปยัง backend ที่มีอยู่ ตาราง provider message support แสดง standard outbound payload types ที่ map สำหรับ LINE ส่วน เอกสาร standard webhook events กำหนด message.received envelope ที่ใช้ร่วมกันในแพลตฟอร์มที่รองรับ
จึงแยกการตัดสินใจได้ดังนี้:
- ต้องมี interactive card อย่างเป็นทางการใน flow ของ LINE Official Account: ใช้ Messaging API และเลือก message type ที่เหมาะสม
- ต้องรับข้อความจากบัญชี LINE ทั่วไปเข้าสู่ support queue เดิม: ประเมิน inbound path ของ UnifyPort
- ต้องใช้ทั้งสองแบบ: ออกแบบเป็นคนละ surface ที่มี identity และเจ้าของชัดเจน
อ่านรายละเอียดและข้อจำกัดของ inbound path เพิ่มเติมได้ที่ วิธีรับข้อความ LINE โดยไม่ลงทะเบียน Official Account
ข้อจำกัดและสิ่งที่ต้องแลก
เมื่อ 4 actions เพียงพอ buttons template มาตรฐานคือทางเลือกที่ง่ายที่สุด Quick reply มีตัวเลือกมากกว่าแต่เป็นแบบชั่วคราว Carousel เหมาะกับการดูรายการแต่ต้องมีเนื้อหาสม่ำเสมอ Flex Message ควบคุม layout ได้มากขึ้นแต่ต้องทดสอบมากขึ้น ส่วนบทสนทนาสองขั้นเพิ่มหนึ่ง interaction แต่ทำให้การตัดสินใจชัดเจนขึ้น
พฤติกรรมของ official client และกฎ validation อาจเปลี่ยนได้ หาก implementation พึ่งพาขีดจำกัดหรือ rendering ที่แน่นอน ให้ตรวจเอกสาร LINE ปัจจุบันอีกครั้งก่อน release
คำถามที่พบบ่อย
LINE Messaging API buttons template มีได้สูงสุดกี่ actions?
อาร์เรย์ actions มี action objects ได้สูงสุด 4 รายการ Optional action บนพื้นที่รูปภาพ ชื่อเรื่อง หรือข้อความเป็นพื้นที่แตะแยก ไม่ใช่ปุ่มที่มองเห็นได้เพิ่ม
ใช้ quick reply เพื่อมีปุ่ม LINE มากกว่า 4 ปุ่มได้ไหม?
ได้ LINE ระบุว่าหนึ่งข้อความมี quick reply buttons ได้สูงสุด 13 ปุ่ม ควรใช้กับคำตอบทันที ไม่ใช่ navigation ถาวร เพราะปุ่มอาจหายเมื่อแชตดำเนินต่อ
ควรใช้ carousel หรือ Flex Message เมื่อมี actions มากขึ้น?
ใช้ carousel เมื่อแต่ละตัวเลือกเป็นรายการที่มีโครงสร้างเหมือนกัน ใช้ Flex Message เมื่อจำเป็นต้องมี visual hierarchy แบบกำหนดเอง หากรายการแบ่งหมวดได้ บทสนทนาสองขั้นอาจชัดกว่าทั้งสองแบบ
UnifyPort ส่ง LINE buttons template ได้หรือไม่?
ไม่ได้ ความสามารถส่ง LINE แบบมาตรฐานที่ UnifyPort จัดทำเอกสารไว้ไม่รวม buttons template, carousel, quick reply หรือ Flex Message อย่างเป็นทางการ งานหลักที่เกี่ยวข้องคือรับและ route ข้อความ LINE ผ่าน standard webhook
ขั้นตอนถัดไป
ตรวจ ตาราง UnifyPort provider message support ก่อนกำหนดสถาปัตยกรรม inbound และ outbound สำหรับ buttons, quick reply, carousel หรือ Flex layout ดั้งเดิม ให้พัฒนาตามเอกสาร LINE Messaging API อย่างเป็นทางการ
แหล่งข้อมูล
แหล่งข้อมูลทางการ ตรวจสอบเมื่อ 18 สิงหาคม 2026:
เปลี่ยนการเชื่อมต่อข้อความให้เป็น pipeline ผลิตภัณฑ์ที่เสถียร
เริ่มจากการส่งผ่าน API เดียว แล้วส่งข้อความขาเข้าทั้งหมดกลับสู่ระบบธุรกิจของคุณด้วย event มาตรฐาน