Skip to content
Translated page. The English version is the source of truth.

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/prices

Encabezados de solicitud

EncabezadoRequeridoDescripciónValores
X-API-KEYSu clave APIstring
X-Real-IPDirección IP de la lista blancaDirección IP
X-FormatNoFormato 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

bash
curl -X GET https://netts.io/apiv2/prices \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Python

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

bash
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

text
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:

ComponenteDescripciónEjemplo
Etiqueta del periodoPeriodo de precios activoDaytime Hours (11:00-21:00 UTC)
price=X sunPrecio por unidad de Energy en SUNprice=27 sun
65k=X.XXX TRX (X.XX$)Coste para 65,000 unidades de Energy65k=1.755 TRX (0.52$)
131k=X.XXX TRX (X.XX$)Coste para 131,000 unidades de Energy131k=3.537 TRX (1.05$)
1m=X.XXX TRX (X.XX$)Coste para 1,000,000 unidades de Energy1m=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_rate

Nota: 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

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

bash
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

text
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:

ComponenteDescripciónEjemplo
65k=X.XXX TRX (X.XX$)Coste para 65,000 unidades de Energy65k=1.755 TRX (0.52$)
131k=X.XXX TRX (X.XX$)Coste para 131,000 unidades de Energy131k=3.537 TRX (1.05$)
1m=X.XXX TRX (X.XX$)Coste para 1,000,000 unidades de Energy1m=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

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

bash
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

text
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:

ComponenteDescripciónEjemplo
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_rate

Nota: 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

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)

json
{
    "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

CampoTipoDescripción
statusstringSiempre "success" para solicitudes exitosas
current_utc_timestringHora actual del servidor en UTC
current_utc_hourintegerHora actual en UTC (0-23)
active_periodstringPeriodo de precios actualmente activo
last_updatestringÚltima vez que se actualizaron los precios
host_pricenumberPrecio de host actual en TRX
periodsarrayArray de todos los periodos de precios
periods[].labelstringNombre del periodo legible por humanos
periods[].periodstringRango de tiempo (HH:MM-HH:MM)
periods[].is_activebooleanSi este periodo está actualmente activo
periods[].prices.less_than_200k.price_sunintegerPrecio en SUN para Energy < 200,000 unidades
periods[].prices.equal_131k.price_sunintegerPrecio en SUN para exactamente 131,000 unidades
periods[].prices.more_than_200k.price_sunintegerPrecio en SUN para Energy > 200,000 unidades

Categorías de cantidad de Energy

CategoríaDescripciónRango de Energy
less_than_200kÓrdenes pequeñas< 200,000 unidades de Energy
equal_131kÓrdenes estándarExactamente 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:

PeriodoRango de tiempo (UTC)Descripción
Early Morning05:00-07:00Periodo de menor demanda
Morning07:00-11:00Inicio de horario laboral
Daytime11:00-21:00Horas pico de actividad comercial
Evening21:00-23:00Actividad nocturna
Night23:00-05:00Periodo de menor demanda

Límites de tasa

Se aplican los siguientes límites de tasa a este endpoint (por dirección IP):

PeriodoLímiteDescripción
1 minuto1 solicitudMáximo 1 solicitud por minuto
1 hora60 solicitudesMáximo 60 solicitudes por hora

Encabezados de límite de tasa

http
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: 21

Límite de tasa excedido (429)

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

Respuestas de error

Error de autenticación (401)

json
{
    "status": "error",
    "code": 401,
    "message": "Invalid API key or IP not in whitelist"
}

Error interno del servidor (500)

json
{
    "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