API Quản lý Banner

API này cho phép quản lý banner hoàn chỉnh: lấy danh sách, chi tiết, tạo mới, cập nhật và xóa banner.
Ví dụ minh họa: Quản lý Banner

1. Lấy danh sách banner

GET https://api.socdo.vn/v1/banner
Các tham số có thể truyền (tùy chọn):
  • vi_tri: Vị trí banner (header, footer, sidebar, etc.)
  • shop_id: ID shop (-1 = tất cả, 0 = shop chính)
  • page: Trang hiện tại (mặc định: 1)
  • limit: Số banner mỗi trang (mặc định: 20, tối đa: 100)

2. Lấy chi tiết banner

GET https://api.socdo.vn/v1/banner?banner_id=123

3. Tạo banner mới

POST https://api.socdo.vn/v1/banner
Các trường bắt buộc:
  • tieu_de: Tiêu đề banner
  • minh_hoa: Đường dẫn hình ảnh banner
  • vi_tri: Vị trí hiển thị banner
Các trường tùy chọn:
  • link: Liên kết khi click banner
  • bg_banner: Ảnh nền banner
  • target: Target link (_self, _blank)
  • thu_tu: Thứ tự hiển thị
  • shop_id: ID shop (mặc định: 0)
Dữ liệu mẫu tạo banner (JSON):
{
    "tieu_de": "Banner khuyến mãi tháng 9",
    "minh_hoa": "/uploads/banner/banner-sale-09.jpg",
    "link": "https://example.com/khuyen-mai",
    "bg_banner": "/uploads/banner/bg-sale.jpg",
    "target": "_blank",
    "thu_tu": 1,
    "vi_tri": "header",
    "shop_id": 0
}

4. Cập nhật banner

PUT https://api.socdo.vn/v1/banner
Dữ liệu mẫu cập nhật (JSON):
{
    "banner_id": 123,
    "tieu_de": "Banner khuyến mãi tháng 10",
    "thu_tu": 2,
    "vi_tri": "sidebar"
}

5. Xóa banner

DELETE https://api.socdo.vn/v1/banner
Dữ liệu mẫu xóa (JSON):
{
    "banner_id": 123
}
Ví dụ lấy danh sách bằng cURL:
curl -X GET "https://api.socdo.vn/v1/banner?vi_tri=header&shop_id=0&page=1&limit=10" -H "Authorization: Bearer <token>"
Ví dụ tạo banner bằng PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.socdo.vn/v1/banner");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Authorization: Bearer <token>"
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    "tieu_de" => "Banner khuyến mãi tháng 9",
    "minh_hoa" => "/uploads/banner/banner-sale-09.jpg",
    "link" => "https://example.com/khuyen-mai",
    "bg_banner" => "/uploads/banner/bg-sale.jpg",
    "target" => "_blank",
    "thu_tu" => 1,
    "vi_tri" => "header",
    "shop_id" => 0
]));
$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 banner thành công",
    "data": {
        "banners": [
            {
                "id": "1",
                "tieu_de": "Banner khuyến mãi tháng 9",
                "minh_hoa": "/uploads/banner/banner-sale-09.jpg",
                "link": "https://example.com/khuyen-mai",
                "bg_banner": "/uploads/banner/bg-sale.jpg",
                "target": "_blank",
                "thu_tu": "1",
                "vi_tri": "header",
                "shop_id": "0",
                "image_url": "https://api.socdo.vn/uploads/banner/banner-sale-09.jpg",
                "bg_url": "https://api.socdo.vn/uploads/banner/bg-sale.jpg"
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_pages": 1,
            "total_banners": 1,
            "limit": 10,
            "has_next": false,
            "has_prev": false
        },
        "filters": {
            "vi_tri": "header",
            "shop_id": 0
        }
    }
}
Dữ liệu trả về mẫu (Tạo mới):
{
    "success": true,
    "message": "Tạo banner thành công",
    "data": {
        "banner_id": 1,
        "tieu_de": "Banner khuyến mãi tháng 9",
        "vi_tri": "header",
        "thu_tu": 1,
        "image_url": "https://api.socdo.vn/uploads/banner/banner-sale-09.jpg",
        "bg_url": "https://api.socdo.vn/uploads/banner/bg-sale.jpg"
    }
}
Dữ liệu trả về mẫu (Cập nhật):
{
    "success": true,
    "message": "Cập nhật banner thành công",
    "data": {
        "banner_id": 123,
        "updated_fields": 3
    }
}
Dữ liệu trả về mẫu (Xóa):
{
    "success": true,
    "message": "Xóa banner thành công",
    "data": {
        "banner_id": 123
    }
}
Lưu ý:
  • Bạn cần lấy token xác thực trước khi gọi API này
  • minh_hoabg_banner phải là đường dẫn tương đối từ thư mục gốc
  • target: _self (mở cùng tab), _blank (mở tab mới)
  • vi_tri: header, footer, sidebar, popup, etc.
  • Banner được sắp xếp theo thu_tu tăng dần, sau đó theo ID giảm dần
  • API tự động tạo image_urlbg_url đầy đủ
  • Khi cập nhật, chỉ cần truyền các trường muốn thay đổi
  • Xóa banner chỉ xóa trong database, không xóa file ảnh
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"
}