API Sản phẩm Cùng Gian Hàng

API này cho phép lấy danh sách sản phẩm cùng thuộc một gian hàng (shop) với sản phẩm đang xem, bao gồm thông tin shop và các sản phẩm liên quan.
Ví dụ minh họa: Sản phẩm cùng shop
GET https://api.socdo.vn/v1/products_same_shop
Các tham số:
  • product_id: ID sản phẩm (để lấy shop_id từ sản phẩm này)
  • shop_id: ID shop (có thể dùng trực tiếp thay vì product_id)
  • page: Trang hiện tại (mặc định 1)
  • limit: Số lượng sản phẩm mỗi trang (mặc định 20, tối đa 100)
  • category_id: ID danh mục (lọc sản phẩm theo danh mục cụ thể)
  • sort: Sắp xếp - 'time-desc' (mới nhất), 'time-asc' (cũ nhất), 'price-asc' (giá thấp), 'price-desc' (giá cao)
Ví dụ lấy sản phẩm cùng shop bằng product_id:
curl -X GET "https://api.socdo.vn/v1/products_same_shop?product_id=12345&page=1&limit=20&sort=time-desc" -H "Authorization: Bearer <token>"
Ví dụ lấy sản phẩm cùng shop bằng shop_id:
curl -X GET "https://api.socdo.vn/v1/products_same_shop?shop_id=30&category_id=5&sort=price-asc" -H "Authorization: Bearer <token>"
Ví dụ kết nối bằng PHP:
<?php
// Lấy sản phẩm cùng shop từ product_id
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.socdo.vn/v1/products_same_shop?" . http_build_query([
    "product_id" => 12345,
    "page" => 1,
    "limit" => 15,
    "category_id" => 5,
    "sort" => "price-asc"
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer <token>"
]);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
if ($data["success"]) {
    $shop = $data["data"]["shop_info"];
    echo "Shop: " . $shop["fullname"] . "\n";
    echo "Tổng sản phẩm: " . $data["data"]["pagination"]["total_records"] . "\n\n";
    
    foreach ($data["data"]["products"] as $product) {
        echo "Sản phẩm: " . $product["name"] . "\n";
        echo "Giá: " . $product["price_formatted"] . "\n";
        echo "Badges: " . implode(", ", $product["badges"]) . "\n\n";
    }
}
?>
Dữ liệu trả về mẫu:
{
    "success": true,
    "message": "Lấy danh sách sản phẩm cùng shop thành công",
    "data": {
        "shop_info": {
            "id": 30,
            "username": "shop_tech_2024",
            "fullname": "Tech Store 2024",
            "avatar": "/uploads/avatar/shop30.jpg",
            "avatar_url": "https://api.socdo.vn/uploads/avatar/shop30.jpg",
            "address": "123 Đường ABC, Quận 1, TP.HCM"
        },
        "products": [
            {
                "id": 12346,
                "name": "Samsung Galaxy S24 Ultra 512GB",
                "slug": "samsung-galaxy-s24-ultra-512gb",
                "price": 25990000,
                "old_price": 27990000,
                "discount_percent": 7,
                "shop_id": 30,
                "category_ids": [1, 11],
                "brand_id": 8,
                "brand_name": "Samsung",
                "brand_logo": "https://api.socdo.vn/uploads/thuong-hieu/samsung-logo.png",
                "image": "https://api.socdo.vn/uploads/minh-hoa/samsung-s24-ultra.jpg",
                "thumb": "https://api.socdo.vn/uploads/thumbs/sanpham_anh_340x340/samsung-s24-ultra.jpg",
                "product_url": "https://api.socdo.vn/san-pham/12346/samsung-galaxy-s24-ultra-512gb.html",
                "voucher_info": {
                    "has_voucher": true,
                    "voucher_details": "Voucher SAMSUNG20 - Giảm 20%"
                },
                "shipping_info": {
                    "has_free_shipping": true,
                    "free_ship_details": "Miễn phí ship hoàn toàn",
                    "min_order_for_free_ship": 0
                },
                "badges": [
                    "Giảm 7%",
                    "Voucher",
                    "Freeship",
                    "Chính hãng"
                ],
                "is_authentic": 1,
                "is_featured": 1,
                "is_trending": 0,
                "is_flash_sale": 1,
                "created_at": 1703123456,
                "updated_at": 1703123456,
                "price_formatted": "25.990.000 ₫",
                "old_price_formatted": "27.990.000 ₫"
            },
            {
                "id": 12347,
                "name": "iPad Pro 12.9 inch M2 256GB",
                "slug": "ipad-pro-12-9-inch-m2-256gb",
                "price": 21990000,
                "old_price": 23990000,
                "discount_percent": 8,
                "shop_id": 30,
                "category_ids": [2, 21],
                "brand_id": 5,
                "brand_name": "Apple",
                "brand_logo": "https://api.socdo.vn/uploads/thuong-hieu/apple-logo.png",
                "image": "https://api.socdo.vn/uploads/minh-hoa/ipad-pro-m2.jpg",
                "thumb": "https://api.socdo.vn/uploads/thumbs/sanpham_anh_340x340/ipad-pro-m2.jpg",
                "product_url": "https://api.socdo.vn/san-pham/12347/ipad-pro-12-9-inch-m2-256gb.html",
                "voucher_info": {
                    "has_voucher": false,
                    "voucher_details": ""
                },
                "shipping_info": {
                    "has_free_shipping": true,
                    "free_ship_details": "Hỗ trợ ship 50.000đ",
                    "min_order_for_free_ship": 1000000
                },
                "badges": [
                    "Giảm 8%",
                    "Freeship",
                    "Chính hãng"
                ],
                "is_authentic": 1,
                "is_featured": 1,
                "is_trending": 1,
                "is_flash_sale": 0,
                "created_at": 1703123456,
                "updated_at": 1703123456,
                "price_formatted": "21.990.000 ₫",
                "old_price_formatted": "23.990.000 ₫"
            },
            {
                "id": 12348,
                "name": "MacBook Air M2 13 inch 256GB",
                "slug": "macbook-air-m2-13-inch-256gb",
                "price": 28990000,
                "old_price": 30990000,
                "discount_percent": 6,
                "shop_id": 30,
                "category_ids": [2, 22],
                "brand_id": 5,
                "brand_name": "Apple",
                "brand_logo": "https://api.socdo.vn/uploads/thuong-hieu/apple-logo.png",
                "image": "https://api.socdo.vn/uploads/minh-hoa/macbook-air-m2.jpg",
                "thumb": "https://api.socdo.vn/uploads/thumbs/sanpham_anh_340x340/macbook-air-m2.jpg",
                "product_url": "https://api.socdo.vn/san-pham/12348/macbook-air-m2-13-inch-256gb.html",
                "voucher_info": {
                    "has_voucher": true,
                    "voucher_details": "Voucher shop APPLE10 - Giảm 10%"
                },
                "shipping_info": {
                    "has_free_shipping": true,
                    "free_ship_details": "Miễn phí ship hoàn toàn",
                    "min_order_for_free_ship": 0
                },
                "badges": [
                    "Giảm 6%",
                    "Voucher",
                    "Freeship",
                    "Chính hãng"
                ],
                "is_authentic": 1,
                "is_featured": 1,
                "is_trending": 1,
                "is_flash_sale": 0,
                "created_at": 1703123456,
                "updated_at": 1703123456,
                "price_formatted": "28.990.000 ₫",
                "old_price_formatted": "30.990.000 ₫"
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_pages": 8,
            "total_records": 156,
            "per_page": 20,
            "has_next": true,
            "has_prev": false
        },
        "filters": {
            "product_id": 12345,
            "shop_id": 30,
            "category_id": 0,
            "sort": "time-desc",
            "exclude_product_id": 12345
        }
    }
}
Tính năng chi tiết:
  • Lấy sản phẩm cùng shop: Từ product_id hoặc shop_id trực tiếp
  • Thông tin shop đầy đủ: Tên, avatar, địa chỉ của shop
  • Loại trừ sản phẩm hiện tại: Tự động loại trừ sản phẩm đang xem
  • Voucher thông minh: Kiểm tra voucher sản phẩm và voucher shop
  • Ship 0đ chi tiết: Thông tin chính sách ship của shop
  • Badges đa dạng: Giảm giá, voucher, freeship, chính hãng, flash sale
  • Lọc linh hoạt: Theo danh mục, sắp xếp theo nhiều tiêu chí
  • URL đầy đủ: Tự động tạo URL cho sản phẩm và hình ảnh
Cách sử dụng chính:
  • Từ product_id: API tự động lấy shop_id từ sản phẩm đó
  • Từ shop_id: Lấy trực tiếp tất cả sản phẩm của shop
  • Loại trừ: Tự động loại trừ sản phẩm đang xem khỏi danh sách
  • Lọc danh mục: Chỉ lấy sản phẩm thuộc danh mục cụ thể
  • Sắp xếp: Theo thời gian, giá tăng/giảm
Thông tin voucher:
  • Voucher sản phẩm: Kiểm tra coupon áp dụng cho sản phẩm cụ thể
  • Voucher shop: Kiểm tra coupon áp dụng cho toàn shop (kieu = 'all')
  • Chi tiết voucher: Mã voucher, loại giảm giá (tiền/%), số tiền/%
  • Thời gian hiệu lực: Chỉ lấy voucher đang còn hạn
Thông tin ship:
  • Kiểm tra freeship: Từ bảng transport của shop
  • Loại hỗ trợ: Hoàn toàn, theo %, cố định, theo sản phẩm
  • Điều kiện: Đơn tối thiểu để được ship 0đ
  • Chi tiết: Mô tả cụ thể chính sách ship
Các bảng database liên quan:
  • sanpham: Bảng chính chứa thông tin sản phẩm
  • user: Thông tin shop (username, fullname, avatar, address)
  • coupon: Thông tin voucher sản phẩm và voucher shop
  • transport: Chính sách ship và freeship của shop
  • thuong_hieu: Thông tin thương hiệu sản phẩm
Logic lấy sản phẩm cùng shop:
  • Điều kiện chính: sanpham.shop = shop_id
  • Loại trừ: sanpham.id != product_id (sản phẩm hiện tại)
  • Lọc danh mục: FIND_IN_SET(category_id, sanpham.cat) > 0
  • Sắp xếp: Theo thời gian (id) hoặc giá (gia_moi)
  • Trạng thái: Chỉ lấy sản phẩm đang hoạt động (status = 1)
Thông tin shop_info:
  • id: ID của shop
  • username: Tên đăng nhập shop
  • fullname: Tên hiển thị của shop
  • avatar: Đường dẫn avatar shop
  • avatar_url: URL đầy đủ avatar shop
  • address: Địa chỉ của shop
Lưu ý:
  • Bạn cần lấy token xác thực trước khi gọi API này
  • Phải cung cấp product_id hoặc shop_id (ít nhất 1 trong 2)
  • Nếu có product_id, API sẽ tự động lấy shop_id từ sản phẩm đó
  • Sản phẩm hiện tại sẽ được loại trừ khỏi danh sách kết quả
  • Thông tin voucher và ship được kiểm tra real-time
  • Hỗ trợ phân trang với limit tối đa 100 sản phẩm/page
  • URL sản phẩm và hình ảnh được tạo tự động
  • Badges hiển thị các tính năng đặc biệt của sản phẩm
  • Có thể lọc theo danh mục và sắp xếp theo nhiều tiêu chí
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"
}