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
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)
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_dau và ngay_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