ข้ามไปที่เนื้อหา

ปิดเคส (Close Conversation)

ปิด conversation เมื่อจบเคส — ย้ายไป tab "ปิดแล้ว" + บันทึก closed_at + closed_by

ภาพรวม

หมายเลขในรูป:

  1. Tab "ปิดแล้ว" active — แสดงตัวเลขนับ 18 conversations
  2. แต่ละ row = 1 conversation ที่ปิดแล้ว — avatar + ชื่อลูกค้า + เวลาที่ปิด + preview
  3. Tags chips ใต้ preview — color-coded ตาม tag
  4. 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/status body {"status": "closed"}
  • DB columns: status, closed_at, closed_by
  • Reports source: /api/reports/agent-performance