# Эндпоинт заказа энергии на 1 час

Эндпоинт /order1h позволяет арендовать энергию TRON на период в 1 час. Это полезно для краткосрочных нужд, таких как выполнение смарт-контрактов или других энергоемких операций в сети TRON.

# URL эндпоинта

POST https://netts.io/apiv2/order1h

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

Этот эндпоинт требует аутентификации с помощью API-ключа. Подробности смотрите на странице Аутентификация.

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

Заголовок Обязательный Описание
X-API-KEY Да Ваш API-ключ NETTS
X-Real-IP Да IP-адрес, включенный в белый список для вашего API-ключа
Content-Type Да application/json
X-ORDER-ID Нет Пользовательский ID заказа (опционально)
X-COST Нет Переопределение стоимости (опционально, только для специальных случаев)

# 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-адресов, которые не включены в белый список, будут отклонены с ошибкой аутентификации.

# Тело запроса

Параметр Тип Обязательный Описание
amount integer Да Количество энергии для аренды (от 32 000 до 131 000)
receiveAddress string Да TRON-адрес для получения делегирования энергии

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

# Пример CURL

curl -X POST "https://netts.io/apiv2/order1h" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: ваш_api_ключ" \
  -H "X-Real-IP: ваш_ip_из_белого_списка" \
  -d '{
    "amount": 64000,
    "receiveAddress": "TXyz123AbCdEfGhIjKlMnOpQrStUvWxYz"
  }'

# Пример Python

import requests
import json

# Конфигурация запроса
url = "https://netts.io/apiv2/order1h"
api_key = "ваш_api_ключ"  # Ваш API ключ

# Полезная нагрузка запроса
payload = {
    "amount": 64000,  # Количество энергии (от 32 000 до 131 000)
    "receiveAddress": "TXyz123AbCdEfGhIjKlMnOpQrStUvWxYz"  # TRON-адрес для делегирования
}

headers = {
    "Content-Type": "application/json",
    "X-API-KEY": api_key,
    "X-Real-IP": "ваш_ip_из_белого_списка"  # IP из белого списка
}

try:
    # Отправляем POST-запрос к API order1h
    response = requests.post(url, json=payload, headers=headers, timeout=15)
    
    # Обрабатываем JSON-ответ
    if response.status_code == 200:
        data = response.json()
        print(json.dumps(data, ensure_ascii=False, indent=2))
        
        # Извлекаем ключевую информацию
        detail = data.get("detail", {})
        result_code = detail.get("code")
        message = detail.get("msg")
        
        if result_code == 10000:
            order_data = detail.get("data", {})
            print(f"\nУспех! Детали заказа:")
            print(f"ID заказа: {order_data.get('orderId')}")
            print(f"Провайдер: {order_data.get('provider')}")
            print(f"Оплачено TRX: {order_data.get('paidTRX')}")
            print(f"Срок действия: {order_data.get('expiry')}")
        else:
            print(f"Ошибка: {message}")
    else:
        print(f"Ошибка: {response.status_code}")
        print(response.text)
except Exception as e:
    print(f"Произошла ошибка: {str(e)}")

# Ответ

Ответ включает в себя детали о заказе делегирования энергии, такие как ID заказа, сумма оплаты и время истечения срока действия.

# Параметры успешного ответа

Параметр Тип Описание
detail object Контейнер для деталей ответа
detail.code integer Код ответа (10000 для успеха)
detail.msg string Сообщение ответа
detail.data object Контейнер для данных ответа
detail.data.provider string Использованный сервис-провайдер для делегирования энергии
detail.data.orderId string Уникальный идентификатор этого заказа
detail.data.balance number Ваш баланс аккаунта до списания
detail.data.paidTRX number Количество TRX, списанное за этот заказ
detail.data.hash array Хеш(и) транзакции, связанные с этим заказом
detail.data.request_id integer Внутренний ID запроса
detail.data.expiry string Время истечения делегирования энергии (в формате "YYYY-MM-DD HH:MM:SS")

# Пример успешного ответа

{
  "detail": {
    "code": 10000,
    "msg": "Successfully delegated 64000 energy, 12.25 TRX deducted",
    "data": {
      "provider": "energy_provider",
      "orderId": "ORD987654321",
      "balance": 100.5,
      "paidTRX": 12.25,
      "hash": ["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],
      "request_id": 10584,
      "expiry": "2025-04-24 12:09:18"
    }
  }
}

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

Код статуса Код ошибки Описание
400 -10 Минимальное количество энергии - 32 000
400 -11 Максимальное количество энергии - 131 000
400 -2 Недостаточно средств на балансе
400 -3 Ошибка TRON-транзакции
400 -12 Все попытки делегирования не удались
401 -1 Неверный API-ключ или IP не в белом списке
403 -2 Ваш IP-адрес не добавлен в белый список
429 -1 Слишком много запросов (ограничение частоты)

# Примеры ответов с ошибкой

{
  "detail": {
    "code": -10,
    "msg": "Minimum energy amount is 32,000",
    "data": {}
  }
}
{
  "detail": {
    "code": -2,
    "msg": "Not enough local balance. Required: 12.25, Available: 5.5",
    "data": {}
  }
}
{
  "detail": {
    "code": -1,
    "msg": "Invalid API key or IP not in whitelist",
    "data": {}
  }
}

# Примечания

  • Делегирование энергии действительно ровно 1 час с момента заказа.
  • Стоимость делегирования энергии варьируется в зависимости от текущей рыночной цены и времени суток.
  • Система автоматически оптимизирует ваш заказ для получения лучшей цены и качества обслуживания.
  • Количество энергии должно быть от 32 000 до 131 000.
  • Если вам нужно больше энергии, рассмотрите возможность размещения нескольких заказов или использования делегирования на более длительный срок.