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_id | integer | Унікальний ID створеного SUB-користувача |
| google_id | string | Фіктивний ідентифікатор (формат: SUB + 18 цифр). Не є справжнім акаунтом Google — використовується виключно для внутрішньої ідентифікації SUB-користувача |
| string | Фіктивна електронна пошта (google_id + @gmail.com). Не є справжньою адресою електронної пошти — використовується виключно для внутрішньої ідентифікації | |
| name | string | Відображуване ім'я (за замовчуванням google_id). Можна змінити в панелі керування |
| deposit_address | string | Згенерована депозитна адреса TRON (за замовчуванням неактивна) |
| api_key | string | API-ключ для SUB-користувача (префікс: mock) |
| referral_code | string | Згенерований реферальний код (6 символів) |
| created_at | string | Мітка часу створення у форматі ISO 8601 |
| referrer_user_id | integer | ID батьківського користувача (акаунт, що створив цього SUB-користувача) |
| comment | string | Інструкції з використання та примітки |
Фіктивні дані 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-ключем і балансом
Порядок використання
- Створіть SUB-користувача через цю кінцеву точку
- Поповніть SUB-користувача, переказавши TRX на його депозитну адресу або перевівши баланс
- Використовуйте API-ключ SUB-користувача у наступних API-запитах (order1h, time/order тощо)
- Здійснюйте моніторинг через кінцеву точку 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-статус | Опис |
|---|---|
200 | SUB-користувача успішно створено |
401 | Відсутній заголовок API-ключа |
403 | Недійсний API-ключ або IP немає в білому списку |
422 | Помилка валідації запиту |
500 | Внутрішня помилка сервера |
Примітки
- Потрібне порожнє тіло запиту
{}(Content-Type має бути application/json) - Згенерована депозитна адреса є неактивною за замовчуванням
- Поля
google_idтаemailSUB-користувача є фіктивними даними (не справжніми акаунтами Google), що використовуються лише для внутрішньої ідентифікації - Ім'я та тег SUB-користувача можна змінити в панелі керування
- API-ключ SUB-користувача починається з префікса
mock - Перевірка білого списку IP використовує білий список батьківського користувача
- Кожен SUB-користувач має власний баланс, окремий від батьківського
- SUB-користувачів можна видалити через кінцеву точку DELETE /apiv2/subuserdel
- Депозитну адресу можна змінити через кінцеву точку POST /apiv2/address/rotate