ReviewĐánh giá sản phẩm

Danh sách đánh giá sản phẩm theo sản phẩm

Lấy danh sách đánh giá sản phẩm đã được duyệt theo sản phẩm

Endpoint

GET /site/productreviews/product/{product_id}

Headers

KeyValueBắt buộcMô tả
SiteTenantId{tenant_id}CóID của công ty/tenant.

Workflow & Logic

API này lấy danh sách các đánh giá sản phẩm đã được duyệt của một sản phẩm, phục vụ việc hiển thị đánh giá trên trang chi tiết sản phẩm.

Quy trình xử lý (Internal Processing)

  1. 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 product_id có hợp lệ (phải > 0).
  2. Lọc dữ liệu (Filtering):

    • Chỉ lấy các đánh giá có:

      • status = STATUS_APPROVED (đã được duyệt).
      • visible = 1 (hiển thị công khai).
      • product_id khớp với sản phẩm được yêu cầu.
  3. Sắp xếp & Phân trang (Sorting & Pagination):

    • Sắp xếp theo trường được chỉ định (sort_by), mặc định theo id giảm dần (DESC).
    • Phân trang với page và limit, mặc định page = 1 và limit = 50 (tối đa 50).
  4. Đế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).
  5. Làm giàu dữ liệu (Data Enrichment):

    • Lấy danh sách ProductReview theo điều kiện lọc, sắp xếp và phân trang.
    • Với mỗi review, xóa các trường nhạy cảm (internal_note, moderator_id).
  6. Format & Trả về (Formatting & Response):

    • Tổng hợp vào cấu trúc response với total, currentpage, limit, và items[].

Parameters

TênKiểuBắt buộcMô tả
product_idintegerCóID sản phẩm (trong URL path).
pageintegerTrang hiện tại (Mặc định: 1).
limitintegerSố lượng bản ghi mỗi trang (Mặc định và tối đa: 50).
sort_bystringTrường sắp xếp (id, date_created, date_modified, date_moderated). Mặc định: id.
sort_typestringHướng sắp xếp (ASC, DESC). Mặc định: DESC.

Response Schema

HTTP 200 - JSON Object

{
  "total": 50,
  "currentpage": 1,
  "limit": 50,
  "items": [
    {
      "id": 1,
      "product_id": 10,
      "rating": 5,
      "comment": "Sản phẩm chất lượng tốt",
      "status": 3,
      "date_created": 1600000000
      // ... Xem thêm Product Review Object Schema
    }
  ]
}

Xem Product Review Object Schema

HTTP 422 - Validation Error

Mã lỗiMô tả
error_product_id_requiredID sản phẩm không hợp lệ (phải > 0).

Error Codes

HTTPMã lỗiMô tả
404error_company_not_found_from_site_tenant_idSiteTenantId không hợp lệ hoặc shop không còn hoạt động.

On this page