ปิดเคส (Close Conversation)←
ปิด conversation เมื่อจบเคส — ย้ายไป tab "ปิดแล้ว" + บันทึก closed_at + closed_by
ภาพรวม←

หมายเลขในรูป:
- Tab "ปิดแล้ว" active — แสดงตัวเลขนับ 18 conversations
- แต่ละ row = 1 conversation ที่ปิดแล้ว — avatar + ชื่อลูกค้า + เวลาที่ปิด + preview
- Tags chips ใต้ preview — color-coded ตาม tag
- List scroll ลงดู conversations เก่ากว่า — เรียงตาม last_msg_at desc
หลังตอบลูกค้าจนได้คำถามครบ และไม่มีอะไรค้าง:
- กด ปิดเคส บน chat header
- Conversation status →
closed - บันทึก
closed_at = NOW()+closed_by = agent_id ของคุณ - Conversation ย้ายจาก tab เปิด → tab ปิดแล้ว
ลูกค้าไม่ได้รับข้อความใดๆ ตอนปิด — เป็น state ภายใน mergchat เท่านั้น
วิธีปิด←
1. ส่งข้อความปิดให้ลูกค้าก่อน (Optional)←
แนะนำส่งข้อความสรุป:
หรือใช้ Quick Reply Alt+5 (ถ้า admin ตั้งไว้)
2. คลิก "ปิดเคส"←
ที่ chat header — ปุ่มสีแดงอ่อน อาจอยู่ในเมนู ⋮ (3 จุด) ขึ้นกับ UI version
3. Confirmation←
ระบบอาจถาม "ยืนยันปิดเคส?" → กดยืนยัน
4. ผลลัพธ์←
- chat ย้ายไป tab ปิดแล้ว ทันที
- Reports leaderboard เพิ่มยอด "ปิดเคส" ของคุณ +1
- WebSocket broadcast → agent อื่นเห็นด้วย
เปิดเคสที่ปิดแล้วใหม่←
ถ้าลูกค้ากลับมาทักอีก:
- conversation auto-reopen → status =
open→ ย้ายกลับ tab เปิด - agent คนเดิมจะเห็น notification + รับเคสต่อ
คำถามที่พบบ่อย←
ปิดผิดเคส — undo ได้ไหม
ใช่ — ใน tab ปิดแล้ว เปิด chat → กด เปิดเคสใหม่ → status = open + closed_at = NULL
Auto-close conversations ที่ไม่ได้ใช้งานนาน
ปัจจุบัน v1.0 ไม่มี auto-close — เคสค้าง tab เปิด ตลอดจนกว่า agent จะปิดเอง
นับ closed คนเดียว — agent อื่นที่ตอบใน conversation นี้ก่อนได้นับด้วยไหม
ไม่ — closed_by = agent ที่กดปิด only — Reports leaderboard ใช้ค่านี้
ที่อ้างอิง←
- API: PATCH
/api/conversations/:id/statusbody{"status": "closed"} - DB columns:
status,closed_at,closed_by - Reports source:
/api/reports/agent-performance