# Эндпоинт информации о пользователе
Эндпоинт /userinfo
предоставляет подробную информацию об аутентифицированном пользователе, включая данные аккаунта, баланс, статистику использования и информацию о сети.
# URL эндпоинта
GET https://netts.io/apiv2/userinfo
# Аутентификация
Этот эндпоинт требует аутентификации с помощью API-ключа. Подробности смотрите на странице Аутентификация.
# Заголовки запроса
Заголовок | Обязательный | Описание |
---|---|---|
X-API-KEY | Да | Ваш API-ключ NETTS |
X-Real-IP | Да | IP-адрес, включенный в белый список для вашего API-ключа |
Content-Type | Нет | application/json |
# IP Белый список
Все API-запросы должны поступать с IP-адресов, добавленных в белый список. Вы можете добавить до 3 IP-адресов в белый список на странице панели управления (opens new window).
# Как добавить IP в белый список
- Войдите в панель управления NETTS
- Перейдите на вкладку API: https://www.netts.io/workspace/dashboard.php?tab=api
- В разделе "IP Whitelist" нажмите кнопку "Add IP Address"
- Введите действительный IPv4 или IPv6 адрес
- Подтвердите добавление
Примечание: Запросы с IP-адресов, которые не включены в белый список, будут отклонены с ошибкой аутентификации.
# Ответ
Ответ включает информацию о пользователе, статистику аккаунта и текущие параметры сети.
# Параметры ответа
Параметр | Тип | Описание |
---|---|---|
status | string | Статус запроса ("success" или "error") |
timestamp | string | Временная метка ответа в формате "YYYY-MM-DD HH:MM:SS" |
user_id | integer | Уникальный идентификатор пользователя |
user_info | object | Информация об аккаунте пользователя |
stats | object | Статистика и данные об использовании пользователя |
network_info | object | Текущие параметры сети |
# Структура объекта User Info
Объект user_info
содержит:
Параметр | Тип | Описание |
---|---|---|
string | Адрес электронной почты пользователя | |
name | string | Имя пользователя |
# Структура объекта Stats
Объект stats
содержит:
Параметр | Тип | Описание |
---|---|---|
balance | number | Текущий баланс аккаунта в TRX |
total_delegations | integer | Общее количество делегирований энергии |
total_energy_delegated | integer | Общее количество делегированной энергии |
total_trx_spent | number | Общая сумма TRX, потраченная на делегирование энергии |
total_deposit | number | Общая сумма, внесенная на аккаунт в TRX |
avg_rate_sun_energy | number | Средний курс в SUN за единицу энергии |
save_by_netts_percent | number | Процент экономии при использовании NETTS по сравнению с прямой заморозкой в сети TRON |
save_in_dollars | number | Сумма экономии в USD при использовании NETTS |
# Структура объекта Network Info
Объект network_info
содержит:
Параметр | Тип | Описание |
---|---|---|
trx_price | number | Текущая цена TRX в USD |
network_energy_fee | number | Текущая комиссия за энергию в сети в TRX |
# Примеры запросов
# Пример CURL
curl -X GET "https://netts.io/apiv2/userinfo" \
-H "Content-Type: application/json" \
-H "X-API-KEY: ваш_api_ключ" \
-H "X-Real-IP: ваш_ip_из_белого_списка"
# Пример Python
import requests
import json
# Конфигурация запроса
url = "https://netts.io/apiv2/userinfo"
api_key = "ваш_api_ключ" # Ваш API ключ
headers = {
"Content-Type": "application/json",
"X-API-KEY": api_key,
"X-Real-IP": "ваш_ip_из_белого_списка" # IP из белого списка
}
try:
# Отправляем GET-запрос к API информации о пользователе
response = requests.get(url, headers=headers, timeout=15)
# Обрабатываем JSON-ответ
if response.status_code == 200:
data = response.json()
print(json.dumps(data, ensure_ascii=False, indent=2))
# Выводим информацию о пользователе
user_info = data.get('user_info', {})
print(f"\nПользователь: {user_info.get('name')} ({user_info.get('email')})")
# Выводим статистику
stats = data.get('stats', {})
print(f"Баланс: {stats.get('balance')} TRX")
print(f"Общая делегированная энергия: {stats.get('total_energy_delegated')}")
print(f"Экономия с NETTS: {stats.get('save_by_netts_percent')}%")
else:
print(f"Ошибка: {response.status_code}")
print(response.text)
except Exception as e:
print(f"Произошла ошибка: {str(e)}")
# Пример ответа
{
"status": "success",
"timestamp": "2025-04-23 14:30:45",
"user_id": 12345,
"user_info": {
"email": "[email protected]",
"name": "Иван Петров"
},
"stats": {
"balance": 150.25,
"total_delegations": 42,
"total_energy_delegated": 5502000,
"total_trx_spent": 235.75,
"total_deposit": 500.00,
"avg_rate_sun_energy": 425.32,
"save_by_netts_percent": 28.45,
"save_in_dollars": 12.35
},
"network_info": {
"trx_price": 0.0849,
"network_energy_fee": 0.000420
}
}
# Ответы с ошибками
Код статуса | Описание |
---|---|
401 | Ошибка аутентификации (неверный API-ключ или IP-адрес не в белом списке) |
403 | Доступ запрещен (IP-адрес не добавлен в белый список) |
404 | Пользователь не найден |
429 | Превышен лимит запросов (слишком много запросов) |
500 | Внутренняя ошибка сервера |
# Примеры ответов с ошибкой
{
"status": "error",
"code": -1,
"msg": "Invalid API key or IP not in whitelist"
}
{
"status": "error",
"code": -2,
"msg": "Your IP address is not whitelisted"
}
# Примечания
- Поле
balance
в статистике показывает текущий доступный баланс для делегирования энергии. - Поле
total_deposit
показывает общую сумму, когда-либо внесенную на аккаунт. - Поле
save_by_netts_percent
показывает, сколько пользователь экономит, используя NETTS по сравнению с прямой заморозкой TRX в сети TRON. - Значение
avg_rate_sun_energy
вычисляется как (total_trx_spent
/total_energy_delegated
) * 1 000 000. - Все суммы в TRX отображаются с 2 десятичными знаками.
- Цена TRX отображается с 4 десятичными знаками.
- Комиссия за энергию в сети отображается с 6 десятичными знаками для большей точности.