ReviewĐánh giá đơn hàng
Tạo đánh giá đơn hàng
Tạo đánh giá mới cho đơn hàng
Endpoint
POST /site/orderreviews
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 tạo đánh giá mới cho đơn hàng đã mua, đánh giá về chất lượng giao hàng, đóng gói và dịch vụ.
Quy trình xử lý (Internal Processing)
-
Xác thực (Authentication):
- Kiểm tra quyền truy cập thông qua JWT token.
- Xác định khách hàng từ token.
-
Kiểm tra tính hợp lệ (Validation):
- Đánh giá giao hàng (
rating_delivery): Phải từ 0 đến 5. - Đánh giá đóng gói (
rating_packaging): Phải từ 0 đến 5. - Đánh giá dịch vụ (
rating_service): Phải từ 0 đến 5. - Bình luận (
comment): Tối đa 4000 ký tự (tùy chọn). - Đơn hàng (
sale_order_id): Phải tồn tại và thuộc về khách hàng đang đăng nhập. - File đính kèm (
file_id_list): Mỗi file ID phải tồn tại, thuộc về cùng công ty (shop) và do chính khách hàng đang đăng nhập tải lên.
- Đánh giá giao hàng (
-
Tạo đánh giá:
- Tạo mới
OrderReviewvới trạng tháiSTATUS_PENDING(chờ duyệt).commentvàtagsđược loại bỏ thẻ HTML trước khi lưu. - Lưu địa chỉ IP của khách hàng.
- Gán
visible = 1(hiển thị công khai).
- Tạo mới
-
Kết quả:
- Nếu thành công: Trả về đối tượng
OrderReviewvừa tạo (HTTP 201). - Nếu lỗi validation: Trả về danh sách lỗi (HTTP 422).
- Nếu thành công: Trả về đối tượng
Request Body
{
"sale_order_id": 100,
"rating_delivery": 5,
"rating_packaging": 4,
"rating_service": 5,
"comment": "Giao hàng nhanh, đóng gói cẩn thận, dịch vụ tốt",
"tags": "nhanh, cẩn thận",
"file_id_list": [101, 102]
}Request Body Schema
| Tên trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
sale_order_id | integer | Có | ID đơn hàng được đánh giá. |
rating_delivery | integer | Không | Đánh giá giao hàng (0-5, mặc định 0). |
rating_packaging | integer | Không | Đánh giá đóng gói (0-5, mặc định 0). |
rating_service | integer | Không | Đánh giá dịch vụ (0-5, mặc định 0). |
comment | string | Không | Bình luận (tối đa 4000 ký tự). |
tags | string | Không | Thẻ tag. |
file_id_list | array | Không | Danh sách ID file đính kèm. |
Response Schema
HTTP 201 - Created
Trả về đối tượng Order Review Object vừa tạo.
{
"id": 1,
"sale_order_id": 100,
"rating_delivery": 5,
"rating_packaging": 4,
"rating_service": 5,
"comment": "Giao hàng nhanh, đóng gói cẩn thận, dịch vụ tốt",
"status": 1,
"date_created": 1600000000
// ... 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 422 - Validation Error
| Mã lỗi | Mô tả |
|---|---|
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_long | Bình luận vượt quá 4000 ký tự. |
error_order_not_found | Đơn hàng không tồn tại hoặc không thuộc về khách hàng. |
error_file_not_found(ID: {id}) | File ID không tồn tại hoặc không thuộc về khách hàng. |
HTTP 500
| Mã lỗi | Mô tả |
|---|---|
error_add | Lỗi khi lưu đánh giá. |