ระบบรีวิว
ระบบรีวิวประกอบด้วย 4 ส่วนหลัก ได้แก่ Reviewers, Object, Reviews และ Actions
ข้อมูลทั้งหมดเป็นของโปรเจกต์นั้นๆ โดยเฉพาะ โปรเจกต์จะไม่แชร์ข้อมูล Reviewers หรือ Reviews ข้ามกัน
Reviewer
Reviewer คือผู้ใช้ในโปรเจกต์ของคุณ เป็นคนที่สร้างและ action กับ Reviews
เราไม่เก็บข้อมูลส่วนตัวของผู้ใช้ คุณต้องเชื่อมผู้ใช้ในระบบของคุณเข้ากับระบบของเราเอง
- สร้าง Reviewer: เรียก
POST /reviewerเพื่อลงทะเบียนผู้ใช้ - เก็บ ID: บันทึก
idที่ได้รับกลับมา แล้วผูกเข้ากับ User ID ในระบบของคุณ - ตรวจสอบสิทธิ์: เราไม่ได้ยืนยันตัวตนผู้ใช้ให้ คุณต้องตรวจสอบเองว่าผู้ใช้เป็นเจ้าของ
reviewer_idที่ส่งมาจริงๆ
อย่าส่ง reviewer_id ไปยัง frontend โดยตรง ให้ใช้ User ID ฝั่ง client แล้วแมปกับ reviewer_id บน backend ก่อนเรียก API
ดู Reviewers ทั้งหมดในโปรเจกต์ได้ที่ GET Reviewer by Client ID
Object
Object คือสิ่งที่ถูกรีวิว แบ่งเป็นสองประเภท
- Longdo Reserved Types — ประเภทที่ขึ้นต้นด้วย
longdo_เช่นlongdo_poiหมายถึง Point of Interest บน Longdo Map โดยobject_idอย่างA10000001จะลิงก์ตรงไปยัง:app-link{env-var-name="mapFrontendUrl" path="/p/A10000001" label="สถานที่นี้" target="_blank"} - Custom Object Types — กำหนดประเภทเองได้ตามต้องการ เช่น
product,movie,driverขอแค่ชื่อไม่ขึ้นต้นด้วยlongdo_
Review
Review ผูกกับ object_id เสมอ ส่วน object_type เป็นตัวเลือก แต่แนะนำให้ใส่เพื่อป้องกัน ID ชนกันเมื่อมีหลายหมวดหมู่
- Anonymous: ผู้ใช้เลือกรีวิวแบบไม่ระบุชื่อได้ ระบบจะซ่อนชื่อให้อัตโนมัติ เช่น "Alice" จะแสดงเป็น "A***e"
- การมองเห็นของเจ้าของโปรเจกต์: คุณจะเห็น
reviewer_idจริงในฟิลด์reviewer_byเสมอ แม้ Review นั้นจะเป็น Anonymous - การจัดการ: ดึง Reviews ทั้งหมดได้ผ่าน GET Review by Client ID หากเจอ Review ไม่เหมาะสม ให้ใช้
DELETE /reviewพร้อม Review ID เพื่อลบออก
Action
Actions ให้ Reviewers แสดงความรู้สึกต่อ Review ที่มีอยู่ได้ ปัจจุบันรองรับ Like, Haha และ Love
Reviewer ไม่จำเป็นต้องเป็นคนเขียน Review นั้นเพื่อทำ Action
การดู Action ของผู้ใช้
สำหรับการทำ UI แบบ personalized เช่น ไฮไลท์ปุ่ม Like ถ้าผู้ใช้กดไปแล้ว
- จำนวนรวม: การดึงรายละเอียด Review จะได้ผลรวมของ Actions ทุกประเภทกลับมาด้วย
- เฉพาะผู้ใช้: เรียก GET Review พร้อม
reviewer_idระบบจะคืนค่า Action ที่ผู้ใช้คนนั้นทำไว้ในฟิลด์user_action_id