ReviewĐánh giá sản phẩm
Cập nhật đánh giá sản phẩm
Cập nhật đánh giá sản phẩm đã tạo (chỉ có thể sửa trong 7 ngày)
Endpoint
PUT /site/productreviews/{id}
Headers
| Key | Value | Bắt buộc | Mô 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 cho phép khách hàng cập nhật đánh giá sản phẩm của mình. Chỉ có thể sửa trong vòng 7 ngày kể từ ngày tạo.
Quy trình xử lý (Internal Processing)
-
Xác thực & Kiểm tra quyền (Authentication & Authorization):
- Kiểm tra quyền truy cập thông qua JWT token.
- Lấy đánh giá từ
idtrong URL. - Kiểm tra đánh giá có thuộc về khách hàng đang đăng nhập.
-
Kiểm tra thời gian chỉnh sửa (Time Validation):
- Chỉ cho phép sửa trong vòng 7 ngày kể từ ngày tạo (
date_created). - Nếu quá 7 ngày: Trả về lỗi
error_edit_time_expired.
- Chỉ cho phép sửa trong vòng 7 ngày kể từ ngày tạo (
-
Kiểm tra tính hợp lệ (Validation):
- Đánh giá (
rating): Phải từ 0 đến 5 (nếu có). - Bình luận (
comment): Tối đa 4000 ký tự (nếu có).
- Đánh giá (
-
Cập nhật đánh giá:
- Chỉ cho phép cập nhật:
comment,rating. Lưu ý: cả hai trường đều được ghi đè theo body gửi lên — nếu bỏ trống,commentsẽ thành chuỗi rỗng vàratingthành 0, vì vậy nên gửi đầy đủ cả hai trường. - Logic cập nhật trạng thái: Nếu đánh giá đang ở trạng thái
STATUS_APPROVEDvà (cócommenthoặcrating <= 3), đánh giá sẽ chuyển về trạng tháiSTATUS_PENDINGđể được duyệt lại. - Các trường khác không được phép thay đổi.
- Chỉ cho phép cập nhật:
-
Kết quả:
- Nếu thành công: Trả về đối tượng
ProductReviewđã cập nhật (HTTP 200). - Nếu lỗi validation: Trả về danh sách lỗi (HTTP 422).
- Nếu không tìm thấy: Trả về HTTP 404.
- Nếu thành công: Trả về đối tượng
Parameters
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
id | integer | Có | ID của đánh giá cần cập nhật. |
Request Body
{
"rating": 5,
"comment": "Đã cập nhật: Rất hài lòng với sản phẩm"
}Request Body Schema
| Tên trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
rating | integer | Không | Đánh giá (0-5 sao). |
comment | string | Không | Bình luận (tối đa 4000 ký tự). |
Response Schema
HTTP 200 - Success
Trả về đối tượng Product Review Object đã cập nhật.
{
"id": 1,
"product_id": 10,
"rating": 5,
"comment": "Đã cập nhật: Rất hài lòng với sản phẩm",
"status": 1,
"date_modified": 1600001000
// ... Xem thêm Product Review Object Schema
}HTTP 401 - Unauthorized
Nếu thiếu token, token không hợp lệ hoặc đã hết hạn (error_customer_login_required), hoặc token không thuộc shop của SiteTenantId (error_customer_company_mismatch).
HTTP 404 - Not Found
Nếu không tìm thấy đánh giá hoặc không thuộc về khách hàng (error_not_found).
HTTP 422 - Validation Error
| Mã lỗi | Mô tả |
|---|---|
error_edit_time_expired | Chỉ có thể sửa đánh giá trong vòng 7 ngày kể từ ngày tạo. |
error_rating_invalid | Đánh giá phải từ 0 đến 5. |
error_comment_too_long | Bình luận vượt quá 4000 ký tự. |
HTTP 500
| Mã lỗi | Mô tả |
|---|---|
error_edit | Lỗi khi lưu thay đổi. |