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

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
API Mini App Documentation
Tài liệu hướng dẫn tích hợp API cho ứng dụng Mini App của Sóc Đỏ. Cung cấp các endpoint để phát triển ứng dụng di động với đầy đủ tính năng.
Base URL: https://api.socdo.vn/mini-app/v1/
Ví dụ tích hợp cơ bản
// Khởi tạo Mini App
const miniApp = new SocdoMiniApp({
    appId: 'your-app-id',
    secretKey: 'your-secret-key',
    environment: 'production' // hoặc 'sandbox'
});

// Xác thực người dùng
const authResult = await miniApp.auth.login({
    phone: '0123456789',
    password: 'password123'
});

// Lấy danh sách sản phẩm
const products = await miniApp.products.list({
    page: 1,
    limit: 20,
    category: 'electronics'
});
                        
Response mẫu
{
    "success": true,
    "data": {
        "products": [
            {
                "id": 1,
                "name": "iPhone 15 Pro",
                "price": 29990000,
                "image": "https://example.com/image.jpg",
                "category": "electronics"
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 20,
            "total": 100
        }
    },
    "message": "Lấy danh sách sản phẩm thành công"
}