Lấy Thông Tin Mini Game

Trả về thông tin mini game đang hoạt động của một gian hàng. Mini game phải có trạng thái hoạt động (trang_thai = 1) và trong thời gian hiệu lực (ngay_bat_dau và ngay_ket_thuc). Nếu có user token, API sẽ trả về thêm thông tin về lượt chơi của user trong ngày.
GET | POST https://api.socdo.vn/mini-app/v1/get-mini-game
Headers Bắt buộc/Tùy chọn
  • Shop-Id: <shop_id> - Bắt buộc - ID của shop
  • Token-Seller: <token> - Tùy chọn - Token xác thực seller (nếu có)
  • Authorization: Bearer <user_token> - Tùy chọn - Token xác thực user (để lấy thông tin lượt chơi)
Query/Body Tùy chọn
  • shop_id: ID shop (nếu không có trong header Shop-Id)
Ví dụ cURL
curl -X GET \
  "https://api.socdo.vn/mini-app/v1/get-mini-game?shop_id=8185" \
  -H "Shop-Id: 8185" \
  -H "Token-Seller: YOUR_SELLER_TOKEN" \
  -H "Authorization: Bearer YOUR_USER_TOKEN"
Response thành công (200)
{
    "success": true,
    "message": "Lấy thông tin mini game thành công",
    "shop_id": 8185,
    "data": {
        "id": 2,
        "shop": 8185,
        "ten_mini_game": "Khuyến Mãi Mới",
        "mo_ta": "Khuyến Mãi Mới",
        "danh_sach_coupon": [944, 943, 911, 901, 899],
        "coupons_detail": [
            {
                "id": 944,
                "code": "VOUCHER944",
                "discount": 50000,
                "max_discount": 0,
                "type": "tru",
                "scope": "all",
                "condition_amount": 200000,
                "description": "Giảm 50.000đ cho đơn hàng từ 200.000đ",
                "start": 1763606400,
                "expired": 1766174400,
                "start_readable": "15/11/2025 09:00",
                "expired_readable": "20/12/2025 09:00"
            }
        ],
        "ty_le_trung": {
            "0": "30",
            "899": "14.0",
            "901": "14.0",
            "911": "14.0",
            "943": "14.0",
            "944": "14.0"
        },
        "so_luot_choi_moi_ngay": 1,
        "cho_phep_khach_moi": true,
        "cho_phep_chua_mua": true,
        "trang_thai": 1,
        "ngay_bat_dau": 1763606400,
        "ngay_ket_thuc": 1763174400,
        "ngay_bat_dau_readable": "15/11/2025 09:00",
        "ngay_ket_thuc_readable": "15/11/2025 00:00",
        "created_at": "2025-11-15 09:40:24",
        "updated_at": null,
        "user_plays_today": {
            "total_used": 0,
            "total_extra": 0,
            "remaining": 1
        }
    }
}
Giải thích Response
Trường Loại Mô tả
id number ID của mini game
shop number ID của shop
ten_mini_game string Tên mini game
mo_ta string Mô tả mini game
danh_sach_coupon array Danh sách ID coupon có thể trúng (mảng số)
coupons_detail array Thông tin chi tiết các coupon (mã voucher, giảm giá, loại, mô tả, thời gian hiệu lực...)
ty_le_trung object Tỷ lệ trúng dạng JSON: {"coupon_id": "tỷ_lệ_%", "0": "tỷ_lệ_thử_lại_%"}
so_luot_choi_moi_ngay number Số lượt chơi mỗi ngày cho mỗi user
cho_phep_khach_moi boolean Cho phép khách hàng mới chơi
cho_phep_chua_mua boolean Cho phép khách chưa mua hàng chơi
ngay_bat_dau number Timestamp ngày bắt đầu (null nếu không có)
ngay_ket_thuc number Timestamp ngày kết thúc (null nếu không có)
user_plays_today object Thông tin lượt chơi của user hôm nay (chỉ có khi có user token)
Giải thích Coupons Detail
Trường Loại Mô tả
id number ID của coupon
code string Mã voucher - Mã mà người dùng nhập khi sử dụng
discount number Mức giảm giá - Số tiền giảm (nếu type="tru") hoặc phần trăm (nếu type="phantram")
max_discount number Giảm giá tối đa (áp dụng khi type="phantram")
type string Loại giảm giá: "tru" (giảm trực tiếp) hoặc "phantram" (giảm theo %)
scope string Phạm vi áp dụng: "all" (toàn bộ) hoặc "sanpham" (sản phẩm cụ thể)
condition_amount number Điều kiện: Số tiền tối thiểu của đơn hàng để áp dụng voucher
description string Mô tả khuyến mãi - Mô tả chi tiết về voucher
start number Timestamp thời gian bắt đầu hiệu lực
expired number Timestamp thời gian hết hạn
start_readable string Thời gian bắt đầu dạng đọc được (dd/mm/yyyy HH:mm)
expired_readable string Thời gian hết hạn dạng đọc được (dd/mm/yyyy HH:mm)
Mã lỗi phổ biến
400 {"success": false, "message": "Shop-Id không hợp lệ. Cần Shop-Id header hoặc shop_id parameter"}
401 {"success": false, "message": "Token-Seller không hợp lệ hoặc đã hết hạn"}
401 {"success": false, "message": "Shop-Id không khớp với Token-Seller"}
401 {"success": false, "message": "User token không hợp lệ hoặc đã hết hạn"}
404 {"success": false, "message": "Không tìm thấy mini game cho shop này", "shop_id": 8185}
500 {"success": false, "message": "Lỗi xử lý get-mini-game"}
Lưu ý
  • Shop-Id: Bắt buộc phải có trong header hoặc query parameter
  • Token-Seller: Tùy chọn, nhưng nếu có sẽ được validate và kiểm tra shop_id
  • User Token: Tùy chọn, nếu có sẽ trả về thêm thông tin user_plays_today về lượt chơi của user
  • Thời gian hiệu lực: Mini game chỉ được trả về nếu trong khoảng thời gian ngay_bat_daungay_ket_thuc
  • Tỷ lệ trúng: Key "0" trong ty_le_trung là tỷ lệ "thử lại", các key khác là ID coupon
  • Danh sách coupon: Là mảng số nguyên, có thể dùng để validate coupon_id khi quay thưởng
  • Coupons Detail: Chứa thông tin chi tiết của các coupon bao gồm mã voucher (code), mức giảm giá (discount), loại giảm giá (type: "tru" hoặc "phantram"), mô tả, thời gian hiệu lực
  • Mã voucher: Lấy từ trường code trong coupons_detail, đây là mã mà người dùng sẽ nhập khi sử dụng
  • Khuyến mãi: Thông tin khuyến mãi được lấy từ các trường discount, type, condition_amount, description trong coupons_detail
API Liên Quan