หลักสำคัญคือแก้แบบไม่ทำลายต้นฉบับ: นำเข้ารายการเดิม แต่สร้าง Rich Menu ID ใหม่เมื่อเผยแพร่
ตรวจเงื่อนไขก่อนดึง
เมนูต้องสร้างด้วย Messaging API และอยู่ใน Channel ที่ตรงกับ Channel access token หากสร้างด้วย OA Manager คำสั่งรายการเมนูจะไม่ส่งเมนูนั้นกลับมา
ใช้ Token ชั่วคราวที่มีสิทธิ์ของ Channel เป้าหมาย และเพิกถอนหรือหมุน Token หลังจบงานถ้าเคยแชร์ผ่านช่องทางที่ไม่ปลอดภัย
ลำดับ API ที่เกิดขึ้น
เวิร์กโฟลว์ที่ตรวจสอบย้อนกลับได้ควรแยกแต่ละขั้นออกจากกัน เพื่อให้รู้ว่าปัญหาอยู่ที่ข้อมูล ภาพ หรือการเผยแพร่
- GET /v2/bot/richmenu/list — แสดงรายการเมนูจาก API
- GET /v2/bot/richmenu/{id} — อ่าน JSON และ Action
- GET api-data.line.me/.../content — ดาวน์โหลดภาพ
- แก้พิกัดและ Action บน Canvas
- POST /v2/bot/richmenu/validate — ตรวจ JSON
- สร้าง Rich Menu ใหม่ อัปโหลดภาพ และตั้งเป็น Default เมื่อพร้อม
ทำไมต้องสร้าง ID ใหม่
LINE ไม่อนุญาตให้แทนที่ภาพที่ผูกกับ Rich Menu เดิม การแก้ภาพหรือโครงสร้างจึงควรสร้าง Rich Menu object ใหม่ อัปโหลดภาพใหม่ แล้วสลับ Default วิธีนี้ทำให้ต้นฉบับยังอยู่และย้อนกลับได้
การลากย้ายพื้นที่บน Canvas ไม่เปลี่ยนเมนูจริงทันที การเปลี่ยนแปลงเกิดขึ้นเมื่อคุณกดเผยแพร่และยืนยันการตั้งค่าเท่านั้น
Checklist ก่อนสลับ Default
หลังตั้ง Default ผู้ใช้ต้องเปิดห้องแชตใหม่ และการเปลี่ยนแปลงอาจใช้เวลาสั้น ๆ จึงควรทดสอบอีกครั้งก่อนลบต้นฉบับ
- ทุกพื้นที่อยู่ในขอบภาพและไม่ทับกันโดยไม่ตั้งใจ
- ข้อความ Chat bar ไม่เกิน 14 ตัวอักษร
- URL ใช้ HTTPS และ UTM ถูกต้อง
- Postback มีระบบรับ webhook
- ทดสอบด้วยบัญชีจริงบนโทรศัพท์
- จด Rich Menu ID เดิมและใหม่ไว้สำหรับย้อนกลับ
เอกสารอ้างอิง
ตรวจสอบข้อกำหนดล่าสุดจากเอกสารทางการก่อนใช้งานกับระบบสำคัญ
พร้อมนำไปทำบน Canvas แล้วหรือยัง?
วางพื้นที่ปุ่มแบบลาก ย้าย ย่อ–ขยาย แล้วตรวจ JSON ก่อนเผยแพร่
เปิด Studio →