API Tìm kiếm sản phẩm

API này cho phép tìm kiếm sản phẩm theo từ khóa, danh mục, khoảng giá và sắp xếp kết quả.
Ví dụ minh họa: Tìm kiếm sản phẩm
GET https://api.socdo.vn/v1/search_products
Các tham số:
  • keyword: Từ khóa tìm kiếm (BẮT BUỘC) - tìm trong tên sản phẩm và mã sản phẩm
  • page: Trang hiện tại (tùy chọn, mặc định: 1)
  • limit: Số sản phẩm mỗi trang (tùy chọn, mặc định: 20, tối đa: 100)
Ví dụ kết nối bằng cURL:
curl -X GET "https://api.socdo.vn/v1/search_products?keyword=điện thoại&page=1&limit=10" -H "Authorization: Bearer <token>"
Ví dụ kết nối bằng PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.socdo.vn/v1/search_products?" . http_build_query([
    "keyword" => "điện thoại",
    "page" => 1,
    "limit" => 10
]));
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:
{
    "success": true,
    "message": "Lấy danh sách sản phẩm thành công",
    "data": {
        "products": [
            {
                "id": "123",
                "ma_sanpham": "SP001",
                "tieu_de": "Điện thoại iPhone 15 Pro Max",
                "minh_hoa": "/uploads/hinh-anh/iphone15.jpg",
                "link": "dien-thoai-iphone-15-pro-max",
                "gia_cu": 35000000,
                "gia_moi": 30000000,
                "gia_drop": 28000000,
                "gia_ctv": 29000000,
                "thuong_hieu": "Apple",
                "kho": 100,
                "kho_hcm": 50,
                "ban": 25,
                "view": 1500,
                "box_banchay": 1,
                "box_noibat": 1,
                "box_flash": 0,
                "date_post": "1695020400",
                "shop": 8050,
                "province_name": "Hà Nội",
                "avg_rating": 4.8,
                "total_reviews": 45,
                "has_rating": 1,
                "gia_cu_formatted": "35,000,000",
                "gia_moi_formatted": "30,000,000",
                "gia_drop_formatted": "28,000,000",
                "gia_ctv_formatted": "29,000,000",
                "discount_percent": 14,
                "total_sold": 350,
                "sold_today": 89,
                "date_post_formatted": "18/09/2023",
                "image_url": "https://api.socdo.vn/uploads/thumbs/sanpham_anh_340x340/iphone15.jpg",
                "product_url": "https://api.socdo.vn/san-pham/123/dien-thoai-iphone-15-pro-max.html",
                "star_html": "",
                "review_count": "(45)",
                "badges": ["Bán chạy", "Nổi bật", "-14%", "Voucher", "Freeship", "Chính hãng"],
                "voucher_icon": "VoucherFreeship",
                "chinhhang_icon": "Chính hãng",
                "label_sale": "
-14%
" } ], "pagination": { "current_page": 1, "total_pages": 5, "total_products": 48, "limit": 10, "has_next": true, "has_prev": false }, "search_params": { "keyword": "điện thoại", "page": 1, "limit": 10 } } }
  • Tìm kiếm đơn giản: Chỉ cần nhập từ khóa
  • Tìm trong: Tên sản phẩm (tieu_de) và mã sản phẩm (ma_sanpham)
  • Sắp xếp: Ưu tiên sản phẩm có rating cao → view cao
  • Giá từ phanloai_sanpham: MAX(gia_cu), MIN(gia_moi) nếu có
  • Hình ảnh thumbnail: /uploads/thumbs/sanpham_anh_340x340/
  • Dữ liệu bổ sung: Rating, voucher, freeship, province, sold data
  • Keyword bắt buộc: Không thể để trống từ khóa tìm kiếm
  • Chỉ sản phẩm active = 0: Sản phẩm đang hiển thị
  • Không có noi_bat, noi_dung: Giảm dung lượng response
  • Token xác thực: Cần Bearer token hợp lệ
  • Phân trang: Mặc định 20 sản phẩm/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"
}