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

Inbox Overview (กล่องข้อความ)

หน้าหลักของ Agent — ดู conversations ของลูกค้าและตอบกลับ

ภาพรวม

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

  1. Header — โลโก้ + ชื่อ MergeChat + status "ไม่มีข้อความใหม่"
  2. Tabs สถานะแชท: เปิด / รอ / ปิดแล้ว (พร้อมตัวเลขนับ)
  3. Filter chip ตาม OA — ทั้งหมด / Test1 / test2 (แสดงเฉพาะ OA ที่มีสิทธิ์)
  4. ช่องค้นหา — ค้นหาตามชื่อลูกค้า/ข้อความ
  5. รายการ conversations — เรียงตาม last_msg_at desc
  6. Main panel — แสดงเนื้อหาแชทเมื่อเลือก conversation จากซ้าย (ครั้งแรก = release notes)

หน้า Inbox (/) แบ่งเป็น 2 ส่วน:

  • Tab แบ่งตาม status:
    • เปิด — สนทนาที่ยังไม่ปิด (ตอบลูกค้าได้)
    • รอ — ลูกค้าใหม่ยังไม่มี agent assigned
    • ปิดแล้ว — เคสปิดเรียบร้อย
  • ทั้งหมด — รวมทุก status (เลขแสดงนับรวม)
  • Filter ด้านล่างเป็น chip เลือก OA (ถ้ามีหลาย OA)
  • Search box: ค้นหาตามชื่อลูกค้า/ข้อความ

Main Panel ขวา — Active Chat

แสดงเมื่อเลือก conversation จาก sidebar:

  • Header: ชื่อลูกค้า + OA + tags + ปุ่ม assign/close
  • Timeline: messages เรียงตามเวลา (ลูกค้า + agent + bot suggestions)
  • Input box: ช่องพิมพ์ตอบ + toggle Note/Reply + Quick Replies hint

Real-time WebSocket

inbox connect ผ่าน wss://chat.<domain>/ws?token=... — ทุก message ใหม่ push เข้ามาทันที (ไม่ต้อง refresh)

ถ้าเห็น banner "[WS] Disconnected — retrying..." = ปกติ (เครือข่าย hiccup)

Status เริ่มต้น

แชทที่ลูกค้าทักเข้ามาใหม่ จะอยู่ใน:

  • ถ้าไม่มี agent assigned → tab รอ
  • ถ้ามี agent assigned (กดรับ) → tab เปิด

ขั้นตอนงานประจำวัน

  1. เปิด / (หน้า Inbox)
  2. ดู tab รอ → คลิกแชทแรก → กด รับเคส หรือเริ่มตอบ
  3. ตอบลูกค้า (ดู การตอบ)
  4. เคสจบ → กด ปิดเคส → ย้ายไป tab ปิดแล้ว
  5. กลับ tab รอ ทำเคสถัดไป

คำถามที่พบบ่อย

Inbox ว่างเปล่า
  • ตรวจว่าตัวเองมี OA permission ที่ admin ตั้งให้
  • ตรวจ filter chip OA ว่าเลือกอยู่หรือไม่
  • ถ้าเป็น "ทั้งหมด" และยังว่างเปล่า → ทีมนี้ยังไม่มีลูกค้าเลย (ปกติช่วงเริ่มต้น)
ลำดับ conversation เรียงยังไง

เรียงตาม last_msg_at desc (ล่าสุดบนสุด) — ทั้ง customer message และ agent reply นับ

Badge "ไม่มีข้อความใหม่" หมายถึงอะไร

Default state เมื่อไม่มี message ใหม่ — เปลี่ยนเป็น count + เสียง notify เมื่อมี new message ผ่าน WS

ที่อ้างอิง

  • Source: mergchat:line-inbox-frontend/src/pages/Inbox.tsx
  • WebSocket: useWebSocket.js
  • API: GET /api/conversations (filter by allowedOaIds)