Tài liệu API
Tài liệu kết nối dành cho đối tác: đồng bộ sản phẩm, mua tài nguyên tự động và đặt hàng dịch vụ dạng Orders. Cả hai API dùng Partner Token của một kết nối API.
Bạn chưa đăng nhập tài khoản
Đăng nhập để nhận API Token cá nhân và tự động điền sẵn vào các đoạn code mẫu thử nghiệm.
Sản phẩm & Danh mục
Mua hàng & Đặt đơn
Tra cứu đơn hàng
Phương thức kết nối API
Cách gửi yêu cầu
Thông số kỹ thuật giao thức RESTful và giới hạn tần suất yêu cầu:
| Endpoint chính | https://www.sieuthicloud247.com/api/v1 |
| Endpoint phụ | https://www.sieuthicloud247.com/api |
| Phương thức | GET hoặc POST |
| Dữ liệu gửi | JSON body, form-data hoặc query params |
| Phản hồi | JSON, luôn trả về HTTP status chuẩn RESTful |
| Tần suất (Rate limit) | 120 requests / phút (riêng endpoint /buy tối đa 30 requests / phút) |
Chữ ký & Xác thực
Truyền Token vào HTTP Header để xác thực mọi yêu cầu từ Web Con của bạn:
Authorization: Bearer YOUR_API_TOKEN_HERE Content-Type: application/json Accept: application/json
/profile Thông tin tài khoản & Số dư
Cho phép đối tác kiểm tra số dư ví trước khi thực hiện các đơn hàng lớn. Hỗ trợ alias: GET /me, GET /balance.
// Đang tạo mã nguồn mẫu...
{
"status": true,
"balance": 500000,
"data": {
"id": 1,
"username": "reseller_pro",
"email": "partner@example.com",
"balance": 500000,
"balance_total": 2000000,
"created_at": "2026-10-31T14:16:38.000000Z"
}
} {
"status": false,
"message": "Unauthorized: Missing or Invalid API Key"
} Gửi thử endpoint này
Danh mục & Sản phẩm
GET /products, hỗ trợ phân trang & tìm kiếm) và Lấy danh mục sản phẩm (GET /categories). Bảng giá trả về tương ứng với cấp độ chiết khấu của tài khoản. /products Lấy danh sách sản phẩm
Hỗ trợ lọc theo danh mục, từ khóa tìm kiếm và phân trang bằng query params.
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| category_id | Integer | Tùy chọn | Lọc theo ID danh mục sản phẩm. |
| search | String | Tùy chọn | Từ khóa tìm kiếm theo tên sản phẩm. |
| limit | Integer | Tùy chọn | Số dòng mỗi trang (1–100, mặc định 20). |
| page | Integer | Tùy chọn | Số trang hiện tại, bắt đầu từ 1. |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"data": [
{
"id": 10,
"name": "Tài khoản Canva Pro Edu 1 Năm",
"price": 45000,
"stock": 120,
"is_out_of_stock": false,
"delivery_type": "instant",
"is_manual": false
},
{
"id": 25,
"name": "Cloud Phone Treo Game 24/7",
"price": 120000,
"stock": "Sẵn sàng",
"delivery_type": "manual",
"is_manual": true,
"custom_fields": [
{
"name": "os_type",
"label": "Hệ điều hành",
"type": "text",
"required": true
}
]
}
]
} {
"status": false,
"message": "Unauthenticated."
} Gửi thử endpoint này
/categories Lấy danh sách danh mục
Dùng để tạo danh mục tương ứng trên website vệ tinh của bạn.
// Đang tạo mã nguồn mẫu...
{
"status": true,
"data": [
{
"id": 1,
"name": "Tài Khoản Giải Trí",
"slug": "tai-khoan-giai-tri",
"products_count": 8
},
{
"id": 2,
"name": "Công Cụ Làm Việc & Học Tập",
"slug": "cong-cu-lam-viec",
"products_count": 15
}
]
} Gửi thử endpoint này
Cloud Phone Genplay API
GET /genplay/plans), gửi lệnh thuê máy tự động (POST /genplay/buy) và tra cứu mã code kích hoạt (GET /genplay/orders/{code}). Hệ thống tự động trừ tiền ví đại lý và cấp mã kích hoạt ngay lập tức. /genplay/plans Lấy danh sách gói Cloud Phone
Dùng để hiển thị bảng máy ảo Cloud Phone trên website của bạn và lấy price_id để gửi lệnh thuê máy.
// Đang tạo mã nguồn mẫu...
{
"status": true,
"message": "Lấy danh sách gói Cloud Phone Genplay thành công.",
"total": 2,
"data": [
{
"price_id": 120,
"plan_id": 15,
"name": "Cloud Phone RAM 4GB - Android 10",
"category": "Gói Tiêu Chuẩn",
"days": 1,
"price": 50000,
"currency": "VND",
"is_active": true,
"specs": {
"ram": "4GB",
"rom": "32GB",
"android": "10"
}
},
{
"price_id": 121,
"plan_id": 16,
"name": "Cloud Phone RAM 6GB - Android 12 Pro",
"category": "Gói Treo Game Nặng",
"days": 7,
"price": 280000,
"currency": "VND",
"is_active": true,
"specs": {
"ram": "6GB",
"rom": "64GB",
"android": "12"
}
}
]
} {
"status": false,
"message": "Unauthenticated."
} Gửi thử endpoint này
/genplay/buy Thuê Cloud Phone Genplay
Hệ thống tự động kích hoạt máy và cấp mã code. Hỗ trợ bí danh /api/v1/buy khi truyền price_id.
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| price_id | Integer | Bắt buộc | ID gói giá cần thuê (lấy từ endpoint /genplay/plans). |
| quantity | Integer | Bắt buộc | Số lượng thiết bị cần thuê, tối thiểu 1. |
| version | Integer | Tùy chọn | Phiên bản hệ điều hành Android (tùy chọn). |
| client_order_code | String | Khuyến nghị | Mã giao dịch duy nhất của bạn để chống trừ tiền trùng lặp (Idempotent). |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"message": "Thuê thiết bị Cloud Phone Genplay thành công!",
"data": {
"order_code": "GP261106A1B2C3",
"invoice_code": "GP261106A1B2C3",
"plan_name": "Cloud Phone RAM 4GB (1 ngày)",
"price_id": 120,
"quantity": 1,
"total_amount": 50000,
"status": "completed",
"codes": [
"GPCODE-4GB-9823-7182-9912"
],
"balance_after": 450000,
"created_at": "2026-11-06T12:00:00.000000Z"
}
} {
"status": false,
"message": "Số dư tài khoản không đủ để thanh toán."
} {
"status": false,
"message": "Gói Cloud Phone không tồn tại."
} Gửi thử endpoint này
/genplay/orders/{code} Tra cứu đơn & Mã code Genplay
Khi đơn vừa tạo ở trạng thái pending, bạn có thể gọi endpoint này định kỳ (mỗi 10s) để lấy mã code.
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| code | String | Bắt buộc | Mã đơn GP (ví dụ GP261106A1B2C3) hoặc ID hóa đơn nằm trong URL. |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"data": {
"id": 189,
"invoice_code": "GP261106A1B2C3",
"order_code": "GP261106A1B2C3",
"plan_name": "Cloud Phone RAM 4GB (1 ngày)",
"price_id": 120,
"quantity": 1,
"amount": 50000,
"status": "completed",
"codes": [
"GPCODE-4GB-9823-7182-9912"
],
"created_at": "2026-11-06T12:00:00.000000Z"
}
} {
"status": false,
"message": "Không tìm thấy hóa đơn Cloud Phone."
} Gửi thử endpoint này
Mua hàng & Đặt đơn
/buy Mua sản phẩm giao ngay
Thích hợp cho các sản phẩm dạng tài nguyên số (Email, Key, Tài khoản có sẵn trong kho).
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| product_id | Integer | Bắt buộc | ID sản phẩm cần mua. |
| quantity | Integer | Bắt buộc | Số lượng cần mua, tối thiểu 1. |
| plan_id | Mixed | Tùy chọn | ID gói cước (nếu sản phẩm có phân loại thời hạn). |
| client_order_code | String | Khuyến nghị | Mã đơn duy nhất của Web Con để chống trừ tiền trùng (Idempotent). |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"message": "Mua hàng thành công!",
"order": {
"id": 850,
"code": "DH91823",
"quantity": 2,
"total_amount": 90000,
"status": "completed"
},
"accounts": [
{
"details": "canva01@gmail.com|pass123|recovery"
},
{
"details": "canva02@gmail.com|pass456|recovery"
}
]
} {
"status": false,
"message": "Số dư không đủ hoặc sản phẩm tạm hết hàng."
} Gửi thử endpoint này
/buy Đặt đơn dạng Orders & Plans (Chờ duyệt)
Dành cho các dịch vụ thủ công, VPS, Proxy hoặc nạp game cần thời gian xử lý.
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| fields | Object | Đơn Orders | Dữ liệu form tùy biến theo sản phẩm, khớp với custom_fields. |
| callback_url | String | Khuyến nghị | URL nhận Webhook khi đơn hoàn tất hoặc bị hủy. |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"message": "Đặt hàng thành công! Đơn đang chờ duyệt.",
"is_pending_order": true,
"order": {
"id": 851,
"code": "DH91824",
"quantity": 1,
"total_amount": 120000,
"status": "pending"
},
"accounts": []
} Gửi thử endpoint này
Callback & Webhook Đối Soát
Khi đơn hàng dạng Orders được Admin duyệt hoặc hủy hoàn tiền, hệ thống sẽ tự động POST kết quả tới callback_url của bạn:
{
"event": "order.delivered",
"order_id": 851,
"order_code": "DH91824",
"client_order_code": "WEBCON_DH_1002",
"status": "completed",
"delivery_content": "IP: 103.142.20.15 | Pass: Cloud@2026"
} {
"event": "order.cancelled",
"order_id": 851,
"order_code": "DH91824",
"client_order_code": "WEBCON_DH_1002",
"status": "refunded",
"refund_amount": 120000,
"refund_reason": "Sản phẩm tạm hết tài nguyên"
} Tra cứu đơn hàng
/orders/{code} Tra cứu chi tiết đơn hàng
Hỗ trợ tra cứu bằng mã đơn Web Mẹ (DH91824) hoặc client_order_code của Web Con.
| Tham số | Kiểu | Mức độ | Mô tả |
|---|---|---|---|
| code | String | Bắt buộc | Mã đơn Web Mẹ hoặc client_order_code nằm trong đường dẫn URL. |
// Đang tạo mã nguồn mẫu...
{
"status": true,
"data": {
"id": 851,
"code": "DH91824",
"status": "completed",
"delivery_type": "manual",
"delivery_content": "IP: 103.142.20.15\nPort: 5555\nUser: admin / Pass: Cloud@2026",
"refund_status": null,
"total_amount": 120000
}
} {
"status": false,
"message": "Không tìm thấy đơn hàng."
} Gửi thử endpoint này
Mã trạng thái HTTP
| Mã | Trạng thái | Ý nghĩa & Hướng xử lý |
|---|---|---|
| 200 | Thành công | Yêu cầu được thực hiện thành công. |
| 400 | Sai tham số | Thiếu tham số bắt buộc hoặc định dạng JSON không hợp lệ. |
| 401 | Chưa xác thực | Token sai, không tồn tại hoặc tài khoản bị khóa kết nối. |
| 404 | Không tìm thấy | Sản phẩm hoặc mã đơn hàng không tồn tại trên hệ thống. |
| 422 | Lỗi nghiệp vụ | Số dư không đủ hoặc sản phẩm tạm hết hàng. |
| 429 | Vượt giới hạn | Gửi quá nhiều yêu cầu trong thời gian ngắn (vượt 120 req/phút). |
| 500 | Lỗi máy chủ | Hệ thống đang bảo trì hoặc xử lý bất thường. |
Mã lỗi & Câu hỏi thường gặp
Đơn Orders mất bao lâu để được Admin duyệt?
Tùy dịch vụ, thông thường từ 5 đến 30 phút. Bạn nên lắng nghe Webhook thay vì gọi kiểm tra liên tục.
Gửi trùng đơn hàng có bị trừ tiền hai lần không?
Không, nếu bạn truyền cùng client_order_code, hệ thống sẽ trả lại đúng kết quả đơn hàng đã tạo.
Nếu không nhận được Webhook thì sao?
Chủ động gọi GET /api/v1/orders/{code} để kiểm tra trạng thái tức thì.
Danh mục Endpoint
14 mục tài liệu & API









