Danh sách sản phẩm liên quan
Lấy danh sách sản phẩm gợi ý (sản phẩm liên quan) của một sản phẩm cụ thể.
Endpoint
GET /site/productsuggestions/{product_id}
Headers
| Key | Value | Bắt buộc | Mô tả |
|---|---|---|---|
SiteTenantId | {tenant_id} | Có | ID của công ty/tenant. |
Path Parameters
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
product_id | integer | Có | ID sản phẩm gốc cần lấy danh sách gợi ý. |
Workflow & Logic
API này dùng để lấy danh sách sản phẩm liên quan (product suggestions) đã được thiết lập cho một sản phẩm cụ thể. Kết quả chỉ trả về các bản ghi có trạng thái ENABLE (status = 1), sắp xếp theo thứ tự hiển thị (display_order ASC).
Quy trình xử lý
-
Xác thực Session: Kiểm tra tenant từ header
SiteTenantId. API này không yêu cầu đăng nhập — khách vãng lai cũng có thể gọi. -
Kiểm tra sản phẩm gốc:
- Tìm sản phẩm theo
product_idtrong path parameter. - Nếu sản phẩm không tồn tại hoặc không thuộc
company_idhiện tại → trả lỗi422.
- Tìm sản phẩm theo
-
Tự động gán bộ lọc:
company_id→ lấy từ session.product_id→ lấy từ sản phẩm gốc đã xác thực.status→ luôn là1(ENABLE) — chỉ trả về các gợi ý đang kích hoạt.
-
Sắp xếp & phân trang: Mặc định sắp xếp theo
display_order ASC(thứ tự hiển thị tăng dần). Hỗ trợ phân trang qua query parameterspagevàlimit. -
Trả kết quả: Trả về danh sách suggestion items kèm tổng số lượng và thông tin phân trang.
Query Parameters (tùy chọn)
| Tên | Kiểu | Mô tả |
|---|---|---|
page | integer | Trang hiện tại. Mặc định là 1. |
limit | integer | Số bản ghi mỗi trang. Mặc định và tối đa là 50. |
Response Schema
HTTP 200 - Thành công
{
"total": 5,
"currentpage": 1,
"limit": 50,
"items": [
{
"id": 1,
"company_id": 123,
"creator_id": 10,
"product_suggestion_group_id": 5,
"product_id": 789,
"object_type": 1,
"object_id": 456,
"mode": 1,
"mode_detail": [],
"display_order": 1,
"status": 1,
"ip_address": "192.168.1.1",
"date_created": 1740300000,
"date_modified": 0
}
]
}| Trường | Kiểu | Mô tả |
|---|---|---|
total | integer | Số bản ghi trả về trong trang hiện tại (bằng số phần tử của items). |
currentpage | integer | Trang hiện tại. |
limit | integer | Số bản ghi tối đa mỗi trang. |
items | array | Danh sách suggestion items. |
Mỗi item trong mảng items là một đối tượng Product Suggestion Object.
HTTP 422 - Lỗi dữ liệu
| Mã lỗi | Mô tả |
|---|---|
error_not_permission | Sản phẩm không tồn tại hoặc không thuộc tenant hiện tại. |