Hệ Thống API Tích Hợp
Dành Cho Đại Lý & Đối Tác
Kết nối hệ thống kích hoạt Locket Gold VIP tự động trực tiếp vào Website, Shop tự động, Bot Telegram hoặc ứng dụng của bạn. Kích hoạt VIP thành công sau dưới 1 giây chỉ với Firebase UID hoặc Link tài khoản Locket.
🔑 Quản Lý API Key Đối Tác
Sử dụng API Key cá nhân để thực hiện các yêu cầu kích hoạt từ server của bạn.
Bạn Cần Đăng Nhập Để Lấy API Key
Đăng nhập tài khoản LocketGold để tự động nhận API Key đối tác và 1 lượt kích hoạt dùng thử 30 phút miễn phí (tính theo tài khoản, không theo IP).
Hệ thống sẽ gửi yêu cầu POST HTTP với payload kết quả kích hoạt tới URL này mỗi khi có UID được kích hoạt thành công.
1. Tổng Quan & Xác Thực API
Mọi yêu cầu gửi đến API của LocketGold cần được gửi qua giao thức HTTPS. Hệ thống chấp nhận cả JSON Body lẫn form URL-encoded.
https://locketgold.lol
Header Xác Thực (Authentication):
Truyền API Key vào một trong hai Header HTTP sau trong mỗi request:
Hoặc sử dụng chuẩn Bearer Token:
Lấy danh sách tất cả các gói dịch vụ đang mở bán trên website cùng giá niêm yết (web_price) và giá nhập đại lý của bạn (reseller_cost). Đại lý được tự do định giá bán lại cho khách lẻ, hệ thống chỉ khấu trừ giá sỉ từ số dư tài khoản của bạn.
Phản Hồi Mẫu (HTTP 200 OK):
{
"ok": true,
"packages": [
{
"code": "pro_ios",
"name": "Locket Gold Vĩnh Viễn VIP (iOS)",
"duration_text": "Vĩnh viễn",
"web_price": 149000,
"discount_percent": 20,
"reseller_cost": 119200,
"profit_margin": 29800,
"os": "ios"
},
{
"code": "basic_ios",
"name": "Locket Gold 1 Năm (iOS)",
"duration_text": "365 ngày",
"web_price": 109000,
"discount_percent": 20,
"reseller_cost": 87200,
"profit_margin": 21800,
"os": "ios"
}
],
"partner": {
"name": "Shop Locket VIP",
"balance": 250000,
"discount_percent": 20
}
}
Kích hoạt tài khoản Locket Gold VIP cho khách hàng. Hệ thống tự động tra cứu giá gói trên website, khấu trừ tiền trực tiếp vào số dư tài khoản đại lý (theo % chiết khấu) và tự động tạo kèm liên kết cấu hình DNS Profile (.mobileconfig) gửi trả về ngay lập tức.
Tham Số Body (Request Body):
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| uid | string | Có | Firebase UID (28 ký tự) hoặc Link Locket (vd: https://locket.cam/u/username). Hệ thống tự giải mã UID. |
| package_code | string | Không | Mã gói từ website: pro_ios, basic_ios, hoặc android_vip. Có thể truyền package_name. Mặc định là gói cao nhất. |
| note | string | Không | Mã đơn hoặc giá bán lẻ của đại lý (vd: "Bán khách lẻ 150k - Đơn #9872"). |
Phản Hồi Thành Công (HTTP 200 OK):
{
"ok": true,
"success": true,
"uid": "Zg8dK21Lms9124kdsm12Kds1923l",
"status": "activated",
"package": {
"name": "Locket Gold Vĩnh Viễn VIP (iOS)",
"code": "pro_ios",
"duration": "Vĩnh viễn (Trọn đời)"
},
"pricing": {
"web_price": 149000,
"discount_percent": 20,
"amount_deducted": 119200,
"remaining_balance": 130800
},
"dns": {
"token": "a1b2c3d4e5f6...",
"download_url": "https://locketgold.lol/locket_gold.mobileconfig?token=a1b2c3d4e5f6...",
"doh_url": "https://locketgold.lol/dns-query/a1b2c3d4e5f6..."
}
}
Phản Hồi Lỗi (Error Codes):
// 401 Unauthorized: API Key không chính xác
{ "ok": false, "error": "Invalid or inactive API key", "code": "UNAUTHORIZED" }
// 402 Payment Required: Số dư tài khoản không đủ để thanh toán gói
{
"ok": false,
"error": "Số dư không đủ! Gói giá 119,200đ, số dư hiện tại: 50,000đ.",
"code": "INSUFFICIENT_BALANCE",
"balance": 50000,
"required_amount": 119200,
"topup_api": "/api/v1/partner/deposit/create"
}
// 400 Bad Request: UID không hợp lệ
{ "ok": false, "error": "UID không hợp lệ", "code": "INVALID_UID" }
Cấp 1 lượt test dùng thử Locket Gold VIP trong 30 phút để đối tác kiểm thử tích hợp.
⚠️ Lưu ý quan trọng: Sau đúng 30 phút kể từ lúc kích hoạt, hệ thống sẽ tự động xóa hoàn toàn UID khỏi server. Mỗi tài khoản đăng nhập trên web chỉ được cấp 1 lượt test duy nhất (lưu vĩnh viễn theo tài khoản, không theo IP).
Tham Số Body (Request Body):
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| uid | string | Có | Firebase UID hoặc Link Locket (vd: https://locket.cam/u/username). |
| api_key | string | Không | API Key của đối tác (nếu có, hoặc gửi qua Header X-API-Key). |
Phản Hồi Thành Công (HTTP 200 OK):
{
"ok": true,
"success": true,
"is_trial": true,
"uid": "Zg8dK21Lms9124kdsm12Kds1923l",
"status": "activated",
"duration_minutes": 30,
"package_name": "Locket Gold VIP (Test 30P)",
"activated_at": "2026-10-11 19:30:00",
"expires_at": "2026-10-11 20:00:00",
"message": "Kích hoạt test 30 phút thành công! Sau 30 phút UID sẽ tự động xóa khỏi server."
}
Phản Hồi Lỗi (Error Codes):
// 409 Conflict: Tài khoản/UID đã sử dụng hết lượt dùng thử 30 phút
{ "ok": false, "error": "Tài khoản của bạn đã sử dụng 1 lượt dùng thử 30 phút.", "code": "TRIAL_ALREADY_USED" }
// 401 Unauthorized: Chưa đăng nhập tài khoản web và không có API Key hợp lệ
{ "ok": false, "error": "Vui lòng đăng nhập tài khoản LocketGold trên web để dùng thử 30 phút.", "code": "LOGIN_REQUIRED" }
Kiểm tra xem một Firebase UID hoặc Link Locket đã được kích hoạt VIP trên hệ thống Locket Gold hay chưa.
Phản hồi mẫu:
{
"ok": true,
"uid": "Zg8dK21Lms9124kdsm12Kds1923l",
"is_active": true,
"details": {
"package_name": "Locket Gold VIP",
"status": "active",
"activated_at": "2026-10-11 18:30:00"
}
}
Tra cứu số dư tài khoản thực tế (balance), mức chiết khấu đại lý (discount_percent) và số đơn đã hoàn thành.
Phản hồi mẫu:
{
"ok": true,
"name": "Shop Locket VIP",
"balance": 250000,
"balance_formatted": "250,000đ",
"discount_percent": 20,
"used_quota": 48,
"is_active": 1
}
Tạo giao dịch nạp tiền vào tài khoản đại lý. Hệ thống trả về mã QR VietQR MBBank. Sau khi chuyển khoản đúng nội dung, hệ thống ngân hàng tự động đối soát và cộng số dư trong 10-30 giây.
Body:
Phản hồi mẫu:
{
"ok": true,
"order_code": "NAP14F9A2B",
"amount": 100000,
"qr_url": "https://api.vietqr.io/image/970422-xxxx-qr_only.png?amount=100000&addInfo=NAP14F9A2B",
"current_balance": 150000,
"discount_percent": 20,
"status_api": "/api/v1/partner/deposit/status?order_code=NAP14F9A2B"
}
5. Mẫu Code Tích Hợp Đa Ngôn Ngữ
Chọn ngôn ngữ lập trình của bạn để sao chép đoạn mã tích hợp sẵn:
curl -X POST https://locketgold.lol/api/v1/partner/activate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{
"uid": "https://locket.cam/u/username",
"package_code": "pro_ios",
"note": "Khach le 150k - Don #12345"
}'
🧪 Thử Nghiệm API Trực Tiếp (Sandbox)
Nhập UID hoặc Link Locket của khách hàng để thử nghiệm kích hoạt trực tiếp từ trình duyệt.
Mỗi tài khoản đăng nhập trên web được tặng 1 lượt test hoạt động 30 phút (tính vĩnh viễn theo tài khoản, không theo IP/thiết bị). Hết đúng 30 phút, hệ thống tự động xóa hoàn toàn UID khỏi máy chủ.
📱 Mở link trên bằng trình duyệt Safari trên iPhone/iPad để tự động tải & cài đặt cấu hình VPN/DNS.
7. Bảng Mã Lỗi & HTTP Status Codes
| Status | Code String | Ý nghĩa & Hướng xử lý |
|---|---|---|
| 200 OK | SUCCESS | Kích hoạt thành công, UID được cấp quyền VIP và quota trừ 1. |
| 401 Unauthorized | UNAUTHORIZED | API Key không đúng hoặc đã bị khóa. Vui lòng kiểm tra lại Header. |
| 402 Payment Required | QUOTA_EXCEEDED | Tài khoản hết hạn mức kích hoạt. Vui lòng liên hệ Admin nạp thêm. |
| 400 Bad Request | INVALID_UID | Định dạng UID hoặc Link không phân giải được. |
| 500 Server Error | INTERNAL_ERROR | Lỗi hệ thống máy chủ, liên hệ kỹ thuật để được hỗ trợ. |