Content-Type: application/jsonAccept: application/jsonBearer cho endpoint tài khoản
Giới thiệu
API cho phép tích hợp mua công cụ (license), đặt proxy/VPS, gia hạn và quản lý tài nguyên đã mua.
Endpoint công khai không cần token; endpoint tài khoản gửi header
Authorization: Bearer <token>.
Tạo token an toàn: đăng nhập → Khu người dùng → Token API (khuyến nghị, không bắt buộc gửi mật khẩu qua API tích hợp lâu dài).
Giá proxy / gia hạn: chỉ trả giá bán (price_vnd, total_price_vnd). Không có giá gốc, chiết khấu hay payload nhà cung cấp.
API tích hợp nạp tiền (callback ngân hàng) và endpoint quản trị nội bộ không liệt kê tại đây — chỉ cấp khi triển khai.
Rate limit áp dụng theo nhóm. Vượt ngưỡng → HTTP 429.
Công khai — health
GET
Công khai
/v1/public/health
Health check
Kiểm tra API đang chạy (load balancer, uptime monitor). Chỉ trả trạng thái running.
Username không đổi (server giữ username hiện tại). Mật khẩu: >6 ký tự, có chữ In hoa và số. Template PROXY_HTTP_NONE_AUTH bị từ chối. Máy hết hạn → 422.
Tài khoản — gia hạn proxy/VPS
Luồng: (1) renew-info — xem giá & số dư → (2) renew — trừ ví và gia hạn theo chu kỳ hiện tại.
GETPOST
Bearer bắt buộc
/v1/proxy/instances/renew-info
Xem giá gia hạn
Trả giá bán từng dịch vụ và tổng. Gọi trước renew.
Tham số
Tên
Vị trí
Bắt buộc
Mô tả
vm_codes
query hoặc body
Có
1–50 mã VM. GET: ?vm_codes=VM1, nhiều mã ?vm_codes=VM1&vm_codes=VM2 hoặc ?vm_codes=VM1,VM2. POST JSON: {"vm_codes":["VM1","VM2"]}
Ví dụ curl
# GET một VM
curl "https://2movn.com/api/v1/proxy/instances/renew-info?vm_codes=VM20260520001" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json"
# GET nhiều VM (lặp key)
curl "https://2movn.com/api/v1/proxy/instances/renew-info?vm_codes=VM20260520001&vm_codes=VM20260520002" \
-H "Authorization: Bearer YOUR_TOKEN"
# POST (khuyến nghị)
curl -X POST https://2movn.com/api/v1/proxy/instances/renew-info \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"vm_codes":["VM20260520001","VM20260520002"]}'