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

POST /apiv2/subusergen

Buat SUB-user (sub-akun) baru yang terhubung ke akun utama Anda. SUB-user memiliki API key, alamat deposit, dan saldo terpisah masing-masing untuk operasi energi yang independen.

URL Endpoint

POST https://netts.io/apiv2/subusergen

Header Permintaan

HeaderWajibDeskripsi
Content-TypeYaapplication/json
X-API-KEYYaAPI key Anda dari dasbor Netts
X-Real-IPYaAlamat IP dari whitelist Anda

Badan Permintaan

json
{}

Tidak ada parameter yang diperlukan. SUB-user secara otomatis terhubung ke akun yang diidentifikasi oleh API key.

Contoh Permintaan

cURL

bash
curl -X POST https://netts.io/apiv2/subusergen \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -d '{}'

Python

python
import requests

url = "https://netts.io/apiv2/subusergen"
headers = {
    "Content-Type": "application/json",
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip"
}

response = requests.post(url, headers=headers, json={})
data = response.json()

if response.status_code == 200:
    print(f"SUB User ID: {data['user_id']}")
    print(f"Google ID: {data['google_id']}")
    print(f"Email: {data['email']}")
    print(f"Deposit Address: {data['deposit_address']}")
    print(f"API Key: {data['api_key']}")
    print(f"Referral Code: {data['referral_code']}")
    print(f"Parent User ID: {data['referrer_user_id']}")
else:
    print(f"Error: {data.get('detail', 'Unknown error')}")

Node.js

javascript
const axios = require('axios');

async function createSubUser(apiKey, whitelistedIp) {
    const url = 'https://netts.io/apiv2/subusergen';

    const response = await axios.post(url, {}, {
        headers: {
            'Content-Type': 'application/json',
            'X-API-KEY': apiKey,
            'X-Real-IP': whitelistedIp
        },
        timeout: 30000
    });

    const data = response.data;
    console.log(`SUB User ID: ${data.user_id}`);
    console.log(`API Key: ${data.api_key}`);
    console.log(`Deposit Address: ${data.deposit_address}`);
    return data;
}

// Usage
createSubUser('your_api_key', 'your_whitelisted_ip')
    .then(result => console.log('Created:', result))
    .catch(err => console.error('Error:', err.response?.data || err.message));

PHP

php
<?php
$url = 'https://netts.io/apiv2/subusergen';

$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' => '{}',
        'timeout' => 30
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);

echo "SUB User ID: {$data['user_id']}\n";
echo "API Key: {$data['api_key']}\n";
echo "Deposit Address: {$data['deposit_address']}\n";
?>

Respons

Respons Berhasil (200 OK)

json
{
    "user_id": 1379,
    "google_id": "SUB123456789012345678",
    "email": "[email protected]",
    "name": "SUB123456789012345678",
    "deposit_address": "TExampleAddress1234567890123456789",
    "api_key": "mock1234567890abcdef1234567890ab",
    "referral_code": "A2B4K9",
    "created_at": "2026-03-14T12:00:00",
    "referrer_user_id": 42,
    "comment": "SUB user linked to main user (referrer_user_id). Google ID, Email and Name are mock data (not real) that can be updated via separate endpoint. For API services usage, requests must include this SUB user's API key and IP from main user's whitelist. Calculations use SUB user's balance. Generated deposit address is not active."
}

Bidang Respons

BidangTipeDeskripsi
user_idintegerID unik dari SUB-user yang dibuat
google_idstringPengidentifikasi palsu (format: SUB + 18 digit). Bukan akun Google asli — hanya digunakan untuk identifikasi internal SUB-user
emailstringEmail palsu (google_id + @gmail.com). Bukan alamat email asli — hanya digunakan untuk identifikasi internal
namestringNama tampilan (default adalah google_id). Dapat diubah di dasbor
deposit_addressstringAlamat deposit TRON yang dibuat (tidak aktif secara default)
api_keystringAPI key untuk SUB-user (awalan: mock)
referral_codestringKode referral yang dibuat (6 karakter)
created_atstringTimestamp pembuatan dalam format ISO 8601
referrer_user_idintegerID pengguna induk (akun yang membuat SUB-user ini)
commentstringPetunjuk penggunaan dan catatan

Data Google Palsu

Bidang google_id, email, dan name adalah data palsu — data tersebut bukan akun Google atau alamat email asli. Bidang-bidang ini hadir semata-mata untuk identifikasi internal SUB-user di dalam sistem. Nama dan tag dari SUB-user dapat diubah di dasbor.

Cara Kerja SUB-User

Konsep Utama

  • Saldo terpisah: Setiap SUB-user memiliki saldo TRX sendiri yang independen dari induknya
  • Whitelist IP bersama: Permintaan API SUB-user divalidasi terhadap whitelist IP milik induk
  • API key sendiri: Setiap SUB-user mendapatkan API key unik untuk autentikasi
  • Keterikatan induk: SUB-user terhubung secara permanen ke akun pembuat melalui sistem referral
  • Semua endpoint API: SUB-user dapat menggunakan semua endpoint API (order1h, time/order, dll.) dengan API key dan saldo mereka sendiri

Alur Penggunaan

  1. Buat SUB-user melalui endpoint ini
  2. Isi dana SUB-user dengan mendepositkan TRX ke alamat depositnya atau mentransfer saldo
  3. Gunakan API key SUB-user pada permintaan API berikutnya (order1h, time/order, dll.)
  4. Pantau melalui endpoint userinfo menggunakan API key SUB-user

Respons Kesalahan

Kesalahan Autentikasi (401)

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

Dilarang (403)

json
{
    "detail": "Invalid API key or IP not whitelisted"
}

Kesalahan Validasi (422)

json
{
    "detail": [...],
    "body": {...}
}

Kesalahan Server Internal (500)

json
{
    "detail": "Failed to create mock user: ..."
}

Referensi Kode Kesalahan

Status HTTPDeskripsi
200SUB-user berhasil dibuat
401Header API key tidak ada
403API key tidak valid atau IP tidak ada dalam whitelist
422Kesalahan validasi permintaan
500Kesalahan server internal

Catatan

  • Badan permintaan kosong {} wajib disertakan (Content-Type harus berupa application/json)
  • Alamat deposit yang dibuat tidak aktif secara default
  • google_id dan email milik SUB-user adalah data palsu (bukan akun Google asli), hanya digunakan untuk identifikasi internal
  • Nama dan tag SUB-user dapat diubah di dasbor
  • API key milik SUB-user diawali dengan prefiks mock
  • Validasi whitelist IP menggunakan whitelist milik pengguna induk
  • Setiap SUB-user memiliki saldo sendiri, terpisah dari induk
  • SUB-user dapat dihapus melalui endpoint DELETE /apiv2/subuserdel
  • Alamat deposit dapat dirotasi melalui endpoint POST /apiv2/address/rotate