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

GET /apiv2/order_check

Obtenga información detallada sobre una orden específica de Energy de 1 hora, incluido el desglose de costos, detalles de activación e información sobre el margen de ganancia del subusuario.

URL del Endpoint

GET https://netts.io/apiv2/order_check

Encabezados de Solicitud

EncabezadoRequeridoDescripción
X-API-KEYSu clave de API del panel de Netts

Parámetros de Consulta

ParámetroTipoRequeridoDescripción
order_idcadenaID de la orden en formato 1H{hash} (ej., 1Ha1b2c3d4e5)

Ejemplos de Solicitud

cURL

bash
curl -X GET "https://netts.io/apiv2/order_check?order_id=1Ha1b2c3d4e5" \
  -H "X-API-KEY: your_api_key"

Python

python
import requests

url = "https://netts.io/apiv2/order_check"
headers = {
    "X-API-KEY": "your_api_key"
}
params = {
    "order_id": "1Ha1b2c3d4e5"
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

if data.get("success"):
    order = data.get("order", {})
    print(f"Order ID: {order.get('id')}")
    print(f"Total Cost: {order.get('cost')} TRX")
    print(f"Energy: {order.get('energy')}")
    print(f"Rate: {order.get('rate_sun')} sun/energy")
    print(f"Target Address: {order.get('target_address')}")

    # Check if activation was performed
    activation = data.get("activation")
    if activation:
        print(f"Activation Cost: {activation.get('cost')} TRX")
        print(f"Activation Hash: {activation.get('tx_hash')}")
else:
    print(f"Error: {data.get('msg')}")

JavaScript (Node.js)

javascript
const axios = require('axios');

const url = 'https://netts.io/apiv2/order_check';
const headers = {
    'X-API-KEY': 'your_api_key'
};
const params = {
    order_id: '1Ha1b2c3d4e5'
};

axios.get(url, { headers, params })
    .then(response => {
        const data = response.data;
        if (data.success) {
            console.log('Order:', data.order);
            console.log('Activation:', data.activation);
        } else {
            console.log('Error:', data.msg);
        }
    })
    .catch(error => console.error('Request failed:', error));

Respuesta

Respuesta Exitosa (200 OK)

json
{
    "success": true,
    "code": 10000,
    "order": {
        "id": "1Ha1b2c3d4e5",
        "cost": 2.535,
        "target_address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
        "energy": 65000,
        "duration": "1 hour",
        "tx_hashes": ["a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef12345678"],
        "timestamp": "2025-12-03T15:21:34.182127",
        "rate_sun": 39.0,
        "comments": null
    },
    "activation": null,
    "subuser_payout": null
}

Respuesta Exitosa con Activación (200 OK)

Cuando la dirección de destino requirió activación:

json
{
    "success": true,
    "code": 10000,
    "order": {
        "id": "1Ha1b2c3d4e5",
        "cost": 3.635,
        "target_address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
        "energy": 65000,
        "duration": "1 hour",
        "tx_hashes": ["a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef12345678"],
        "timestamp": "2025-12-03T15:21:34.182127",
        "rate_sun": 39.0,
        "comments": "Includes activation: 1.1 TRX"
    },
    "activation": {
        "cost": 1.1,
        "tx_hash": "b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456789a"
    },
    "subuser_payout": null
}

Respuesta Exitosa con Pago de Subusuario (200 OK)

Para usuarios principales que visualizan órdenes de subusuarios:

json
{
    "success": true,
    "code": 10000,
    "order": {
        "id": "1Ha1b2c3d4e5",
        "cost": 3.93,
        "target_address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
        "energy": 65000,
        "duration": "1 hour",
        "tx_hashes": ["c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456789abc"],
        "timestamp": "2025-12-03T16:55:16.525118",
        "rate_sun": 60.5,
        "comments": "Includes activation: 1.1 TRX"
    },
    "activation": {
        "cost": 1.1,
        "tx_hash": "b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456789a"
    },
    "subuser_payout": {
        "parent_id": 12,
        "gross_cost": 3.93,
        "energy_markup": 0.195,
        "activation_markup": 0.1,
        "total_markup": 0.295,
        "net_cost": 3.635,
        "subuser_rate_sun": 43.5,
        "parent_rate_sun": 39.0
    }
}

Campos de Respuesta

Respuesta Principal

CampoTipoDescripción
successbooleanotrue si la solicitud fue exitosa
codeentero10000 para solicitudes exitosas
orderobjetoDetalles de la orden
activationobjeto | nullDetalles de activación (si la dirección fue activada)
subuser_payoutobjeto | nullDetalles del margen de ganancia del subusuario (solo para usuarios principales)

Objeto Order

CampoTipoDescripción
idcadenaID de la orden en formato 1H{hash}
costnúmeroCosto total pagado por el usuario (TRX)
target_addresscadenaDirección que recibió Energy
energyenteroCantidad de Energy delegada
durationcadenaDuración de la delegación (siempre "1 hour")
tx_hashesarregloLista de hashes de transacciones de delegación
timestampcadenaHora de creación de la orden (formato ISO 8601)
rate_sunnúmeroTarifa de Energy en sun por unidad de Energy
commentscadena | nullInformación adicional (ej., aviso de activación)

Objeto Activation

CampoTipoDescripción
costnúmeroCosto de activación (TRX)
tx_hashcadenaHash de la transacción de activación

Objeto Subuser Payout

Solo para Usuarios Principales

El campo subuser_payout solo se incluye para usuarios principales que visualizan las órdenes de sus subusuarios. Los subusuarios (usuarios simulados) no verán este campo.

CampoTipoDescripción
parent_identeroID del usuario principal
gross_costnúmeroCosto total pagado por el subusuario (TRX)
energy_markupnúmeroMonto del margen de ganancia de Energy (TRX)
activation_markupnúmeroMonto del margen de ganancia de activación (TRX)
total_markupnúmeroMargen de ganancia total (Energy + activación)
net_costnúmeroCosto menos el margen de ganancia (costo real del usuario principal)
subuser_rate_sunnúmeroTarifa pagada por el subusuario (sun/energy)
parent_rate_sunnúmeroTarifa real sin margen de ganancia (sun/energy)

Respuestas de Error

Falta el ID de la Orden (400)

json
{
    "success": false,
    "code": -2,
    "msg": "order_id parameter required"
}

Error de Autenticación (401)

json
{
    "success": false,
    "code": -1,
    "msg": "API key not provided"
}
json
{
    "success": false,
    "code": -1,
    "msg": "Invalid API key or IP not in whitelist"
}

Acceso Denegado (403)

Al intentar ver una orden que pertenece a otro usuario:

json
{
    "success": false,
    "code": -4,
    "msg": "Order does not belong to this user"
}

Orden No Encontrada (404)

json
{
    "success": false,
    "code": -3,
    "msg": "Order not found"
}

Error Interno del Servidor (500)

json
{
    "success": false,
    "msg": "Internal server error"
}

Referencia de Códigos de Error

CódigoDescripciónEstado HTTP
10000Éxito200
-1Error de autenticación401
-2Falta el parámetro order_id400
-3Orden no encontrada404
-4Acceso denegado (no es su orden)403

Límites de Tasa

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

PeríodoLímiteDescripción
1 segundo50 solicitudesMáximo 50 solicitudes por segundo

Encabezados de Límite de Tasa

http
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49

Límite de Tasa Excedido (429)

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

Control de Acceso

Propiedad de la Orden

Los usuarios solo pueden ver sus propias órdenes. La API verifica la propiedad en función de:

  • Usuarios de Google: Coincide google_user_id de la orden con el ID de Google del usuario
  • Usuarios de Telegram: Coincide tg_user_id de la orden con el ID de Telegram del usuario

Acceso Principal-Subusuario

Los usuarios principales pueden ver las órdenes creadas por sus subusuarios. En este caso:

  • El campo subuser_payout se incluye en la respuesta
  • El usuario principal puede ver el desglose del margen de ganancia y su costo real

Acceso de Subusuario (Simulado)

Los subusuarios que visualizan sus propias órdenes verán:

  • Su costo real (incluido el margen de ganancia) en order.cost
  • Su tarifa (incluido el margen de ganancia) en order.rate_sun
  • El campo subuser_payout no se incluye

Casos de Uso

1. Verificar la Finalización de la Orden

Después de realizar una orden con /apiv2/order1h, use este endpoint para verificar:

  • La orden se procesó correctamente
  • Energy fue delegada a la dirección correcta
  • Se cobró la cantidad correcta

2. Obtener el Hash de la Transacción

Recupere el hash de la transacción de delegación para la verificación en la blockchain:

python
response = requests.get(
    "https://netts.io/apiv2/order_check",
    headers={"X-API-KEY": "your_api_key"},
    params={"order_id": "1Ha1b2c3d4e5"}
)

data = response.json()
if data["success"]:
    tx_hashes = data["order"]["tx_hashes"]
    if tx_hashes:
        print(f"Verify on Tronscan: https://tronscan.org/#/transaction/{tx_hashes[0]}")

3. Rastrear los Costos del Subusuario (Usuarios Principales)

Los usuarios principales pueden monitorear las órdenes de sus subusuarios y las ganancias por margen de ganancia:

python
response = requests.get(
    "https://netts.io/apiv2/order_check",
    headers={"X-API-KEY": "parent_api_key"},
    params={"order_id": "1Ha1b2c3d4e5"}
)

data = response.json()
if data["success"] and data.get("subuser_payout"):
    payout = data["subuser_payout"]
    print(f"Subuser paid: {payout['gross_cost']} TRX")
    print(f"Your markup: {payout['total_markup']} TRX")
    print(f"Your actual cost: {payout['net_cost']} TRX")

Notas

  • Las órdenes se pueden consultar inmediatamente después de su creación
  • Los hashes de transacción pueden estar vacíos si el proveedor no los devuelve
  • El campo rate_sun muestra la tarifa efectiva por unidad de Energy en sun
  • El costo de activación se incluye en el cost total cuando corresponde
  • El campo comments proporciona contexto adicional (ej., aviso de activación)
  • Este endpoint solo devuelve órdenes de 1 hora creadas a través de /apiv2/order1h