Tài liệu Reseller API
Tự động lấy danh sách sản phẩm, đặt hàng và nhận Key ngay lập tức bằng API — không cần liên hệ hỗ trợ.
Ưu đãi giá qua API
Mọi đơn hàng đặt qua API đều được giảm 5% so với giá bán trên web, áp dụng tự động cho mọi sản phẩm — không cộng dồn với các khuyến mãi/mã giảm giá khác. Giá trả về ở endpoint /api/v1/products đã là giá sau khi giảm.
1. Lấy API Token
Vào Cài đặt tài khoản, cuộn xuống mục "API dành cho Reseller" và bấm Tạo API Token. Đây là token duy nhất của bạn — không chia sẻ cho người khác.
2. Xác thực
Mọi request phải gửi kèm token trong header Authorization:
Authorization: Bearer <API_TOKEN_CỦA_BẠN>
Sai hoặc thiếu token → HTTP 401. Mọi response đều là JSON, có dạng {"success": true/false, "data" hoặc "error": ...}.
3. Danh sách Endpoint
/api/v1/me
Xem thông tin tài khoản và số dư ví.
curl -H "Authorization: Bearer TOKEN" \
https://softwarepays.com/api/v1/me
{
"success": true,
"data": { "id": 4, "customer_code": "052032", "name": "Anh Tú Trần", "balance": 100000 }
}
/api/v1/products
Danh sách toàn bộ sản phẩm còn hàng, kèm giá và tồn kho.
curl -H "Authorization: Bearer TOKEN" \
https://softwarepays.com/api/v1/products
{
"success": true,
"data": [
{ "id": 12, "name": "Claude Pro 1 Month", "price": 125000, "categories": ["AI Tools"], "available_keys": 8 }
]
}
/api/v1/products/{id}
Chi tiết một sản phẩm theo ID.
curl -H "Authorization: Bearer TOKEN" \
https://softwarepays.com/api/v1/products/12
/api/v1/orders
Đặt hàng — trừ tiền trong ví và giao Key ngay lập tức trong response, không cần chờ duyệt.
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
-d '{"product_id": 12, "quantity": 1}' \
https://softwarepays.com/api/v1/orders
{
"success": true,
"data": {
"order_id": "API178784399983710",
"status": "completed",
"product": "Claude Pro 1 Month",
"quantity": 1,
"total_price": 125000,
"balance_after": 0,
"items": [ { "name": "Claude Pro 1 Month", "key_code": "abc@email.com|pass123" } ]
}
}
quantity mặc định là 1, tối đa 20. Không đủ số dư → HTTP 422 kèm lý do trong error.
Trường hợp đơn "pending"
Nếu nguồn hàng tạm thời gián đoạn, tiền vẫn được trừ ngay nhưng đơn sẽ ở trạng thái pending thay vì báo lỗi — hệ thống sẽ tự xử lý trong ít phút. Poll lại GET /api/v1/orders/{order_id} để lấy Key khi đơn chuyển sang completed.
{
"success": true,
"data": {
"order_id": "API178784399983710",
"status": "pending",
"message": "Order is pending fulfillment. Poll GET /orders/{order_id} for status."
}
}
/api/v1/orders
Lịch sử đơn hàng (phân trang 20 đơn/trang).
/api/v1/orders/{order_id}
Tra cứu lại chi tiết + Key đã giao của một đơn theo order_id (lấy từ response khi đặt hàng).
Cần hỗ trợ thêm?
Nếu gặp lỗi không rõ nguyên nhân, hãy chụp lại response JSON kèm mã đơn (order_id) và liên hệ Admin để được hỗ trợ nhanh.
Tiếng Việt
English
中文
Русский
한국어
فارسی
हिन्दी