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

POST /apiv2/address/rotate ​

Meminta rotasi alamat deposit. Alamat deposit saat ini akan diganti dengan yang baru. Permintaan dimasukkan ke dalam antrean pemrosesan dan diselesaikan secara otomatis dalam waktu 5 menit.

URL Endpoint ​

POST https://netts.io/apiv2/address/rotate

Header Permintaan ​

HeaderDiperlukanDeskripsi
Content-TypeYaapplication/json
X-API-KEYYaKunci API Anda dari dasbor Netts
X-Real-IPYaAlamat IP dari whitelist Anda

Isi Permintaan ​

json
{
    "user_id": 1234,
    "address_type": "web"
}

Parameter ​

ParameterTipeDiperlukanDefaultDeskripsi
user_idintegerTidakPengguna terautentikasiID pengguna target. Kosongkan untuk merotasi alamat Anda sendiri. Pengguna induk dapat menentukan ID SUB-user mereka
address_typestringTidak"web"Tipe alamat yang akan dirotasi: web atau tg

Otentikasi & Otorisasi ​

Endpoint ini memerlukan otentikasi dan otorisasi:

  1. Otentikasi: Kunci API yang valid + IP dari whitelist (sama seperti endpoint lainnya)
  2. Otorisasi:
    • Merotasi alamat Anda sendiri — selalu diizinkan
    • Merotasi alamat SUB-user Anda — diizinkan untuk pengguna induk
    • Merotasi alamat pengguna lain — ditolak dengan 403 Forbidden

Contoh Permintaan ​

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";
?>

Respons ​

Respons Berhasil (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"
}

Bidang Respons ​

BidangTipeDeskripsi
rotation_idintegerID unik permintaan rotasi (gunakan untuk pemeriksaan status)
user_idintegerPengguna yang alamatnya sedang dirotasi
address_typestringTipe alamat yang sedang dirotasi (web atau tg)
old_addressstringAlamat deposit TRON saat ini sebelum rotasi
statusstringStatus permintaan: pending
messagestringPesan status yang dapat dibaca manusia
estimated_completionstringPerkiraan waktu selesai dalam format ISO 8601

Periksa Status Rotasi ​

GET /apiv2/address/rotate/status/ ​

Memeriksa status permintaan rotasi yang telah dikirimkan sebelumnya.

bash
curl https://netts.io/apiv2/address/rotate/status/42 \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Respons:

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"
}

Nilai Status ​

StatusDeskripsi
pendingPermintaan dikirimkan, menunggu untuk diproses
processingSedang diproses
completedAlamat baru berhasil ditetapkan
failedTerjadi kesalahan selama rotasi

Periksa Rotasi Tertunda ​

GET /apiv2/address/rotate/pending ​

Memeriksa apakah pengguna memiliki permintaan rotasi yang tertunda (berguna untuk menonaktifkan tombol rotasi).

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"

Respons:

json
{
    "user_id": 1234,
    "address_type": "web",
    "has_pending": true,
    "pending_rotation": {
        "rotation_id": 42,
        "status": "pending",
        "created_at": "2026-03-14T12:30:00Z"
    }
}

Catatan Penting ​

Perubahan Alamat

Setelah rotasi selesai, alamat deposit Anda saat ini tidak akan lagi menerima deposit. Pastikan untuk:

  1. Menarik sisa saldo dari alamat saat ini sebelum meminta rotasi
  2. Memperbarui sistem eksternal apa pun yang merujuk ke alamat deposit lama Anda
  3. Menggunakan alamat baru untuk semua deposit mendatang

Waktu Pemrosesan

Permintaan rotasi diproses secara otomatis. Alamat baru biasanya ditetapkan dalam waktu 5 menit setelah pengiriman.

  • Hanya satu rotasi tertunda per pengguna per tipe alamat yang diizinkan dalam kurun waktu 7 hari
  • Jika Anda sudah memiliki rotasi tertunda, permintaan akan ditolak dengan 409 Conflict
  • Alamat web dan tg dapat dirotasi secara independen
  • Pengguna induk dapat merotasi alamat SUB-user mereka dengan menentukan parameter user_id

Respons Kesalahan ​

Conflict (409) ​

json
{
    "detail": "User 1234 already has a pending web address rotation request"
}

Bad Request (400) ​

json
{
    "detail": "User 1234 has no web deposit address"
}
json
{
    "detail": "address_type must be 'web' or 'tg'"
}

Not Found (404) ​

json
{
    "detail": "User 9999 not found"
}

Forbidden (403) ​

json
{
    "detail": "Not authorized to rotate this user's address"
}

Kesalahan Otentikasi (401) ​

json
{
    "detail": "X-API-KEY header required"
}

Referensi Kode Kesalahan ​

Status HTTPDeskripsi
200Permintaan rotasi berhasil dikirimkan
400Permintaan tidak valid (tidak ada alamat, tipe tidak valid)
401Header kunci API tidak ada
403Tidak diizinkan / Kunci API atau IP tidak valid
404Pengguna tidak ditemukan / Rotasi tidak ditemukan
409Rotasi tertunda sudah ada
500Kesalahan server internal

Endpoint Terkait ​