Quản lý sản phẩm (PIM)Danh mục sản phẩm
Lấy thuộc tính danh mục
Lấy cấu hình bộ lọc và thuộc tính kỹ thuật (Attribute Schema) của danh mục.
Endpoint
GET /site/productcategories/getattributecategory/{category_id}
Headers
| Key | Value | Bắt buộc | Mô tả |
|---|---|---|---|
SiteTenantId | {tenant_id} | Có | ID của công ty/tenant. |
Workflow & Logic
API này cực kỳ quan trọng để xây dựng:
- Bộ lọc (Filter Sidebar): Hiển thị các thuộc tính lọc (Màn hình, RAM, CPU...) tương ứng với danh mục đang xem.
- Thông số kỹ thuật: Hiển thị bảng thông số kỹ thuật chuẩn của sản phẩm trong danh mục.
Quy trình xử lý (Internal Processing)
-
Tìm danh mục (Find Category):
- Tìm danh mục theo
category_id.
- Tìm danh mục theo
-
Kế thừa thuộc tính (Attribute Inheritance Strategy):
- Kiểm tra xem danh mục hiện tại có được gán
attribute_category_idhay không. - Nếu có: Lấy cấu hình thuộc tính đó.
- Nếu không: Hệ thống tự động Đệ quy ngược lên cha (
parent_id) để tìm cấu hình thuộc tính của danh mục cha. - Ví dụ: Nếu danh mục "iPhone 15" không có cấu hình riêng, nó sẽ dùng cấu hình của danh mục cha "Điện thoại thông minh".
- Kiểm tra xem danh mục hiện tại có được gán
-
Cấu trúc dữ liệu trả về (Data Structure Building):
- Load
AttributeCategory(Nhóm cấu hình). - Load
AttributeGroup(Các nhóm thuộc tính, ví dụ: "Hiển thị", "Cấu hình", "Camera"). - Load
Attribute(Các thuộc tính chi tiết, ví dụ: "Kích thước màn hình", "Độ phân giải").
- Load
-
Kết quả:
- Trả về cấu trúc cây phân cấp đầy đủ để Frontend render UI.
Parameters
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
category_id | integer | Có | ID danh mục cần lấy thuộc tính. |
Response Schema
HTTP 200 - JSON Object
{
"total": 1,
"currentpage": 1,
"limit": 50,
"items": [
{
"id": 10,
"name": "Điện thoại",
// ... category fields
"attribute_category": {
"id": 5,
"name": "Thuộc tính điện thoại",
// ... attribute category fields
},
"attribute_group": [
{
"id": 101,
"name": "Màn hình",
"display_order": 1,
"attribute": [
{
"id": 1001,
"name": "Kích thước",
"type": 1, // Text, Number, Select...
// ... attribute fields
}
]
}
]
}
]
}Các lỗi thường gặp (422)
| Mã lỗi | Mô tả |
|---|---|
error_not_permission | Không tìm thấy thông tin category_id hợp lệ trong yêu cầu. |