# Эндпоинт заказа энергии на 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 в белый список
- Войдите в панель управления NETTS
- Перейдите на вкладку API: https://www.netts.io/workspace/dashboard.php?tab=api
- В разделе "IP Whitelist" нажмите кнопку "Add IP Address"
- Введите действительный IPv4 или IPv6 адрес
- Подтвердите добавление
Примечание: Запросы с 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.
- Если вам нужно больше энергии, рассмотрите возможность размещения нескольких заказов или использования делегирования на более длительный срок.