ReviewĐánh giá đơn hàng

Cập nhật đánh giá đơn hàng

Cập nhật đánh giá đơn hàng đã tạo (chỉ có thể sửa trong 7 ngày)

Endpoint

PUT /site/orderreviews/{id}

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 cho phép khách hàng cập nhật đánh giá đơn hàng 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)

  1. 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ừ id trong URL.
    • Kiểm tra đánh giá có thuộc về khách hàng đang đăng nhập.
  2. 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.
  3. Kiểm tra tính hợp lệ (Validation):

    • Đánh giá giao hàng (rating_delivery): Phải từ 0 đến 5 (nếu có).
    • Đánh giá đóng gói (rating_packaging): Phải từ 0 đến 5 (nếu có).
    • Đánh giá dịch vụ (rating_service): Phải từ 0 đến 5 (nếu có).
    • Bình luận (comment): Tối đa 4000 ký tự (nếu có).
  4. Cập nhật đánh giá:

    • Chỉ cho phép cập nhật: comment, rating_delivery, rating_packaging, rating_service.
    • Các trường khác không được phép thay đổi.
    • Lưu ý: cả bốn trường đều được ghi đè theo body gửi lên — trường nào bỏ trống sẽ thành rỗng (comment) hoặc 0 (rating), vì vậy nên gửi đầy đủ các trường.
  5. Kết quả:

    • Nếu thành công: Trả về đối tượng OrderReview đã 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.

Parameters

TênKiểuBắt buộcMô tả
idintegerCóID của đánh giá cần cập nhật.

Request Body

{
  "rating_delivery": 5,
  "rating_packaging": 5,
  "rating_service": 5,
  "comment": "Đã cập nhật: Rất hài lòng với dịch vụ"
}

Request Body Schema

Tên trườngKiểuBắt buộcMô tả
rating_deliveryintegerKhôngĐánh giá giao hàng (0-5).
rating_packagingintegerKhôngĐánh giá đóng gói (0-5).
rating_serviceintegerKhôngĐánh giá dịch vụ (0-5).
commentstringKhôngBình luận (tối đa 4000 ký tự).

Response Schema

HTTP 200 - Success

Trả về đối tượng Order Review Object đã cập nhật.

{
  "id": 1,
  "sale_order_id": 100,
  "rating_delivery": 5,
  "rating_packaging": 5,
  "rating_service": 5,
  "comment": "Đã cập nhật: Rất hài lòng với dịch vụ",
  "status": 1,
  "date_modified": 1600001000
  // ... Xem thêm Order 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ỗiMô tả
error_edit_time_expiredChỉ có thể sửa đánh giá trong vòng 7 ngày kể từ ngày tạo.
error_rating_delivery_invalidĐánh giá giao hàng phải từ 0 đến 5.
error_rating_packaging_invalidĐánh giá đóng gói phải từ 0 đến 5.
error_rating_service_invalidĐánh giá dịch vụ phải từ 0 đến 5.
error_comment_too_longBình luận vượt quá 4000 ký tự.

HTTP 500

Mã lỗiMô tả
error_editLỗi khi lưu thay đổi.

On this page