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

Danh sách đánh giá sản phẩm của khách hàng

Lấy danh sách đánh giá sản phẩm của khách hàng đang đăng nhập

Endpoint

GET /site/productreviews

Headers

KeyValueBắt buộcMô tả
SiteTenantId{tenant_id}CóID của công ty/tenant.
SiteAuthorization{jwt_token}CóToken định danh khách hàng.

Workflow & Logic

API này lấy danh sách các đánh giá sản phẩm của khách hàng đang đăng nhập, phục vụ việc hiển thị lịch sử đánh giá.

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

  1. Khởi tạo & Xác thực (Initialization & Authentication):

    • Khởi tạo site context từ header SiteTenantId.
    • Xác thực khách hàng từ JWT token trong header SiteAuthorization.
    • Chỉ lấy các đánh giá có visible = 1 (hiển thị công khai) và thuộc về khách hàng đang đăng nhập.
  2. Lọc dữ liệu (Filtering):

    • Lọc theo đơn hàng: Nếu có sale_order_id, chỉ lấy đánh giá của đơn hàng đó.
    • Lọc theo chi tiết đơn hàng: Nếu có sale_order_detail_id, chỉ lấy đánh giá của chi tiết đơn hàng đó.
    • Lọc theo danh sách đơn hàng: Nếu có sale_order_id_list, chỉ lấy đánh giá của các đơn hàng trong danh sách.
  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ả
sale_order_idintegerLọc theo ID đơn hàng.
sale_order_detail_idintegerLọc theo ID chi tiết đơn hàng.
sale_order_id_liststringLọc theo danh sách ID đơn hàng, phân tách bằng dấu phẩy (tối đa 20 ID).
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": 10,
  "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 401 - Unauthorized

Nếu token không hợp lệ hoặc đã hết hạn.

Error Codes

HTTPMã lỗiMô tả
401error_customer_login_requiredThiếu SiteAuthorization hoặc token không hợp lệ/hết hạn.
401error_customer_company_mismatchToken khách hàng không thuộc shop của SiteTenantId.
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