Lấy Danh Sách Lượt Chơi Mini Game
API để lấy danh sách tất cả các lượt chơi của người dùng cho một mini game cụ thể. API hỗ trợ lọc theo trạng thái used (đã dùng/chưa dùng) và phân trang kết quả.
GET | POST https://api.socdo.vn/mini-app/v1/get-list-play-game
Authorization: Bearer <user_token> - Bắt buộc - Token xác thực user
mini_game_id: Bắt buộc - ID của mini game (số nguyên)
used: Tùy chọn - Lọc theo trạng thái used: 0 (chưa dùng), 1 (đã dùng), hoặc không có để lấy tất cả
limit: Tùy chọn - Số lượng kết quả trả về (mặc định: 100, tối đa: 1000)
offset: Tùy chọn - Vị trí bắt đầu (mặc định: 0) - dùng cho phân trang
Ví dụ cURL - Lấy tất cả lượt chơi
curl -X GET \
"https://api.socdo.vn/mini-app/v1/get-list-play-game?mini_game_id=2" \
-H "Authorization: Bearer YOUR_USER_TOKEN"
Ví dụ cURL - Lấy chỉ lượt chơi đã dùng
curl -X GET \
"https://api.socdo.vn/mini-app/v1/get-list-play-game?mini_game_id=2&used=1" \
-H "Authorization: Bearer YOUR_USER_TOKEN"
Ví dụ cURL - Lấy lượt chơi chưa dùng với phân trang
curl -X POST \
"https://api.socdo.vn/mini-app/v1/get-list-play-game" \
-H "Authorization: Bearer YOUR_USER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mini_game_id": 2,
"used": 0,
"limit": 50,
"offset": 0
}'
Response thành công (200)
{
"success": true,
"message": "Lấy danh sách lượt chơi thành công",
"data": {
"plays": [
{
"id": 123,
"user_id": 36851,
"mini_game_id": 2,
"extra_play": false,
"used": true,
"play_date": "2025-11-15",
"created_at": "2025-11-15 14:30:00"
},
{
"id": 120,
"user_id": 36851,
"mini_game_id": 2,
"extra_play": false,
"used": false,
"play_date": "2025-11-15",
"created_at": "2025-11-15 10:00:00"
}
],
"pagination": {
"total": 2,
"limit": 100,
"offset": 0,
"has_more": false
},
"filters": {
"user_id": 36851,
"mini_game_id": 2,
"used": null
}
}
}
Giải thích Response
| Trường |
Loại |
Mô tả |
success |
boolean |
Trạng thái thành công |
message |
string |
Thông báo kết quả |
data.plays |
array |
Danh sách các lượt chơi (mảng các object) |
data.pagination |
object |
Thông tin phân trang |
data.filters |
object |
Thông tin bộ lọc đã áp dụng |
Giải thích Object Lượt Chơi (plays[])
| Trường |
Loại |
Mô tả |
id |
number |
ID của lượt chơi |
user_id |
number |
ID của người dùng |
mini_game_id |
number |
ID của mini game |
extra_play |
boolean |
Lượt cộng thêm (true nếu là khách mới/chưa mua) |
used |
boolean |
Đã sử dụng lượt này chưa (false = chưa dùng, true = đã dùng) |
play_date |
string |
Ngày chơi (YYYY-MM-DD) |
created_at |
string |
Thời gian tạo lượt chơi (YYYY-MM-DD HH:mm:ss) |
Giải thích Pagination
| Trường |
Loại |
Mô tả |
total |
number |
Tổng số lượt chơi (không tính phân trang) |
limit |
number |
Số lượng kết quả mỗi trang |
offset |
number |
Vị trí bắt đầu |
has_more |
boolean |
Còn kết quả tiếp theo không |
Mã lỗi phổ biến
400 {"success": false, "message": "Thiếu mini_game_id hoặc giá trị không hợp lệ"}
401 {"success": false, "message": "Thiếu user token. Cần Authorization header với Bearer token"}
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", "mini_game_id": 2}
500 {"success": false, "message": "Lỗi xử lý get-list-play-game"}
Lưu ý
- User Token: Bắt buộc phải có để xác định người dùng
- Mini Game ID: Bắt buộc phải có để lọc lượt chơi theo mini game
- Lọc theo used: Có thể truyền
used=0 để lấy chỉ lượt chơi chưa dùng, used=1 để lấy chỉ lượt đã dùng, hoặc không truyền để lấy tất cả
- Phân trang: Sử dụng
limit và offset để phân trang kết quả. Mặc định limit = 100, tối đa = 1000
- Sắp xếp: Kết quả được sắp xếp theo
created_at DESC (mới nhất trước)
- Chỉ lấy lượt chơi của user: API chỉ trả về lượt chơi của user được xác định từ token, không thể xem lượt chơi của user khác
API Liên Quan