ReviewBình luận sản phẩm
Danh sách bình luận sản phẩm
Lấy danh sách bình luận đã được duyệt của một sản phẩm
Endpoint
GET /site/productcomments/{product_id}
Headers
| Key | Value | Bắt buộc | Mô tả |
|---|---|---|---|
SiteTenantId | {tenant_id} | Có | ID của công ty/tenant. |
Workflow & Logic
API này lấy danh sách các bình luận đã được duyệt của một sản phẩm, kèm theo danh sách phản hồi cho mỗi bình luận, phục vụ việc hiển thị bình luận trên trang chi tiết sản phẩm.
Quy trình xử lý (Internal Processing)
-
Khởi tạo & Kiểm tra (Initialization & Validation):
- Khởi tạo site context từ header
SiteTenantId(không yêu cầu đăng nhập). - Kiểm tra sản phẩm có tồn tại và thuộc về shop của
SiteTenantId.
- Khởi tạo site context từ header
-
Lọc dữ liệu (Filtering):
-
Chỉ lấy các bình luận có:
status = STATUS_VERIFIED(đã được duyệt).product_idkhớp với sản phẩm được yêu cầu.
-
-
Sắp xếp & Phân trang (Sorting & Pagination):
- Sắp xếp theo trường được chỉ định (
sort_by), mặc định theoidtăng dần (ASC). - Phân trang với
pagevàlimit, mặc địnhpage = 1vàlimit = 50(tối đa 50).
- Sắp xếp theo trường được chỉ định (
-
Đếm tổng số bản ghi (Counting):
- Đếm tổng số bản ghi phù hợp với điều kiện lọc (không áp dụng limit).
-
Làm giàu dữ liệu (Data Enrichment):
- Lấy danh sách
ProductCommenttheo điều kiện lọc, sắp xếp và phân trang. - Với mỗi bình luận, lấy danh sách phản hồi đã duyệt (
reply_list, tối đa 500 phản hồi, sắp theoidtăng dần). - Không trả số điện thoại và email của người bình luận/phản hồi.
- Lấy danh sách
-
Format & Trả về (Formatting & Response):
- Tổng hợp vào cấu trúc response với
total,currentpage,limit, vàitems[].
- Tổng hợp vào cấu trúc response với
Parameters
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
product_id | integer | Có | ID sản phẩm (trong URL path). |
page | integer | Trang hiện tại (Mặc định: 1). | |
limit | integer | Số lượng bản ghi mỗi trang (Mặc định và tối đa: 50). | |
sort_by | string | Trường sắp xếp (id, status, date_created). Mặc định: id. | |
sort_type | string | Hướng sắp xếp (ASC, DESC). Mặc định: ASC. |
Response Schema
HTTP 200 - JSON Object
{
"total": 50,
"currentpage": 1,
"limit": 50,
"items": [
{
"id": 1,
"product_id": 10,
"fullname": "Nguyễn Văn A",
"content": "Sản phẩm này có chất lượng tốt không?",
"count_reply": 2,
"status": 3,
"date_created": 1600000000,
"reply_list": [
{
"id": 1,
"content": "Sản phẩm chất lượng tốt, bạn yên tâm nhé",
"date_created": 1600000200
// ... Product Comment Reply Object
}
]
// ... Xem thêm Product Comment Object Schema
}
]
}Xem Product Comment Object Schema
HTTP 422 - Permission Error
Nếu sản phẩm không tồn tại hoặc không thuộc về công ty.
Error Codes
| HTTP | Mã lỗi | Mô tả |
|---|---|---|
| 422 | error_not_permission | Sản phẩm không tồn tại hoặc không thuộc về shop. |
| 404 | error_company_not_found_from_site_tenant_id | SiteTenantId không hợp lệ hoặc shop không còn hoạt động. |