คำตอบสั้น: Rich Menu ทำผ่าน API ได้ 3 ขั้น: สร้างเมนู → อัปโหลดรูป → ตั้งให้ใช้ ใน n8n ใช้โหนด HTTP Request ได้ทั้งหมด
ตรวจรูปแบบคำขอเมื่อ 2026-10-10 จาก ข้อกำหนด OpenAPI ทางการของ LINE ผมยังไม่ได้ทดสอบกับ channel จริงของผู้อ่าน ให้ทดลองบน channel ทดสอบก่อน
POST https://api.line.me/v2/bot/richmenu
Authorization: Bearer {Channel access token}
Content-Type: application/json
{
"size": { "width": 2500, "height": 843 },
"selected": true,
"name": "เมนูหลัก",
"chatBarText": "เมนู",
"areas": [
{
"bounds": { "x": 0, "y": 0, "width": 1250, "height": 843 },
"action": { "type": "message", "text": "สั่งซื้อ" }
},
{
"bounds": { "x": 1250, "y": 0, "width": 1250, "height": 843 },
"action": { "type": "uri", "uri": "https://example.com" }
}
]
}
ผลลัพธ์จะมี richMenuId ให้เก็บไว้ใช้ขั้นต่อไป ฟิลด์ size, selected, name, chatBarText, areas ตามที่ข้อกำหนดทางการระบุ ขนาดภาพต้องเป็นขนาดที่ LINE รองรับ (เช่น 2500×1686 หรือ 2500×843) ให้ตรวจรายการขนาดในเอกสารล่าสุด
POST https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content
Authorization: Bearer {Channel access token}
Content-Type: image/png (หรือ image/jpeg)
(เนื้อหาเป็นไบนารีของภาพ)
ใน n8n ตั้ง HTTP Request ให้ส่ง Body เป็น Binary File และกำหนดส่วนหัว Content-Type ให้ตรงกับชนิดภาพ จุดที่พลาดบ่อย: ส่งไปที่ api.line.me แทน api-data.line.me
POST https://api.line.me/v2/bot/user/all/richmenu/{richMenuId}POST https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId}DELETE https://api.line.me/v2/bot/user/{userId}/richmenuGET https://api.line.me/v2/bot/richmenu/listDELETE https://api.line.me/v2/bot/richmenu/{richMenuId}ผูกเมนูตามสถานะลูกค้า เช่น ลูกค้าใหม่เห็นเมนูหนึ่ง ลูกค้าที่สั่งแล้วเห็นอีกเมนู โดยให้ workflow เรียกขั้นที่ 3 แบบรายคนเมื่อสถานะเปลี่ยน
ผมกำลังเสนอการทำงานด้าน Rich Menu ให้โหนดชุมชนที่กล่าวถึง (ยังไม่ได้รวมเข้าโปรเจกต์ ณ วันที่เขียน) หากรวมแล้วจะอัปเดตบทความนี้
ต้องอัปโหลดไปที่โฮสต์ api-data.line.me ด้วย POST /v2/bot/richmenu/{richMenuId}/content ไม่ใช่ api.line.me ตามข้อกำหนด OpenAPI ของ LINE และต้องเป็นภาพ JPEG หรือ PNG ที่ขนาดตรงกับ Rich Menu
ได้ทั้งสองแบบ: ตั้งเป็นเมนูตั้งต้นของทุกคนด้วย /v2/bot/user/all/richmenu/{richMenuId} หรือผูกกับผู้ใช้รายคนด้วย /v2/bot/user/{userId}/richmenu/{richMenuId}
ณ วันที่ตรวจ (10 ต.ค. 2026) โค้ดโหนด n8n-nodes-line-messaging ยังไม่มีการทำงานด้าน Rich Menu จึงแนะนำให้ใช้ HTTP Request ตามตัวอย่างในบทความนี้
เขียนโดย noppruts (นพรุจ) · ตรวจข้อมูลล่าสุด 2026-10-10 · คู่มือทั้งหมด