GET /apiv2/prices Deprecated
Obsoleto
Este endpoint está obsoleto y se eliminará en una versión futura. Migre al nuevo endpoint GET /apiv2/pricing, que ofrece periodos dinámicos, filtrado por servicio, descuentos por duración y un formato de respuesta unificado.
Obtenga los precios actuales de alquiler de Energy para diferentes periodos de tiempo a lo largo del día.
El precio puede cambiar durante el procesamiento
El precio devuelto por este endpoint puede cambiar mientras se procesa una orden. Un proveedor de Energy puede rechazar una solicitud de delegación, en cuyo caso Netts enruta automáticamente la orden al siguiente proveedor disponible. Netts se compromete no solo a ofrecer el precio más competitivo, sino también a garantizar un suministro fiable de Energy; por lo tanto, una orden puede procesarse a un precio superior al cotizado. Esto se aplica únicamente a órdenes de 300,000 unidades de Energy o más.
URL del endpoint
GET https://netts.io/apiv2/pricesEncabezados de solicitud
| Encabezado | Requerido | Descripción | Valores |
|---|---|---|---|
| X-API-KEY | Sí | Su clave API | string |
| X-Real-IP | Sí | Dirección IP de la lista blanca | Dirección IP |
| X-Format | No | Formato de respuesta (predeterminado: JSON extendido) | now, compact, short, short1h, count |
Parámetros de solicitud
No se requieren parámetros: devuelve toda la información de precios actual.
Solicitudes de ejemplo
cURL
curl -X GET https://netts.io/apiv2/prices \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip"Python
import requests
url = "https://netts.io/apiv2/prices"
headers = {
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
response = requests.get(url, headers=headers)
data = response.json()
if response.status_code == 200:
print(f"Status: {data.get('status')}")
print(f"Current UTC time: {data.get('current_utc_time')}")
print(f"Active period: {data.get('active_period')}")
print(f"Host price: {data.get('host_price')} TRX")
print("\nPrice periods:")
for period in data.get('periods', []):
is_active = period.get('is_active', False)
active_marker = " *ACTIVE*" if is_active else ""
print(f"\n{period.get('label')}{active_marker}:")
print(f" Time: {period.get('period')}")
prices = period.get('prices', {})
print(f" < 200k energy: {prices.get('less_than_200k', {}).get('price_sun')} sun")
print(f" = 131k energy: {prices.get('equal_131k', {}).get('price_sun')} sun")
print(f" > 200k energy: {prices.get('more_than_200k', {}).get('price_sun')} sun")
else:
print(f"Error: {data.get('message', 'Unknown error')}")Formato de respuesta compacto
Nuevo en v2.1: Utilice el encabezado X-Format para obtener una respuesta de texto compacta en lugar de la estructura JSON completa.
Cuándo utilizarlo
- Integración con sistemas de monitorización
- Visualización sencilla de precios
- Seguimiento automatizado de precios
- Requisitos mínimos de ancho de banda
Solicitud de ejemplo
curl -X GET https://netts.io/apiv2/prices \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-H "X-Format: now"Ejemplo de respuesta compacta
Daytime Hours (11:00-21:00 UTC): price=27 sun, 65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)Explicación del formato de respuesta
El formato compacto proporciona:
| Componente | Descripción | Ejemplo |
|---|---|---|
| Etiqueta del periodo | Periodo de precios activo | Daytime Hours (11:00-21:00 UTC) |
| price=X sun | Precio por unidad de Energy en SUN | price=27 sun |
| 65k=X.XXX TRX (X.XX$) | Coste para 65,000 unidades de Energy | 65k=1.755 TRX (0.52$) |
| 131k=X.XXX TRX (X.XX$) | Coste para 131,000 unidades de Energy | 131k=3.537 TRX (1.05$) |
| 1m=X.XXX TRX (X.XX$) | Coste para 1,000,000 unidades de Energy | 1m=27.000 TRX (7.99$) |
Fórmula de cálculo
TRX cost = (price_sun / 1,000,000) × energy_amount
USD cost = TRX_cost × current_TRX_USD_rateNota: El tipo de cambio TRX/USD se obtiene de la tabla chain_param y se almacena en caché durante 30 minutos.
Tipo de contenido
- Formato extendido:
application/json - Formato compacto:
text/plain
Ejemplo en Python
import requests
url = "https://netts.io/apiv2/prices"
headers = {
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip",
"X-Format": "now" # Request compact format
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print("Compact price data:")
print(response.text)
# Output: Daytime Hours (11:00-21:00 UTC): price=27 sun, 65k=1.755 TRX (0.52$), ...
else:
print(f"Error: {response.status_code}")Formato de respuesta ultracompacto (short1h)
Nuevo en v2.2: Utilice el encabezado X-Format: short1h para obtener una respuesta de texto ultracompacta con solo los cálculos de Energy, sin la etiqueta del periodo ni el precio por unidad.
Cuándo utilizarlo
- Paneles de monitorización con espacio limitado
- Aplicaciones móviles
- Requisitos mínimos de ancho de banda
- Enfoque exclusivo en costes finales
Solicitud de ejemplo
curl -X GET https://netts.io/apiv2/prices \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-H "X-Format: short1h"Ejemplo de respuesta ultracompacta
65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)Explicación del formato de respuesta
El formato ultracompacto proporciona solo los cálculos de coste esenciales:
| Componente | Descripción | Ejemplo |
|---|---|---|
| 65k=X.XXX TRX (X.XX$) | Coste para 65,000 unidades de Energy | 65k=1.755 TRX (0.52$) |
| 131k=X.XXX TRX (X.XX$) | Coste para 131,000 unidades de Energy | 131k=3.537 TRX (1.05$) |
| 1m=X.XXX TRX (X.XX$) | Coste para 1,000,000 unidades de Energy | 1m=27.000 TRX (7.99$) |
Nota: Este formato excluye la etiqueta del periodo y el precio por unidad de Energy para una máxima compacidad.
Tipo de contenido
- Formato ultracompacto:
text/plain
Ejemplo en Python
import requests
url = "https://netts.io/apiv2/prices"
headers = {
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip",
"X-Format": "short1h" # Request ultra-compact format
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print("Ultra-compact price data:")
print(response.text)
# Output: 65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)
else:
print(f"Error: {response.status_code}")Formato de respuesta por cantidad (count)
Nuevo en v2.3: Utilice el encabezado X-Format: count para obtener cálculos de precios para órdenes al por mayor, mostrando los costes para 1, 2, 3, 5, 10 y 20 órdenes.
Cuándo utilizarlo
- Visualización de precios para órdenes al por mayor
- Calculadoras de descuentos por volumen
- Herramientas de comparación de precios
- Planificación de cantidad de órdenes
- Estimación de costes para múltiples órdenes
Solicitud de ejemplo
curl -X GET https://netts.io/apiv2/prices \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-H "X-Format: count"Ejemplo de respuesta por cantidad
1-1.690 TRX (0.50$), 2-3.380 TRX (1.00$), 3-5.070 TRX (1.50$), 5-8.450 TRX (2.50$), 10-16.900 TRX (5.00$), 20-33.800 TRX (10.00$)Explicación del formato de respuesta
El formato de cantidad proporciona precios calculados para diferentes cantidades de órdenes:
| Componente | Descripción | Ejemplo |
|---|---|---|
| 1-X.XXX TRX (X.XX$) | Coste para 1 orden (65,000 unidades de Energy) | 1-1.690 TRX (0.50$) |
| 2-X.XXX TRX (X.XX$) | Coste para 2 órdenes (131,000 unidades de Energy) | 2-3.380 TRX (1.00$) |
| 3-X.XXX TRX (X.XX$) | Coste para 3 órdenes (3 × 65,000 de Energy) | 3-5.070 TRX (1.50$) |
| 5-X.XXX TRX (X.XX$) | Coste para 5 órdenes (5 × 65,000 de Energy) | 5-8.450 TRX (2.50$) |
| 10-X.XXX TRX (X.XX$) | Coste para 10 órdenes (10 × 65,000 de Energy) | 10-16.900 TRX (5.00$) |
| 20-X.XXX TRX (X.XX$) | Coste para 20 órdenes (20 × 65,000 de Energy) | 20-33.800 TRX (10.00$) |
Fórmula de cálculo
1 order: TRX cost = (price_sun_65k / 1,000,000) × 65,000
2 orders: TRX cost = (price_sun_131k / 1,000,000) × 131,000
3+ orders: TRX cost = (price_sun_65k / 1,000,000) × 65,000 × quantity
USD cost = TRX_cost × current_TRX_USD_rateNota: El tipo de cambio TRX/USD se obtiene de la tabla chain_param y se almacena en caché durante 30 minutos.
Tipo de contenido
- Formato count:
text/plain
Ejemplo en Python
import requests
url = "https://netts.io/apiv2/prices"
headers = {
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip",
"X-Format": "count" # Request count format
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print("Bulk order pricing:")
print(response.text)
# Output: 1-1.690 TRX (0.50$), 2-3.380 TRX (1.00$), 3-5.070 TRX (1.50$), ...
else:
print(f"Error: {response.status_code}")Respuesta
Respuesta exitosa (200 OK)
{
"status": "success",
"current_utc_time": "2025-09-02 06:50:39",
"current_utc_hour": 6,
"active_period": "05:00-07:00",
"last_update": "2025-09-02 08:05:03",
"host_price": 2.989,
"periods": [
{
"label": "Early Morning Hours (05:00-07:00 UTC)",
"period": "05:00-07:00",
"is_active": true,
"prices": {
"less_than_200k": {
"price_sun": 17
},
"equal_131k": {
"price_sun": 17
},
"more_than_200k": {
"price_sun": 17
}
}
},
{
"label": "Morning Hours (07:00-11:00 UTC)",
"period": "07:00-11:00",
"is_active": false,
"prices": {
"less_than_200k": {
"price_sun": 17
},
"equal_131k": {
"price_sun": 17
},
"more_than_200k": {
"price_sun": 17
}
}
}
]
}Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| status | string | Siempre "success" para solicitudes exitosas |
| current_utc_time | string | Hora actual del servidor en UTC |
| current_utc_hour | integer | Hora actual en UTC (0-23) |
| active_period | string | Periodo de precios actualmente activo |
| last_update | string | Última vez que se actualizaron los precios |
| host_price | number | Precio de host actual en TRX |
| periods | array | Array de todos los periodos de precios |
| periods[].label | string | Nombre del periodo legible por humanos |
| periods[].period | string | Rango de tiempo (HH:MM-HH:MM) |
| periods[].is_active | boolean | Si este periodo está actualmente activo |
| periods[].prices.less_than_200k.price_sun | integer | Precio en SUN para Energy < 200,000 unidades |
| periods[].prices.equal_131k.price_sun | integer | Precio en SUN para exactamente 131,000 unidades |
| periods[].prices.more_than_200k.price_sun | integer | Precio en SUN para Energy > 200,000 unidades |
Categorías de cantidad de Energy
| Categoría | Descripción | Rango de Energy |
|---|---|---|
| less_than_200k | Órdenes pequeñas | < 200,000 unidades de Energy |
| equal_131k | Órdenes estándar | Exactamente 131,000 unidades de Energy |
| more_than_200k | Órdenes grandes | > 200,000 unidades de Energy |
Periodos de tiempo
La API devuelve precios para 5 periodos de tiempo diferentes:
| Periodo | Rango de tiempo (UTC) | Descripción |
|---|---|---|
| Early Morning | 05:00-07:00 | Periodo de menor demanda |
| Morning | 07:00-11:00 | Inicio de horario laboral |
| Daytime | 11:00-21:00 | Horas pico de actividad comercial |
| Evening | 21:00-23:00 | Actividad nocturna |
| Night | 23:00-05:00 | Periodo de menor demanda |
Límites de tasa
Se aplican los siguientes límites de tasa a este endpoint (por dirección IP):
| Periodo | Límite | Descripción |
|---|---|---|
| 1 minuto | 1 solicitud | Máximo 1 solicitud por minuto |
| 1 hora | 60 solicitudes | Máximo 60 solicitudes por hora |
Encabezados de límite de tasa
RateLimit-Limit: 1
RateLimit-Remaining: 0
RateLimit-Reset: 21
X-RateLimit-Limit-Minute: 1
X-RateLimit-Remaining-Minute: 0
X-RateLimit-Limit-Hour: 60
X-RateLimit-Remaining-Hour: 59
Retry-After: 21Límite de tasa excedido (429)
{
"message": "API rate limit exceeded"
}Respuestas de error
Error de autenticación (401)
{
"status": "error",
"code": 401,
"message": "Invalid API key or IP not in whitelist"
}Error interno del servidor (500)
{
"status": "error",
"message": "Internal server error"
}Notas
- No se requiere cuerpo de solicitud: esta es una solicitud GET
- Todos los precios están en SUN (1 TRX = 1,000,000 SUN)
- Los precios varían según la cantidad de Energy y la hora del día (UTC)
- Periodo activo: Cambia a lo largo del día según la demanda
- Límites de tasa: Límites estrictos debido a operaciones intensivas en la base de datos
- Actualizaciones de precios: Los precios se actualizan periódicamente desde la base de datos
- Zonas horarias: Todas las horas están en UTC