# Эндпоинт цен
Эндпоинт /prices
предоставляет информацию о ценах на аренду энергии в реальном времени для различных периодов дня.
# URL эндпоинта
GET https://netts.io/apiv2/prices
# Аутентификация
Этот эндпоинт требует аутентификации с помощью API-ключа. Подробности смотрите на странице Аутентификация.
# Заголовки запроса
Заголовок | Обязательный | Описание |
---|---|---|
X-API-KEY | Да | Ваш API-ключ NETTS |
X-Real-IP | Да | IP-адрес, включенный в белый список для вашего API-ключа |
Content-Type | Нет | application/json |
# 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-адресов, которые не включены в белый список, будут отклонены с ошибкой аутентификации.
# Ответ
Ответ включает текущее время UTC, активный период ценообразования, цену хоста и подробную информацию о ценах для всех временных периодов.
# Параметры ответа
Параметр | Тип | Описание |
---|---|---|
status | string | Статус запроса ("success" или "error") |
current_utc_time | string | Текущее время UTC в формате "YYYY-MM-DD HH:MM:SS" |
current_utc_hour | integer | Текущий час UTC (0-23) |
active_period | string | Текущий активный временной период (например, "05:00-07:00") |
last_update | string | Время последнего обновления цен |
host_price | number | Текущая цена хоста в TRX |
periods | array | Список периодов ценообразования |
# Структура объекта Period
Каждый период в массиве periods
содержит:
Параметр | Тип | Описание |
---|---|---|
label | string | Понятное для человека название периода |
period | string | Временной диапазон в формате "HH:MM-HH:MM" |
is_active | boolean | Активен ли в данный момент этот период |
prices | object | Информация о ценах для разных объемов энергии |
# Структура объекта Prices
Объект prices
внутри каждого периода содержит:
Параметр | Тип | Описание |
---|---|---|
less_than_200k | object | Цены для объемов энергии менее 200 000 |
equal_131k | object | Цены для ровно 131 000 энергии |
more_than_200k | object | Цены для объемов энергии более 200 000 |
Каждый вариант цены включает:
Параметр | Тип | Описание |
---|---|---|
price_sun | integer | Цена в SUN (1 TRX = 1 000 000 SUN) |
# Примеры запросов
# Пример CURL
curl -X GET "https://netts.io/apiv2/prices" \
-H "Content-Type: application/json" \
-H "X-API-KEY: ваш_api_ключ" \
-H "X-Real-IP: ваш_ip_из_белого_списка"
# Пример Python
import requests
import json
# Конфигурация запроса
url = "https://netts.io/apiv2/prices"
api_key = "ваш_api_ключ" # Ваш API ключ
headers = {
"Content-Type": "application/json",
"X-API-KEY": api_key,
"X-Real-IP": "ваш_ip_из_белого_списка" # IP из белого списка
}
try:
# Отправляем GET-запрос к API цен
response = requests.get(url, headers=headers, timeout=15)
# Обрабатываем JSON-ответ
if response.status_code == 200:
data = response.json()
print(json.dumps(data, ensure_ascii=False, indent=2))
else:
print(f"Ошибка: {response.status_code}")
print(response.text)
except Exception as e:
print(f"Произошла ошибка: {str(e)}")
# Пример ответа
{
"status": "success",
"current_utc_time": "2025-04-23 14:30:45",
"current_utc_hour": 14,
"active_period": "11:00-21:00",
"last_update": "2025-04-23 14:15:22",
"host_price": 0.075,
"periods": [
{
"label": "Раннее утро",
"period": "05:00-07:00",
"is_active": false,
"prices": {
"less_than_200k": {
"price_sun": 420
},
"equal_131k": {
"price_sun": 410
},
"more_than_200k": {
"price_sun": 400
}
}
},
{
"label": "Утро",
"period": "07:00-11:00",
"is_active": false,
"prices": {
"less_than_200k": {
"price_sun": 450
},
"equal_131k": {
"price_sun": 440
},
"more_than_200k": {
"price_sun": 430
}
}
},
{
"label": "День",
"period": "11:00-21:00",
"is_active": true,
"prices": {
"less_than_200k": {
"price_sun": 480
},
"equal_131k": {
"price_sun": 470
},
"more_than_200k": {
"price_sun": 460
}
}
},
{
"label": "Вечер",
"period": "21:00-23:00",
"is_active": false,
"prices": {
"less_than_200k": {
"price_sun": 440
},
"equal_131k": {
"price_sun": 430
},
"more_than_200k": {
"price_sun": 420
}
}
},
{
"label": "Ночь",
"period": "23:00-05:00",
"is_active": false,
"prices": {
"less_than_200k": {
"price_sun": 400
},
"equal_131k": {
"price_sun": 390
},
"more_than_200k": {
"price_sun": 380
}
}
}
]
}
# Ответы с ошибками
Код статуса | Описание |
---|---|
401 | Ошибка аутентификации (неверный API-ключ или IP-адрес не в белом списке) |
403 | Доступ запрещен (IP-адрес не добавлен в белый список) |
429 | Превышен лимит запросов (слишком много запросов) |
500 | Внутренняя ошибка сервера |
# Примеры ответов с ошибкой
{
"status": "error",
"code": -1,
"msg": "Invalid API key or IP not in whitelist"
}
{
"status": "error",
"code": -2,
"msg": "Your IP address is not whitelisted"
}
# Примечания
- Все времена указаны в UTC.
- Цены указаны в SUN (1 TRX = 1 000 000 SUN).
- Активный период определяется на основе текущего времени UTC.
- Обновления цен могут происходить несколько раз в день.