วิดเจ็ตแชท

ทุกจุดเชื่อมต่อที่วิดเจ็ตแชทแบบฝังใช้บนเว็บไซต์ของลูกค้า

กลุ่มนี้รวบรวมจุดปลายทางสาธารณะทั้งหมดที่วิดเจ็ตแชทแบบฝังใช้บนเว็บไซต์ลูกค้า ได้แก่ การตรวจสอบความพร้อมใช้งาน (`GET /api/public/widget/health`) การดึงการตั้งค่าวิดเจ็ตสาธารณะ (`GET /api/public/widget/config/:widget_code`) รวมถึงการส่งและดูประวัติข้อความ (`POST /api/public/widget/message`, `GET /api/public/widget/history`) การอนุญาตโดเมนจะดูแลโดย Zentor ระหว่างการสร้างวิดเจ็ต และไม่มีหน้าจอตั้งค่าในแดชบอร์ดของผู้เช่า หากต้นทาง (Origin) ไม่ได้รับอนุญาต อาจเกิดรหัสข้อผิดพลาด `WIDGET_ORIGIN_DENIED` การสร้างวิดเจ็ตเองสงวนไว้สำหรับ Master-Admin ในขณะที่ผู้เช่าจะได้รับโค้ดฝังที่พร้อมใช้งาน

ไม่มีระบบคีย์ API สำหรับนักพัฒนาแบบทั่วไป จุดปลายทาง `health` และ `config` เข้าถึงได้โดยไม่ต้องยืนยันตัวตน เนื่องจากมีไว้เพื่อเริ่มต้นวิดเจ็ตในเบราว์เซอร์ ในขณะที่ `message` และ `history` ต้องใช้เฮดเดอร์ `X-Widget-Token` และจะถูกตรวจสอบเพิ่มเติมกับรายการอนุญาต Origin ฝั่งเซิร์ฟเวอร์ โทเค็นฝัง (Embed-Token) จะแสดงเป็นข้อความธรรมดาเพียงครั้งเดียวระหว่างการสร้างวิดเจ็ต และห้ามปรากฏในรีโพสิทอรีสาธารณะ ภาพหน้าจอสำหรับซัพพอร์ต หรือบันทึกของเบราว์เซอร์

หน้ารายละเอียดแต่ละหน้าของกลุ่มนี้จะอธิบายเมธอด เส้นทาง การยืนยันตัวตน ความเป็น idempotent และรหัสข้อผิดพลาดที่มีเอกสารกำกับของแต่ละจุดปลายทางแยกกัน การเรียกจุดปลายทางหนึ่งสำเร็จไม่ได้ยืนยันโดยอัตโนมัติว่าจุดปลายทางอื่นในกลุ่มเดียวกันจะสำเร็จเช่นกัน โดยเฉพาะการตรวจสอบ `health` ที่เป็นสีเขียวไม่ได้ยืนยันว่ามีวิดเจ็ตที่ถูกต้อง มี Origin ที่ได้รับอนุญาต หรือเข้าถึงผู้ให้บริการ AI ได้

ขีดจำกัด API ทั่วทั้งแพลตฟอร์มที่ได้รับการยืนยันคือ 2,000 คำขอภายใน 15 นาที ขีดจำกัดที่แตกต่างออกไปสำหรับจุดปลายทางวิดเจ็ตรายตัวจะระบุก็ต่อเมื่อมีหลักฐานชัดเจนสำหรับจุดปลายทางนั้น `message` ไม่ใช่ idempotent ไคลเอนต์ห้ามส่งซ้ำโดยอัตโนมัติเมื่อการส่งถูกยกเลิกโดยไม่ทราบสาเหตุ โดยไม่ตรวจสอบก่อนว่าข้อความแรกได้รับการประมวลผลแล้วหรือไม่

การตรวจสอบทางเทคนิคของกลุ่มนี้อิงจากรีจิสทรีที่ `app/frontend/src/content/api-reference/groups/widget.ts` และเส้นทางฝั่งแบ็กเอนด์ที่เกี่ยวข้อง หน้ารายละเอียดแต่ละหน้าจะระบุว่าเส้นทางสำเร็จได้รับการตรวจสอบแบบสดจริง เส้นทางกรณีล้มเหลว หรือเพียงการเทียบเคียงจากโค้ด — ความแตกต่างนี้ใช้กับทั้งกลุ่มและห้ามแทนที่ด้วยคำยืนยันความสำเร็จแบบเหมารวม

GET/api/public/widget/healthGET/api/public/widget/config/:widget_codePOST/api/public/widget/messageGET/api/public/widget/historyPOST/api/public/widget/pollPOST/api/public/widget/ratingPOST/api/public/widget/trackPOST/api/public/widget/voice-transcribePOST/api/public/widget/voice-speak
← เอกสารอ้างอิง API