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
}
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
status | string | Всегда "success" для успешных запросов |
timestamp | string | Временная метка сервера в формате YYYY-MM-DD HH:MM:SS |
user_id | integer | Внутренний ID пользователя |
user_info.email | string | Email адрес пользователя |
user_info.name | string | Отображаемое имя пользователя |
user_info.deposit_address | string | TRON адрес для депозитов |
stats.balance | number | Текущий баланс TRX |
stats.total_delegations | integer | Общее количество делегаций энергии |
stats.total_energy_delegated | integer | Общее количество делегированных единиц энергии |
stats.total_trx_spent | number | Общая сумма потраченных TRX на энергию |
stats.total_deposit | number | Общая сумма депозитов |
stats.avg_rate_sun_energy | number | Средний курс в Sun за единицу энергии |
stats.save_by_netts_percent | number | Процент экономии с Netts против сжигания TRX |
stats.save_in_dollars | number | Долларовая стоимость экономии |
network_info.trx_price | number | Текущая цена TRX в USD |
network_info.network_energy_fee | number | Текущая сетевая комиссия за энергию |
Ответы с ошибками
Ошибка аутентификации (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: Возвращается при превышении ограничений