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

POST /apiv2/subusergen

Crea un nuevo SUB-usuario (subcuenta) vinculado a tu cuenta principal. Los SUB-usuarios tienen su propia clave API, dirección de depósito y saldo independiente para operaciones de Energy por separado.

URL del Endpoint

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

Encabezados de Solicitud

EncabezadoRequeridoDescripción
Content-Typeapplication/json
X-API-KEYTu clave API del panel de Netts
X-Real-IPDirección IP de tu lista blanca

Cuerpo de la Solicitud

json
{}

No se requieren parámetros. El SUB-usuario se vincula automáticamente a la cuenta identificada por la clave API.

Solicitudes de Ejemplo

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

Respuesta

Respuesta Exitosa (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."
}

Campos de Respuesta

CampoTipoDescripción
user_idintegerID único del SUB-usuario creado
google_idstringIdentificador ficticio (formato: SUB + 18 dígitos). No es una cuenta de Google real; se utiliza únicamente para la identificación interna del SUB-usuario
emailstringCorreo electrónico ficticio (google_id + @gmail.com). No es una dirección de correo electrónico real; se utiliza únicamente para la identificación interna
namestringNombre visible (por defecto es google_id). Se puede cambiar en el panel de control
deposit_addressstringDirección de depósito TRON generada (no activa por defecto)
api_keystringClave API para el SUB-usuario (prefijo: mock)
referral_codestringCódigo de referencia generado (6 caracteres)
created_atstringMarca de tiempo de creación en formato ISO 8601
referrer_user_idintegerID del usuario padre (la cuenta que creó este SUB-usuario)
commentstringInstrucciones de uso y notas

Datos Ficticios de Google

Los campos google_id, email y name son datos ficticios; no son cuentas de Google ni direcciones de correo electrónico reales. Estos campos existen únicamente para la identificación interna del SUB-usuario dentro del sistema. El nombre y la etiqueta de un SUB-usuario se pueden cambiar en el panel de control.

Cómo Funcionan los SUB-Usuarios

Conceptos Clave

  • Saldo separado: Cada SUB-usuario tiene su propio saldo en TRX independiente del usuario padre
  • Lista blanca de IP compartida: Las solicitudes a la API del SUB-usuario se validan con respecto a la lista blanca de IP del usuario padre
  • Clave API propia: Cada SUB-usuario obtiene una clave API única para autenticación
  • Vinculación con el usuario padre: El SUB-usuario está vinculado permanentemente a la cuenta creadora mediante el sistema de referidos
  • Todos los endpoints de la API: Los SUB-usuarios pueden utilizar todos los endpoints de la API (order1h, time/order, etc.) con su propia clave API y saldo

Flujo de Uso

  1. Crear el SUB-usuario mediante este endpoint
  2. Financiar el SUB-usuario depositando TRX en su dirección de depósito o transfiriendo saldo
  3. Utilizar la clave API del SUB-usuario en solicitudes de API posteriores (order1h, time/order, etc.)
  4. Monitorear mediante el endpoint userinfo utilizando la clave API del SUB-usuario

Respuestas de Error

Error de Autenticación (401)

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

Prohibido (403)

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

Error de Validación (422)

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

Error Interno del Servidor (500)

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

Referencia de Códigos de Error

Estado HTTPDescripción
200SUB-usuario creado con éxito
401Falta el encabezado de la clave API
403Clave API inválida o IP no incluida en la lista blanca
422Error de validación de la solicitud
500Error interno del servidor

Notas

  • Se requiere un cuerpo de solicitud vacío {} (Content-Type debe ser application/json)
  • La dirección de depósito generada no está activa por defecto
  • Los campos google_id y email del SUB-usuario son datos ficticios (no son cuentas de Google reales), utilizados únicamente para identificación interna
  • El nombre y la etiqueta del SUB-usuario se pueden cambiar en el panel de control
  • La clave API del SUB-usuario comienza con el prefijo mock
  • La validación de la lista blanca de IP utiliza la lista blanca del usuario padre
  • Cada SUB-usuario tiene su propio saldo, separado del usuario padre
  • Los SUB-usuarios se pueden eliminar a través del endpoint DELETE /apiv2/subuserdel
  • La dirección de depósito se puede rotar a través del endpoint POST /apiv2/address/rotate