Skip to content

GET /apiv2/userinfo

Получение информации о пользователе, включая баланс и статистику использования.

URL эндпоинта

GET https://netts.io/apiv2/userinfo

Заголовки запроса

ЗаголовокОбязательныйОписание
X-API-KEYДаВаш API ключ
X-Real-IPДаIP адрес из белого списка

Параметры запроса

Параметры не требуются - информация о пользователе определяется по API ключу.

Примеры запросов

cURL

bash
curl -X GET https://netts.io/apiv2/userinfo \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Python

python
import requests

url = "https://netts.io/apiv2/userinfo"
headers = {
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip"
}

response = requests.get(url, headers=headers)
data = response.json()

if response.status_code == 200:
    print(f"Статус: {data.get('status')}")
    print(f"ID пользователя: {data.get('user_id')}")
    
    user_info = data.get('user_info', {})
    print(f"Email: {user_info.get('email')}")
    print(f"Имя: {user_info.get('name')}")
    print(f"Адрес депозита: {user_info.get('deposit_address')}")
    
    stats = data.get('stats', {})
    print(f"Баланс: {stats.get('balance')} TRX")
    print(f"Всего делегаций: {stats.get('total_delegations')}")
    print(f"Всего энергии делегировано: {stats.get('total_energy_delegated')}")
    print(f"Всего TRX потрачено: {stats.get('total_trx_spent')} TRX")
    print(f"Средний курс: {stats.get('avg_rate_sun_energy')} Sun/Energy")
    print(f"Экономия: {stats.get('save_by_netts_percent')}%")
    print(f"Экономия в USD: ${stats.get('save_in_dollars')}")
    
    network_info = data.get('network_info', {})
    print(f"Цена TRX: ${network_info.get('trx_price')}")
    print(f"Сетевая комиссия энергии: {network_info.get('network_energy_fee')}")
else:
    print(f"Ошибка: {data.get('message', 'Неизвестная ошибка')}")

Node.js

javascript
const axios = require('axios');

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

async function getUserInfo() {
    try {
        const response = await axios.post(url, {}, { headers });
        console.log(response.data);
    } catch (error) {
        console.error('Error:', error.response.data);
    }
}

getUserInfo();

PHP

php
<?php
$url = 'https://netts.io/apiv2/userinfo';
$headers = [
    'Content-Type: application/json',
    'X-API-KEY: your_api_key',
    'X-Real-IP: your_whitelisted_ip'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    $data = json_decode($response, true);
    print_r($data);
} else {
    echo "Error: HTTP $httpCode\n";
    echo $response;
}
?>

Ответ

Успешный ответ (200 OK)

json
{
    "status": "success",
    "timestamp": "2025-09-02 05:56:11",
    "user_id": 6,
    "user_info": {
        "email": "[email protected]",
        "name": "Имя пользователя",
        "deposit_address": "TDepositAddress1234567890123456789"
    },
    "stats": {
        "balance": 28361.15,
        "total_delegations": 96756,
        "total_energy_delegated": 21687058023,
        "total_trx_spent": 832181.95,
        "total_deposit": 0,
        "avg_rate_sun_energy": 38.37,
        "save_by_netts_percent": 61.63,
        "save_in_dollars": 453267.36
    },
    "network_info": {
        "trx_price": 0.3391,
        "network_energy_fee": 100.0
    }
}

Поля ответа

ПолеТипОписание
statusstringВсегда "success" для успешных запросов
timestampstringВременная метка сервера в формате YYYY-MM-DD HH:MM:SS
user_idintegerВнутренний ID пользователя
user_info.emailstringEmail адрес пользователя
user_info.namestringОтображаемое имя пользователя
user_info.deposit_addressstringTRON адрес для депозитов
stats.balancenumberТекущий баланс TRX
stats.total_delegationsintegerОбщее количество делегаций энергии
stats.total_energy_delegatedintegerОбщее количество делегированных единиц энергии
stats.total_trx_spentnumberОбщая сумма потраченных TRX на энергию
stats.total_depositnumberОбщая сумма депозитов
stats.avg_rate_sun_energynumberСредний курс в Sun за единицу энергии
stats.save_by_netts_percentnumberПроцент экономии с Netts против сжигания TRX
stats.save_in_dollarsnumberДолларовая стоимость экономии
network_info.trx_pricenumberТекущая цена TRX в USD
network_info.network_energy_feenumberТекущая сетевая комиссия за энергию

Ответы с ошибками

Ошибка аутентификации (401)

json
{
    "status": "error",
    "code": 401,
    "message": "Invalid API key or IP not in whitelist"
}

Внутренняя ошибка сервера (500)

json
{
    "status": "error", 
    "message": "Internal server error"
}

Ограничения частоты запросов

Следующие ограничения применяются к этому эндпоинту (на IP адрес):

ПериодЛимитОписание
1 минута6 запросовМаксимум 6 запросов в минуту

Заголовки ограничений

API возвращает информацию об ограничениях в заголовках ответа:

http
RateLimit-Limit: 6
RateLimit-Remaining: 5
RateLimit-Reset: 45
X-RateLimit-Limit-Minute: 6
X-RateLimit-Remaining-Minute: 5
Retry-After: 45

Превышение лимита (429)

json
{
    "message": "API rate limit exceeded",
    "request_id": "70257e0476dc396a11875532a45ce037"
}

При превышении лимита ожидайте время, указанное в заголовке Retry-After, перед следующим запросом.

Примечания

  • Тело запроса не требуется - это GET запрос
  • Информация о пользователе определяется по предоставленному API ключу
  • Все значения TRX в десятичном формате
  • Значения энергии в стандартных единицах энергии TRON
  • Временная метка указана во времени сервера (UTC)
  • Ограничения частоты: Применяются на IP адрес с несколькими временными окнами
  • Код ошибки 429: Возвращается при превышении ограничений