Skip to content
Translated page. The English version is the source of truth.

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/rotate

Header yêu cầu

HeaderBắt buộcMô tả
Content-Typeapplication/json
X-API-KEYKhóa API của bạn từ bảng điều khiển Netts
X-Real-IPĐị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ạiBắt buộcMặc địnhMô tả
user_idintegerKhôngNgười dùng đã xác thựcID 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_typestringKhô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ựcphân quyền:

  1. 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)
  2. 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ườngLoạiMô tả
rotation_idintegerID yêu cầu xoay vòng duy nhất (dùng để kiểm tra trạng thái)
user_idintegerNgười dùng có địa chỉ đang được xoay vòng
address_typestringLoại địa chỉ đang được xoay vòng (web hoặc tg)
old_addressstringĐịa chỉ nạp tiền TRON hiện tại trước khi xoay vòng
statusstringTrạng thái yêu cầu: pending
messagestringThông báo trạng thái dễ đọc cho người dùng
estimated_completionstringThờ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áiMô tả
pendingYêu cầu đã được gửi, đang chờ xử lý
processingHiệ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:

  1. 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
  2. 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
  3. 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ỉ webtg đề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 HTTPMô tả
200Yêu cầu xoay vòng đã được gửi thành công
400Yêu cầu không hợp lệ (không có địa chỉ, loại không hợp lệ)
401Thiếu header khóa API
403Không được phép / Khóa API hoặc IP không hợp lệ
404Không tìm thấy người dùng / Không tìm thấy yêu cầu xoay vòng
409Yêu cầu xoay vòng đang chờ xử lý đã tồn tại
500Lỗi máy chủ nội bộ

Các endpoint liên quan