POST /apiv2/address/rotate
Yêu cầu xoay vòng địa chỉ nạp tiền. Địa chỉ nạp tiền hiện tại sẽ được thay thế bằng một địa chỉ mới. Yêu cầu được đưa vào hàng đợi xử lý và hoàn tất tự động trong vòng 5 phút.
URL Endpoint
POST https://netts.io/apiv2/address/rotateHeader yêu cầu
| Header | Bắt buộc | Mô tả |
|---|---|---|
| Content-Type | Có | application/json |
| X-API-KEY | Có | Khóa API của bạn từ bảng điều khiển Netts |
| X-Real-IP | Có | Địa chỉ IP từ danh sách trắng của bạn |
Body yêu cầu
json
{
"user_id": 1234,
"address_type": "web"
}Tham số yêu cầu
| Tham số | Loại | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
| user_id | integer | Không | Người dùng đã xác thực | ID người dùng mục tiêu. Bỏ qua để xoay vòng địa chỉ của chính bạn. Người dùng cha có thể chỉ định ID của người dùng SUB của họ |
| address_type | string | Không | "web" | Loại địa chỉ cần xoay vòng: web hoặc tg |
Xác thực & Phân quyền
Endpoint này yêu cầu cả xác thực và phân quyền:
- Xác thực: Khóa API hợp lệ + IP từ danh sách trắng (tương tự như các endpoint khác)
- Phân quyền:
- Xoay vòng địa chỉ của chính bạn — luôn được cho phép
- Xoay vòng địa chỉ của người dùng SUB của bạn — được cho phép đối với người dùng cha
- Xoay vòng địa chỉ của người dùng khác — bị từ chối với
403 Forbidden
Ví dụ
cURL
bash
# Rotate own address
curl -X POST https://netts.io/apiv2/address/rotate \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{"address_type": "web"}'bash
# Rotate SUB-user's address (parent user only)
curl -X POST https://netts.io/apiv2/address/rotate \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{"user_id": 1234, "address_type": "web"}'Python
python
import requests
url = "https://netts.io/apiv2/address/rotate"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
# Rotate own address
response = requests.post(url, headers=headers, json={"address_type": "web"})
data = response.json()
if response.status_code == 200:
print(f"Rotation ID: {data['rotation_id']}")
print(f"Old Address: {data['old_address']}")
print(f"Status: {data['status']}")
print(f"Estimated Completion: {data['estimated_completion']}")
else:
print(f"Error: {data.get('detail', 'Unknown error')}")Node.js
javascript
const axios = require('axios');
async function rotateAddress(apiKey, whitelistedIp, addressType = 'web', userId = null) {
const url = 'https://netts.io/apiv2/address/rotate';
const body = { address_type: addressType };
if (userId) body.user_id = userId;
const response = await axios.post(url, body, {
headers: {
'Content-Type': 'application/json',
'X-API-KEY': apiKey,
'X-Real-IP': whitelistedIp
},
timeout: 30000
});
const data = response.data;
console.log(`Rotation ID: ${data.rotation_id}`);
console.log(`Status: ${data.status}`);
console.log(`Old Address: ${data.old_address}`);
return data;
}
// Rotate own address
rotateAddress('your_api_key', 'your_whitelisted_ip')
.then(result => console.log('Submitted:', result.message))
.catch(err => console.error('Error:', err.response?.data || err.message));PHP
php
<?php
$url = 'https://netts.io/apiv2/address/rotate';
$data = json_encode([
'address_type' => 'web'
]);
$options = [
'http' => [
'header' => implode("\r\n", [
"Content-Type: application/json",
"X-API-KEY: your_api_key",
"X-Real-IP: your_whitelisted_ip"
]),
'method' => 'POST',
'content' => $data,
'timeout' => 30
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response, true);
echo "Rotation ID: {$result['rotation_id']}\n";
echo "Old Address: {$result['old_address']}\n";
echo "Status: {$result['status']}\n";
echo "Message: {$result['message']}\n";
?>Phản hồi
Phản hồi thành công (200 OK)
json
{
"rotation_id": 42,
"user_id": 1234,
"address_type": "web",
"old_address": "TCurrentAddress1234567890123456789",
"status": "pending",
"message": "Address rotation request submitted. New address will be assigned within 5 minutes.",
"estimated_completion": "2026-03-14T12:35:00Z"
}Các trường phản hồi
| Trường | Loại | Mô tả |
|---|---|---|
| rotation_id | integer | ID yêu cầu xoay vòng duy nhất (dùng để kiểm tra trạng thái) |
| user_id | integer | Người dùng có địa chỉ đang được xoay vòng |
| address_type | string | Loại địa chỉ đang được xoay vòng (web hoặc tg) |
| old_address | string | Địa chỉ nạp tiền TRON hiện tại trước khi xoay vòng |
| status | string | Trạng thái yêu cầu: pending |
| message | string | Thông báo trạng thái dễ đọc cho người dùng |
| estimated_completion | string | Thời gian hoàn thành ước tính theo định dạng ISO 8601 |
Kiểm tra trạng thái xoay vòng
GET /apiv2/address/rotate/status/
Kiểm tra trạng thái của yêu cầu xoay vòng đã gửi trước đó.
bash
curl https://netts.io/apiv2/address/rotate/status/42 \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip"Phản hồi:
json
{
"rotation_id": 42,
"user_id": 1234,
"address_type": "web",
"status": "completed",
"old_address": "TOldAddress1234567890123456789012",
"new_address": "TNewAddress1234567890123456789012",
"created_at": "2026-03-14T12:30:00Z",
"completed_at": "2026-03-14T12:34:15Z"
}Các giá trị trạng thái
| Trạng thái | Mô tả |
|---|---|
pending | Yêu cầu đã được gửi, đang chờ xử lý |
processing | Hiện đang được xử lý |
completed | Địa chỉ mới đã được gán thành công |
failed | Đã xảy ra lỗi trong quá trình xoay vòng |
Kiểm tra xoay vòng đang chờ xử lý
GET /apiv2/address/rotate/pending
Kiểm tra xem người dùng có yêu cầu xoay vòng đang chờ xử lý hay không (hữu ích để vô hiệu hóa nút xoay vòng).
bash
curl "https://netts.io/apiv2/address/rotate/pending?address_type=web" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip"Phản hồi:
json
{
"user_id": 1234,
"address_type": "web",
"has_pending": true,
"pending_rotation": {
"rotation_id": 42,
"status": "pending",
"created_at": "2026-03-14T12:30:00Z"
}
}Ghi chú quan trọng
Thay đổi địa chỉ
Sau khi quá trình xoay vòng hoàn tất, địa chỉ nạp tiền hiện tại của bạn sẽ không còn chấp nhận tiền nạp nữa. Hãy đảm bảo:
- Rút bất kỳ số dư còn lại nào khỏi địa chỉ hiện tại trước khi yêu cầu xoay vòng
- Cập nhật mọi hệ thống bên ngoài có tham chiếu đến địa chỉ nạp tiền cũ của bạn
- Sử dụng địa chỉ mới cho tất cả các lần nạp tiền trong tương lai
Thời gian xử lý
Các yêu cầu xoay vòng được xử lý tự động. Một địa chỉ mới thường được chỉ định trong vòng 5 phút kể từ khi gửi yêu cầu.
- Chỉ cho phép một yêu cầu xoay vòng đang chờ xử lý cho mỗi người dùng đối với mỗi loại địa chỉ trong khoảng thời gian 7 ngày
- Nếu bạn đã có một yêu cầu xoay vòng đang chờ xử lý, yêu cầu sẽ bị từ chối với
409 Conflict - Cả địa chỉ
webvàtgđều có thể được xoay vòng độc lập - Người dùng cha có thể xoay vòng địa chỉ của người dùng SUB của họ bằng cách chỉ định tham số
user_id
Các phản hồi lỗi
Xung đột (409)
json
{
"detail": "User 1234 already has a pending web address rotation request"
}Yêu cầu không hợp lệ (400)
json
{
"detail": "User 1234 has no web deposit address"
}json
{
"detail": "address_type must be 'web' or 'tg'"
}Không tìm thấy (404)
json
{
"detail": "User 9999 not found"
}Bị cấm (403)
json
{
"detail": "Not authorized to rotate this user's address"
}Lỗi xác thực (401)
json
{
"detail": "X-API-KEY header required"
}Tham chiếu mã lỗi
| Trạng thái HTTP | Mô tả |
|---|---|
200 | Yêu cầu xoay vòng đã được gửi thành công |
400 | Yêu cầu không hợp lệ (không có địa chỉ, loại không hợp lệ) |
401 | Thiếu header khóa API |
403 | Không được phép / Khóa API hoặc IP không hợp lệ |
404 | Không tìm thấy người dùng / Không tìm thấy yêu cầu xoay vòng |
409 | Yêu cầu xoay vòng đang chờ xử lý đã tồn tại |
500 | Lỗi máy chủ nội bộ |
Các endpoint liên quan
- POST /apiv2/subusergen — Tạo người dùng SUB mới
- DELETE /apiv2/subuserdel — Xóa người dùng SUB
- GET /apiv2/userinfo — Lấy thông tin người dùng