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_key | string | Да | Должен существовать в системе | Ваш 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
}
]
}
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
code | integer | Код ответа (0 = успех, отрицательный = ошибка) |
msg | string | Человекочитаемое сообщение ответа |
data.summary | object | Сводная информация по всем адресам |
data.summary.total_addresses | integer | Общее количество адресов в Host Mode |
data.summary.active_addresses | integer | Количество активных адресов |
data.summary.infinity_mode_count | integer | Количество адресов в режиме infinity |
data.summary.total_cycles_ordered | integer | Общее количество заказанных циклов |
data.summary.total_open_orders | integer | Количество открытых заказов |
data.order_statistics | object | Статистика заказов |
data.order_statistics.total_orders | integer | Общее количество всех заказов |
data.order_statistics.open_orders | integer | Количество открытых заказов |
data.order_statistics.closed_orders | integer | Количество закрытых заказов |
data.order_statistics.total_cycles_in_open_orders | integer | Циклы в открытых заказах |
data.order_statistics.total_amount_spent | number | Общая потраченная сумма в TRX |
data.addresses | array | Массив всех адресов в Host Mode |
data.addresses[].address | string | TRON адрес |
data.addresses[].status | string | Статус ("active", "paused", "stopped") |
data.addresses[].mode | string | Режим ("infinity", "limited") |
data.addresses[].cycles_ordered | integer | Заказанное количество циклов |
data.addresses[].cycle_set | integer | Установленное количество циклов |
data.addresses[].open_orders | integer | Количество открытых заказов для адреса |
Ответы с ошибками
Ошибка аутентификации (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
Рекомендации по мониторингу
- Регулярные проверки: Вызывайте этот эндпоинт каждые 10-15 минут
- Alerting: Настройте оповещения на изменения статусов
- Балансы: Отслеживайте баланс циклов и TRX
- Производительность: Анализируйте эффективность делегаций
Примечания
- Глобальный статус: Возвращает информацию обо всех адресах, не требует указания конкретного
- Реальное время: Данные обновляются в реальном времени из базы данных
- Комплексная статистика: Включает сводки, детали адресов и статистику заказов
- Аутентификация: Аутентификация только через API ключ в теле запроса
- Мониторинг: Идеально подходит для dashboard и автоматического мониторинга
- Детализация: Предоставляет детальную информацию для анализа использования