Tổng quan
Base URL local:
http://localhost:4001/api/v1JWT authentication
Đăng nhập để nhận accessToken và gửi token theo chuẩn Bearer cho endpoint có biểu tượng khóa trong Swagger.
/api/v1/auth/logincurl -X POST "http://localhost:4001/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"your-password"}'curl "http://localhost:4001/api/v1/users/me" \
-H "Authorization: Bearer ACCESS_TOKEN"Refresh token: POST /api/v1/auth/refresh với JSON {"refreshToken":"..."}.
Quy ước dữ liệu
type: RESIDENTIAL, DATACENTER, ISP hoặc MOBILE.deviceType: ANDROID, WINDOWS, MACOS, IOS, LINUX hoặc OTHER.status: LIVE, WARNING hoặc OFFLINE.rentalStatus: ACTIVE, EXPIRED, RETURNED, REVOKED hoặc REFUNDED.- Gói IP có thời hạn cố định 24 giờ và giới hạn dung lượng do server công bố trong
fixedIncludedGb; gói dung lượng có hiệu lực tối đa 30 ngày.
Danh sách kho và bộ lọc
/api/v1/proxies?platform=ebayEndpoint public. Tham số platform lọc Exit IP chưa từng được cấp cho nền tảng đó. Danh sách nền tảng: GET /api/v1/proxies/platforms. Các bộ lọc khác: country, type, city, region, zipcode, isp, deviceType, status, limit và offset.
curl "http://localhost:4001/api/v1/proxies?platform=ebay&country=US&type=RESIDENTIAL&deviceType=WINDOWS®ion=Arizona&status=LIVE"{
"items": [{
"id": "proxy_id",
"type": "RESIDENTIAL",
"deviceType": "WINDOWS",
"country": "US",
"region": "Arizona",
"city": "Phoenix",
"zipcode": "85004",
"ip": "184.190.*.*",
"status": "LIVE",
"price": 0.5,
"rentalMinutes": 30,
"pricingMode": "FIXED_TIME",
"fixedIncludedGb": 1,
"pricePerGb": 1.5
}],
"total": 1,
"limit": 50,
"offset": 0
}Thuê proxy node
/api/v1/user-proxies/rentcurl -X POST "http://localhost:4001/api/v1/user-proxies/rent" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"proxyId":"proxy_id","platformSlug":"ebay"}'Dịch vụ thiết yếu Google Play, Android và iOS được server tự ghép vào mọi target. addonSlugs chỉ dùng cho bundle tùy chọn như PayPal. Rule seller cấm luôn có ưu tiên cao nhất.
Listing FIXED_TIME là một IP dùng tối đa 24 giờ với giá cố định và giới hạn fixedIncludedGb; node tự ngắt theo điều kiện thời gian hoặc dung lượng đến trước. Listing BANDWIDTH nhận bandwidthGb và tự ngắt khi dùng hết dung lượng.
{
"id": "rental_id",
"ip": "proxy-node.example.com",
"port": "20000",
"username": "node_generated_user",
"password": "node_generated_password",
"connectionUrl": "socks5h://node_generated_user:node_generated_password@proxy-node.example.com:20000",
"exitIp": "203.0.113.10",
"exitIpMasked": "203.0.*.*",
"platformName": "eBay",
"allowedDomains": ["ebay.com", "ebaystatic.com", "ebayimg.com"],
"allowedKeywords": ["ebay"],
"blockedDomains": [],
"blockedKeywords": [],
"addonSlugs": [],
"policyVersion": 2,
"billingMode": "FIXED_TIME",
"rentalStatus": "ACTIVE",
"expiresAt": "2026-08-08T08:00:00.000Z",
"remainingSeconds": 86400,
"refundWindowRemainingSeconds": 600,
"canRequestRefund": true,
"price": 0.5,
"deducted": 0.5
}Danh sách proxy node của tôi
/api/v1/user-proxiesHỗ trợ filter country, type, city, region, isp, zipcode, deviceType, rentalStatus, limit và offset.
curl "http://localhost:4001/api/v1/user-proxies?rentalStatus=ACTIVE&deviceType=WINDOWS" \
-H "Authorization: Bearer ACCESS_TOKEN"Nếu ứng dụng gặp lỗi do thiếu domain, gọi GET /api/v1/user-proxies/{id}/blocked-domains để lấy domain relay đã chặn, sau đó gửi POST /api/v1/user-proxies/{id}/report-domain với eventId. Chỉ domain thực tế đã bị chặn mới được báo.
Hoàn proxy lỗi và tự hết hạn
/api/v1/user-proxies/{id}/refundChỉ được hoàn trong 10 phút đầu kể từ lúc thuê và khi backend xác nhận proxy không live hoặc Exit IP không khớp IP đã xác minh. Node bị ngắt, tiền được hoàn đúng một lần, proxy chuyển sang trạng thái đã sử dụng và không quay lại kho.
{
"returned": true,
"refunded": true,
"refundedAmount": 0.5,
"balance": 10.5,
"reason": "UPSTREAM_OFFLINE: connection timeout"
}Khi expiresAt đến hạn bình thường, backend tự đóng mọi connection và đặt trạng thái EXPIRED; trường hợp này không hoàn tiền.
/api/v1/user-proxies/bulk-delete{"ids":["rental_id_1","rental_id_2"]}Thống kê lưu lượng
/api/v1/usage?period=30dPeriod hợp lệ: 7d, 30d hoặc 90d. Response gồm bandwidth, request, success rate và dữ liệu theo ngày.
Tra cứu thông tin IP
/api/v1/user-proxies/check-ip{"ip":"8.8.8.8"}Response gồm country, region, city, zipcode, ISP, ASN, timezone và phân loại residential/datacenter/mobile.
Tạo và cập nhật hồ sơ seller
/api/v1/seller/profileGọi endpoint này trước khi đăng proxy hoặc yêu cầu payout. Gọi lại cùng endpoint để cập nhật hồ sơ.
curl -X POST "http://localhost:4001/api/v1/seller/profile" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"displayName":"Clean Proxy Store","payoutMethod":"USDT-TRC20","payoutAccount":"T..."}'Kiểm tra proxy trước khi đăng
/api/v1/seller/proxies/previewPreview kiểm tra TCP, UDP, Exit IP, GeoIP, ISP/ASN và BrowserLeaks JA4T fingerprint nhưng không lưu listing.
curl -X POST "http://localhost:4001/api/v1/seller/proxies/preview" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"proxyLine":"socks5://username:password@geo.example.com:10800"}'Định dạng nhận: HOST:PORT:USER:PASS, USER:PASS@HOST:PORT, socks5:// và socks5h://. Hỗ trợ hostname, IPv4, IPv6 có ngoặc vuông và password chứa dấu hai chấm.
{
"exitIp": "203.0.113.10",
"countryCode": "US",
"region": "California",
"city": "Los Angeles",
"isp": "Example ISP",
"asn": "AS64500",
"proxyType": "RESIDENTIAL",
"deviceType": "WINDOWS",
"osFingerprint": "WINDOWS",
"osFingerprintConfidence": 0.98,
"udpSupported": true,
"latencyMs": 820
}session-* tạm và Exit IP trùng listing đang chờ/đang bán sẽ bị từ chối.Đăng proxy chờ admin duyệt
/api/v1/seller/proxiesServer luôn probe lại, không tin kết quả preview cũ. Metadata, thiết bị, vị trí và giá được server tự điền.
curl -X POST "http://localhost:4001/api/v1/seller/proxies" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"proxyLine":"geo.example.com:10800:username:password",
"pricingMode":"FIXED_TIME",
"blockedDomains":["bank.example.com"],
"blockedKeywords":["crypto"]
}'FIXED_TIME: một IP cố định tối đa 24 giờ, có giới hạn dung lượng do server cấu hình.BANDWIDTH: tính theo số GB khách mua.blockedDomains: chặn domain chính xác và subdomain.blockedKeywords: chặn mọi hostname chứa từ khóa.
Response là listing trạng thái PENDING. Admin probe lại khi duyệt sang ACTIVE.
Đăng proxy hàng loạt chạy nền
/api/v1/seller/proxies/bulkGửi tối đa 1.000 proxy. API chỉ validate payload, loại dòng trùng và enqueue Redis nên phản hồi nhanh; worker kiểm tra từng proxy độc lập.
curl -X POST "http://localhost:4001/api/v1/seller/proxies/bulk" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"proxyLines":[
"host1.example.com:1080:user1:pass1",
"socks5://user2:pass2@host2.example.com:1080"
],
"pricingMode":"FIXED_TIME",
"blockedDomains":["bank.example.com"],
"blockedKeywords":["crypto"]
}'{
"jobId": "123",
"state": "waiting",
"accepted": 2,
"duplicatesRemoved": 0
}/api/v1/seller/proxy-jobs/{jobId}/api/v1/seller/proxy-jobsState: waiting, active, completed, failed hoặc delayed. Progress gồm processed, succeeded, failed và percent. Mỗi item lỗi có số dòng và message.
Dashboard seller và payout
/api/v1/seller/dashboardResponse gồm profile, sellerSettings, listings, earnings và payouts. Giá bán và tỷ lệ chia do admin quản lý.
curl "http://localhost:4001/api/v1/seller/dashboard" \
-H "Authorization: Bearer ACCESS_TOKEN"/api/v1/seller/payoutscurl -X POST "http://localhost:4001/api/v1/seller/payouts" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"amount":10}'availableBalance. Yêu cầu mới có trạng thái PENDING để admin đối soát.Swagger / OpenAPI đầy đủ
Swagger là nguồn tham chiếu đầy đủ cho mọi request field, response schema và nút Try it out.
Mở Swagger