# Эндпоинт информации о пользователе

Эндпоинт /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 в белый список

  1. Войдите в панель управления NETTS
  2. Перейдите на вкладку API: https://www.netts.io/workspace/dashboard.php?tab=api
  3. В разделе "IP Whitelist" нажмите кнопку "Add IP Address"
  4. Введите действительный IPv4 или IPv6 адрес
  5. Подтвердите добавление

Примечание: Запросы с 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 содержит:

Параметр Тип Описание
email 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 десятичными знаками для большей точности.