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

POST /apiv2/subusergen

Створіть нового SUB-користувача (субаккаунт), прив'язаного до вашого основного акаунта. SUB-користувачі мають власний API-ключ, депозитну адресу та окремий баланс для незалежних операцій з Energy.

URL кінцевої точки

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

Заголовки запиту

ЗаголовокОбов'язковийОпис
Content-TypeТакapplication/json
X-API-KEYТакВаш API-ключ з панелі керування Netts
X-Real-IPТакIP-адреса з вашого білого списку

Тіло запиту

json
{}

Параметри не потрібні. SUB-користувач автоматично прив'язується до акаунта, визначеного за API-ключем.

Приклади запитів

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

Відповідь

Успішна відповідь (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."
}

Поля відповіді

ПолеТипОпис
user_idintegerУнікальний ID створеного SUB-користувача
google_idstringФіктивний ідентифікатор (формат: SUB + 18 цифр). Не є справжнім акаунтом Google — використовується виключно для внутрішньої ідентифікації SUB-користувача
emailstringФіктивна електронна пошта (google_id + @gmail.com). Не є справжньою адресою електронної пошти — використовується виключно для внутрішньої ідентифікації
namestringВідображуване ім'я (за замовчуванням google_id). Можна змінити в панелі керування
deposit_addressstringЗгенерована депозитна адреса TRON (за замовчуванням неактивна)
api_keystringAPI-ключ для SUB-користувача (префікс: mock)
referral_codestringЗгенерований реферальний код (6 символів)
created_atstringМітка часу створення у форматі ISO 8601
referrer_user_idintegerID батьківського користувача (акаунт, що створив цього SUB-користувача)
commentstringІнструкції з використання та примітки

Фіктивні дані Google

Поля google_id, email та name є фіктивними даними — вони не є реальними акаунтами Google або адресами електронної пошти. Ці поля існують виключно для внутрішньої ідентифікації SUB-користувача всередині системи. Ім'я та тег SUB-користувача можна змінити в панелі керування.

Як працюють SUB-користувачі

Ключові концепції

  • Окремий баланс: кожен SUB-користувач має власний баланс TRX, незалежний від батьківського акаунта
  • Спільний білий список IP: API-запити SUB-користувача перевіряються за білим списком IP-адрес батьківського акаунта
  • Власний API-ключ: кожен SUB-користувач отримує унікальний API-ключ для автентифікації
  • Прив'язка до батьківського акаунта: SUB-користувач назавжди прив'язаний до акаунта-творця через реферальну систему
  • Усі кінцеві точки API: SUB-користувачі можуть використовувати всі кінцеві точки API (order1h, time/order тощо) зі своїм власним API-ключем і балансом

Порядок використання

  1. Створіть SUB-користувача через цю кінцеву точку
  2. Поповніть SUB-користувача, переказавши TRX на його депозитну адресу або перевівши баланс
  3. Використовуйте API-ключ SUB-користувача у наступних API-запитах (order1h, time/order тощо)
  4. Здійснюйте моніторинг через кінцеву точку userinfo за допомогою API-ключа SUB-користувача

Відповіді з помилками

Помилка автентифікації (401)

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

Доступ заборонено (403)

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

Помилка валідації (422)

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

Внутрішня помилка сервера (500)

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

Довідник кодів помилок

HTTP-статусОпис
200SUB-користувача успішно створено
401Відсутній заголовок API-ключа
403Недійсний API-ключ або IP немає в білому списку
422Помилка валідації запиту
500Внутрішня помилка сервера

Примітки

  • Потрібне порожнє тіло запиту {} (Content-Type має бути application/json)
  • Згенерована депозитна адреса є неактивною за замовчуванням
  • Поля google_id та email SUB-користувача є фіктивними даними (не справжніми акаунтами Google), що використовуються лише для внутрішньої ідентифікації
  • Ім'я та тег SUB-користувача можна змінити в панелі керування
  • API-ключ SUB-користувача починається з префікса mock
  • Перевірка білого списку IP використовує білий список батьківського користувача
  • Кожен SUB-користувач має власний баланс, окремий від батьківського
  • SUB-користувачів можна видалити через кінцеву точку DELETE /apiv2/subuserdel
  • Депозитну адресу можна змінити через кінцеву точку POST /apiv2/address/rotate