POST/api/global-chatbot/demo/poll
สอบถามข้อความใหม่ที่มาถึงแบบอะซิงโครนัสของเซสชันแชทเดโม (เช่น เมื่อเจ้าหน้าที่ที่เป็นมนุษย์เข้ารับช่วงต่อใน Master-Admin) — วิดเจ็ตเรียกใช้เป็นระยะ
`POST /api/global-chatbot/demo/poll` สอบถามข้อความใหม่หรือการเปลี่ยนแปลงสถานะสำหรับเซสชันเดโมที่มีอยู่ Body ประกอบด้วย `session_id` และ `visitor_id` ค่าทั้งสองต้องมาจากบทสนทนาเดโมสาธารณะเดียวกัน หากขาดพารามิเตอร์ใดพารามิเตอร์หนึ่ง เซิร์ฟเวอร์จะตอบกลับด้วย `400 PARAMS_REQUIRED` เส้นทางนี้ไม่ต้องให้ผู้ใช้เข้าสู่ระบบและอ่านสถานะปัจจุบันของเซสชันเดโม ใช้เมื่อคำตอบไม่ได้กลับมาทันทีพร้อมคำขอก่อนหน้า หรือเมื่อหน้าจอต้องแสดงข้อความที่มาถึงภายหลัง Polling ไม่ใช่สิ่งทดแทนการส่งข้อความ และไม่สร้างคำขอใหม่จากผู้เยี่ยมชมเอง ไคลเอนต์ต้องเว้นระยะระหว่างการเรียกอย่างเหมาะสม ลูปที่ทำงานถี่ไม่สิ้นสุดจะเพิ่มภาระและอาจทำให้ติด Rate-Limit โดยไม่ทำให้ได้คำตอบเร็วขึ้น หากเซสชันสิ้นสุด ใช้ไม่ได้ หรือหาไม่พบ ควรหยุด Polling และให้หน้าจอเสนอให้เริ่มใหม่ หน้าที่ถูกยกเลิกหรือแท็บที่ซ่อนอยู่ต้องไม่ทิ้งคำขอเบื้องหลังที่ทำงานต่อเนื่องไว้ `session_id` และ `visitor_id` ไม่ใช่ข้อมูลเข้าถึงทั่วไปสำหรับบทสนทนาอื่น ห้ามแบ่งปันระหว่างผู้เยี่ยมชม หรือส่งพร้อมกับข้อความไปยังเครื่องมือวิเคราะห์สาธารณะ เดโมแยกจากบทสนทนาของผู้เช่าและข้อมูลกล่องจดหมายของระบบ Production การทดสอบที่ถูกต้องเริ่มเซสชันเดโม ส่งข้อความ แล้วเรียก Poll ด้วยตัวระบุชุดเดียวกัน นอกจากนี้ยังตรวจสอบคำขอที่ไม่มี `visitor_id` การทดสอบกรณีล้มเหลวที่บันทึกไว้เป็นหลักฐานของข้อผิดพลาด ไม่ใช่หลักฐานว่าบทสนทนาแบบ Production ที่สมบูรณ์เสร็จสิ้นสำเร็จ
การยืนยันตัวตนและความปลอดภัย
ไม่ต้องยืนยันตัวตน
Idempotent (เรียกซ้ำได้ผลเหมือนเดิม): ใช่
พารามิเตอร์
session_id(body, string, จำเป็น)visitor_id(body, string, จำเป็น)ตัวอย่างคำขอ
{"session_id":"<UUID>","visitor_id":"<UUID>"}ตัวอย่างการตอบกลับ
{"ok":true,"data":{"messages":[]}}รหัสข้อผิดพลาด
400 PARAMS_REQUIRED — ขาด session_id และ/หรือ visitor_idหลักฐานการทดสอบแบบสด
ยืนยันความสำเร็จ (200, รายการว่างเนื่องจากไม่มีข้อความแบบอะซิงโครนัสใหม่ตั้งแต่ demo.chat) และกรณีเชิงลบ (400) แล้วแบบเรียลไทม์