API Danh mục sản phẩm
API này cho phép lấy danh sách danh mục sản phẩm và chi tiết danh mục, dựa trên logic hàm list_category_noibat.
Ví dụ minh họa: Danh mục sản phẩm
Ví dụ minh họa: Danh mục sản phẩm
1. Lấy danh sách danh mục
GET https://api.socdo.vn/v1/category_products
Các tham số có thể truyền (tùy chọn):
- type: Loại danh mục (featured, index, all)
- page: Trang hiện tại (mặc định: 1)
- limit: Số danh mục mỗi trang (mặc định: 20, tối đa: 100)
2. Lấy chi tiết danh mục
GET https://api.socdo.vn/v1/category_products?category_id=123
Các loại danh mục:
- featured: Danh mục nổi bật (cat_noibat=1), sắp xếp theo cat_thutu ASC
- index: Danh mục hiển thị trang chủ (cat_index=1), sắp xếp theo cat_thutu DESC
- all: Tất cả danh mục, sắp xếp theo cat_thutu ASC
Ví dụ lấy danh mục nổi bật bằng cURL:
curl -X GET "https://api.socdo.vn/v1/category_products?type=featured&limit=10" -H "Authorization: Bearer <token>"
Ví dụ lấy chi tiết danh mục bằng PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.socdo.vn/v1/category_products?category_id=123");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Dữ liệu trả về mẫu (Danh sách):
{
"success": true,
"message": "Lấy danh sách danh mục thành công",
"data": {
"categories": [
{
"cat_id": "1",
"cat_tieude": "Điện thoại",
"cat_link": "dien-thoai",
"cat_minhhoa": "/uploads/minh-hoa/category-phone.jpg",
"cat_thutu": "1",
"cat_noibat": "1",
"cat_index": "1",
"cat_mota": "Điện thoại thông minh chính hãng",
"image_url": "https://api.socdo.vn/uploads/thumbs/list_danhmuc_noibat/category-phone.jpg",
"category_url": "https://api.socdo.vn/danh-muc/1/dien-thoai.html",
"total_products": 156,
"is_featured": true,
"is_index": true
}
],
"pagination": {
"current_page": 1,
"total_pages": 1,
"total_categories": 1,
"limit": 10,
"has_next": false,
"has_prev": false
},
"filters": {
"type": "featured"
}
}
}
Dữ liệu trả về mẫu (Chi tiết):
{
"success": true,
"message": "Lấy chi tiết danh mục thành công",
"data": {
"cat_id": "1",
"cat_tieude": "Điện thoại",
"cat_link": "dien-thoai",
"cat_minhhoa": "/uploads/minh-hoa/category-phone.jpg",
"cat_thutu": "1",
"cat_noibat": "1",
"cat_index": "1",
"cat_mota": "Điện thoại thông minh chính hãng",
"image_url": "https://api.socdo.vn/uploads/thumbs/list_danhmuc_noibat/category-phone.jpg",
"category_url": "https://api.socdo.vn/danh-muc/1/dien-thoai.html",
"total_products": 156
}
}
Logic theo hàm list_category_noibat:
- Featured categories: Lấy danh mục có cat_noibat='1', sắp xếp theo cat_thutu ASC
- Hình ảnh: Ưu tiên thumbnail /uploads/thumbs/list_danhmuc_noibat/, fallback về ảnh gốc
- Total products: Tự động đếm số sản phẩm có kho > 0 trong danh mục
- URL generation: Tự động tạo category_url và image_url đầy đủ
Bảng database:
- category_sanpham: Thông tin danh mục (cat_id, cat_tieude, cat_link, cat_minhhoa, cat_thutu, cat_noibat, cat_index, cat_mota)
- sanpham: Để đếm số sản phẩm trong danh mục (cat field chứa danh sách cat_id)
Lưu ý:
- Bạn cần lấy token xác thực trước khi gọi API này
- Hình ảnh ưu tiên thumbnail để tối ưu tốc độ tải
- API tự động đếm số sản phẩm có kho trong mỗi danh mục
- Kết quả được phân trang cho danh sách danh mục
- Chi tiết danh mục không có phân trang