Skip to content

POST /apiv2/time/status

Получение статуса всех TRON адресов в Host Mode для вашего аккаунта.

Обзор

Эндпоинт Time Status предоставляет комплексную информацию о всех ваших адресах в Host Mode, включая статусы делегации, количество циклов, балансы и историю заказов. Этот эндпоинт не требует указания конкретного адреса и возвращает полную картину вашей Host Mode активности.

URL эндпоинта

POST https://netts.io/apiv2/time/status

Аутентификация

Этот эндпоинт использует аутентификацию через JSON тело (не заголовки). Требуется только ваш API ключ, без указания конкретного адреса.

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

ЗаголовокОбязательныйОписание
Content-TypeДаapplication/json

Тело запроса

json
{
    "api_key": "ваш_api_ключ"
}

Параметры

ПараметрТипОбязательныйВалидацияОписание
api_keystringДаДолжен существовать в системеВаш API ключ для аутентификации

Валидация параметров

  • api_key: Должен быть действительным API ключом, связанным с вашим аккаунтом
  • IP адрес: IP вашего запроса должен быть в белом списке, связанном с вашим API ключом

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

cURL

bash
curl -X POST https://netts.io/apiv2/time/status \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY_HERE"
  }'

Python

python
import requests

url = "https://netts.io/apiv2/time/status"
data = {
    "api_key": "YOUR_API_KEY_HERE"
}

response = requests.post(url, json=data, verify=True)

if response.status_code == 200:
    result = response.json()
    if result['code'] == 0:
        data = result['data']
        summary = data['summary']
        
        print("=== ОБЩАЯ ИНФОРМАЦИЯ ===")
        print(f"Всего адресов: {summary['total_addresses']}")
        print(f"Активных адресов: {summary['active_addresses']}")
        print(f"В режиме infinity: {summary['infinity_mode_count']}")
        print(f"Всего заказано циклов: {summary['total_cycles_ordered']}")
        print(f"Открытых заказов: {summary['total_open_orders']}")
        
        print("\n=== СТАТИСТИКА ЗАКАЗОВ ===")
        stats = data['order_statistics']
        print(f"Всего заказов: {stats['total_orders']}")
        print(f"Открытых заказов: {stats['open_orders']}")
        print(f"Закрытых заказов: {stats['closed_orders']}")
        print(f"Циклов в открытых заказах: {stats['total_cycles_in_open_orders']}")
        print(f"Общая сумма трат: {stats['total_amount_spent']} TRX")
        
        if data['addresses']:
            print("\n=== АДРЕСА ===")
            for addr in data['addresses']:
                print(f"\nАдрес: {addr['address']}")
                print(f"  Статус: {addr['status']}")
                print(f"  Режим: {addr['mode']}")
                print(f"  Заказано циклов: {addr['cycles_ordered']}")
                print(f"  Установлено циклов: {addr['cycle_set']}")
                print(f"  Открытых заказов: {addr['open_orders']}")
    else:
        print(f"❌ Ошибка: {result['msg']}")
else:
    print(f"HTTP Ошибка: {response.status_code}")

Node.js

javascript
const axios = require('axios');

const url = 'https://netts.io/apiv2/time/status';
const data = {
    api_key: 'YOUR_API_KEY_HERE'
};

axios.post(url, data)
    .then(response => {
        const result = response.data;
        if (result.code === 0) {
            const data = result.data;
            console.log('=== ОБЩАЯ ИНФОРМАЦИЯ ===');
            console.log(`Всего адресов: ${data.summary.total_addresses}`);
            console.log(`Активных адресов: ${data.summary.active_addresses}`);
            console.log(`В режиме infinity: ${data.summary.infinity_mode_count}`);
            
            data.addresses.forEach(addr => {
                console.log(`\nАдрес: ${addr.address}`);
                console.log(`  Статус: ${addr.status}`);
                console.log(`  Режим: ${addr.mode}`);
                console.log(`  Циклы: ${addr.cycles_ordered}`);
            });
        } else {
            console.log(`❌ Ошибка: ${result.msg}`);
        }
    })
    .catch(error => {
        console.error('Ошибка запроса:', error.response?.data || error.message);
    });

Ответ

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

json
{
    "code": 0,
    "msg": "Status retrieved successfully",
    "data": {
        "summary": {
            "total_addresses": 3,
            "active_addresses": 2,
            "infinity_mode_count": 1,
            "total_cycles_ordered": 45,
            "total_open_orders": 2
        },
        "order_statistics": {
            "total_orders": 8,
            "open_orders": 2,
            "closed_orders": 6,
            "total_cycles_in_open_orders": 25,
            "total_amount_spent": 134.505
        },
        "addresses": [
            {
                "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
                "status": "active",
                "mode": "infinity",
                "cycles_ordered": 999999999,
                "cycle_set": 0,
                "open_orders": 1
            },
            {
                "address": "TExampleAddress1234567890123456789",
                "status": "paused", 
                "mode": "limited",
                "cycles_ordered": 10,
                "cycle_set": 10,
                "open_orders": 1
            }
        ]
    }
}

Поля ответа

ПолеТипОписание
codeintegerКод ответа (0 = успех, отрицательный = ошибка)
msgstringЧеловекочитаемое сообщение ответа
data.summaryobjectСводная информация по всем адресам
data.summary.total_addressesintegerОбщее количество адресов в Host Mode
data.summary.active_addressesintegerКоличество активных адресов
data.summary.infinity_mode_countintegerКоличество адресов в режиме infinity
data.summary.total_cycles_orderedintegerОбщее количество заказанных циклов
data.summary.total_open_ordersintegerКоличество открытых заказов
data.order_statisticsobjectСтатистика заказов
data.order_statistics.total_ordersintegerОбщее количество всех заказов
data.order_statistics.open_ordersintegerКоличество открытых заказов
data.order_statistics.closed_ordersintegerКоличество закрытых заказов
data.order_statistics.total_cycles_in_open_ordersintegerЦиклы в открытых заказах
data.order_statistics.total_amount_spentnumberОбщая потраченная сумма в TRX
data.addressesarrayМассив всех адресов в Host Mode
data.addresses[].addressstringTRON адрес
data.addresses[].statusstringСтатус ("active", "paused", "stopped")
data.addresses[].modestringРежим ("infinity", "limited")
data.addresses[].cycles_orderedintegerЗаказанное количество циклов
data.addresses[].cycle_setintegerУстановленное количество циклов
data.addresses[].open_ordersintegerКоличество открытых заказов для адреса

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

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

json
{
    "code": -1,
    "msg": "Invalid API key or IP not in whitelist",
    "data": null
}

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

json
{
    "code": -1,
    "msg": "Internal server error",
    "data": null
}

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

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

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

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

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

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

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

json
{
    "message": "API rate limit exceeded"
}

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

Интерпретация статусов

Статусы адресов

СтатусОписаниеДействие
activeАдрес активно делегирует энергиюНормальная работа
pausedДелегация приостановленаИспользуйте Time Infinity Start для возобновления
stoppedДелегация остановленаТребуется ручное возобновление

Режимы работы

РежимОписаниеХарактеристики
infinityНеограниченные циклыcycle_set = 0, автоматическое списание
limitedОграниченные циклыcycle_set > 0, фиксированное количество

Мониторинг и анализ

Ключевые метрики

  • total_addresses: Отслеживайте рост количества управляемых адресов
  • active_addresses: Мониторьте активность системы
  • infinity_mode_count: Контролируйте unlimited подписки
  • total_amount_spent: Анализируйте затраты на Host Mode

Рекомендации по мониторингу

  1. Регулярные проверки: Вызывайте этот эндпоинт каждые 10-15 минут
  2. Alerting: Настройте оповещения на изменения статусов
  3. Балансы: Отслеживайте баланс циклов и TRX
  4. Производительность: Анализируйте эффективность делегаций

Примечания

  • Глобальный статус: Возвращает информацию обо всех адресах, не требует указания конкретного
  • Реальное время: Данные обновляются в реальном времени из базы данных
  • Комплексная статистика: Включает сводки, детали адресов и статистику заказов
  • Аутентификация: Аутентификация только через API ключ в теле запроса
  • Мониторинг: Идеально подходит для dashboard и автоматического мониторинга
  • Детализация: Предоставляет детальную информацию для анализа использования