Skip to content

POST /apiv2/time/add

Добавление TRON адреса в Host Mode для автоматического непрерывного управления энергией.

Обзор

Эндпоинт Time Add регистрирует TRON адрес для управления в Host Mode, активируя автоматические 24-часовые циклы делегации энергии. После добавления адрес будет получать 131,000 единиц энергии с автоматическим обновлением на основе паттернов использования.

URL эндпоинта

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

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

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

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

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

Тело запроса

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

Параметры

ПараметрТипОбязательныйВалидацияОписание
api_keystringДаДолжен существовать в системеВаш API ключ для аутентификации и биллинга
addressstringДаФормат TRC-20TRON адрес для добавления в Host Mode (должен начинаться с 'T' и содержать 34 символа)

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

  • api_key: Должен быть действительным API ключом, связанным с вашим аккаунтом и иметь достаточный баланс
  • address: Должен соответствовать формату TRC-20 ^T[1-9A-HJ-NP-Za-km-z]{33}$
  • IP адрес: IP вашего запроса должен быть в белом списке, связанном с вашим API ключом

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

cURL

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

Python

python
import requests

url = "https://netts.io/apiv2/time/add"
data = {
    "api_key": "YOUR_API_KEY_HERE", 
    "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}

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

if response.status_code == 200:
    result = response.json()
    if result['code'] == 0:
        print(f"✅ Адрес добавлен успешно: {result['data']['address']}")
        print(f"Временная метка: {result['data']['timestamp']}")
    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/add';
const data = {
    api_key: 'YOUR_API_KEY_HERE',
    address: 'TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE'
};

axios.post(url, data)
    .then(response => {
        const result = response.data;
        if (result.code === 0) {
            console.log(`✅ Адрес добавлен: ${result.data.address}`);
        } else {
            console.log(`❌ Ошибка: ${result.msg}`);
        }
    })
    .catch(error => {
        console.error('Запрос не удался:', error.response?.data || error.message);
    });

Ответ

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

json
{
    "code": 0,
    "msg": "Address added to Host Mode successfully",
    "data": {
        "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
        "timestamp": "2025-09-02T07:30:15.123456"
    }
}

Поля ответа

ПолеТипОписание
codeintegerКод ответа (0 = успех, отрицательный = ошибка)
msgstringЧеловекочитаемое сообщение ответа
data.addressstringTRON адрес который был добавлен
data.timestampstringISO временная метка когда адрес был добавлен

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

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

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

Неверный формат адреса (400)

json
{
    "code": -1,
    "msg": "Invalid TRC-20 address format",
    "data": null
}

Адрес уже существует (400)

json
{
    "code": -1,
    "msg": "This address is already managed in Host Mode",
    "data": null
}

Ошибка базы данных (500)

json
{
    "code": -1,
    "msg": "Database error adding address",
    "data": null
}

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

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

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

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

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

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

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

http
RateLimit-Limit: 1
RateLimit-Remaining: 0
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 1
X-RateLimit-Remaining-Second: 0
X-RateLimit-Limit-Minute: 60
X-RateLimit-Remaining-Minute: 59
Retry-After: 1

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

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

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

Что происходит после добавления адреса

  1. Регистрация в базе данных: Адрес регистрируется в системе Host Mode
  2. Установка статуса: Статус адреса устанавливается в 0 (готов к активации)
  3. Режим циклов: Адрес устанавливается в режим infinity по умолчанию (cycle_set = 0)
  4. Готовность к энергии: Адрес теперь готов получать автоматическую делегацию энергии

Поведение Host Mode

После добавления адреса в Host Mode:

  • Количество энергии: 131,000 единиц энергии за делегацию
  • Длительность: 24 часа на цикл делегации
  • Авто-обновление: Энергия автоматически обновляется когда:
    • Обнаружен USDT перевод (немедленный возврат + переделегация)
    • Прошло 24 часа без активности (автоматическое обновление)
  • Потребление циклов: Каждая делегация потребляет 1 цикл из вашего баланса

Безопасность и валидация

Валидация адреса

  • Проверка формата: Адрес должен соответствовать формату TRC-20 T[1-9A-HJ-NP-Za-km-z]{33}
  • Проверка длины: Ровно 34 символа
  • Предотвращение дубликатов: Нельзя добавить один адрес дважды

Безопасность аутентификации

  • Валидация API ключа: Ключ должен существовать и быть активным
  • IP белый список: IP запроса должен быть в белом списке вашего аккаунта
  • Проверка пользователя: Система проверяет TG и обычных пользователей

Безопасность базы данных

  • Безопасность транзакций: Использует транзакции базы данных для консистентности
  • Защита от откатов: Автоматический откат при ошибках
  • Пулинг соединений: Безопасное управление соединениями с HAProxy

Технические детали

Архитектура сервиса

  • Порт: 9010
  • Framework: FastAPI с Pydantic моделями
  • База данных: PostgreSQL с пулингом соединений
  • Балансировка нагрузки: HAProxy для read/write операций
  • Логирование: Подробное логирование в /path/to/your/logs/time_api.log

Операции с базой данных

  • Таблица: netts_web_hosting_mode
  • Операция: INSERT новой записи
  • Значения по умолчанию:
    • status = 0 (готов)
    • cycle_set = 0 (режим infinity)
  • Временные метки: Автоматические created_at и updated_at

Связанные эндпоинты

После добавления адреса вы можете:

  • Time Status - Проверить статус адреса и циклы
  • Time Order - Купить определенное количество циклов
  • Time Infinity Start - Активировать неограниченные циклы
  • Time Stop - Временно приостановить делегацию энергии
  • Time Delete - Удалить адрес из Host Mode

Лучшие практики

Перед добавлением адреса

  1. Проверить адрес: Дважды проверить правильность TRON адреса и его активацию
  2. Проверить баланс: Убедиться в достаточности TRX баланса для циклов
  3. IP белый список: Подтвердить что ваш IP находится в белом списке
  4. Тестировать API ключ: Проверить что API ключ работает с другими эндпоинтами

После добавления адреса

  1. Мониторить статус: Использовать эндпоинт Time Status для отслеживания циклов
  2. Установить циклы: Использовать Time Order для покупки определенных циклов при необходимости
  3. Активировать Infinity: Использовать Time Infinity Start для непрерывной работы
  4. Отслеживать использование: Мониторить ваши циклы делегации энергии и затраты

Устранение неполадок

Частые проблемы

ПроблемаПричинаРешение
Ошибка аутентификацииНеверный API ключ или IP не в белом спискеПроверить API ключ и добавить IP в белый список
Неверный формат адресаАдрес не соответствует формату TRC-20Проверить что адрес 34 символа начинающихся с 'T'
Адрес уже существуетПопытка добавить дублирующийся адресПроверить существующие адреса через Time Status
Ошибка базы данныхВременная проблема базы данныхПовторить запрос через несколько секунд

Справочник кодов ошибок

КодHTTP статусОписаниеТребуемое действие
0200УспехНет - адрес добавлен успешно
-1400/401/500Различные ошибкиПроверить сообщение об ошибке для подробностей

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

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

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

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

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

http
RateLimit-Limit: 1
RateLimit-Remaining: 0
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 1
X-RateLimit-Remaining-Second: 0
X-RateLimit-Limit-Minute: 60
X-RateLimit-Remaining-Minute: 59
Retry-After: 1

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

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

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

Примечания

  • Режим по умолчанию: Адреса добавляются в режим infinity по умолчанию (неограниченные циклы)
  • Делегация энергии: Система начнет управление энергией для этого адреса
  • Биллинг: Циклы списываются с баланса вашего аккаунта автоматически
  • Лимит адресов: Проверьте лимиты вашего аккаунта на максимальное количество адресов в Host Mode
  • Активация: Адрес должен быть активирован в сети TRON перед добавлением
  • Мониторинг: Используйте эндпоинт Time Status для мониторинга производительности адреса