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_checkEncabezados de Solicitud
| Encabezado | Requerido | Descripción |
|---|---|---|
| X-API-KEY | Sí | Su clave de API del panel de Netts |
Parámetros de Consulta
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| order_id | cadena | Sí | ID de la orden en formato 1H{hash} (ej., 1Ha1b2c3d4e5) |
Ejemplos de Solicitud
cURL
curl -X GET "https://netts.io/apiv2/order_check?order_id=1Ha1b2c3d4e5" \
-H "X-API-KEY: your_api_key"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)
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)
{
"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:
{
"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:
{
"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
| Campo | Tipo | Descripción |
|---|---|---|
| success | booleano | true si la solicitud fue exitosa |
| code | entero | 10000 para solicitudes exitosas |
| order | objeto | Detalles de la orden |
| activation | objeto | null | Detalles de activación (si la dirección fue activada) |
| subuser_payout | objeto | null | Detalles del margen de ganancia del subusuario (solo para usuarios principales) |
Objeto Order
| Campo | Tipo | Descripción |
|---|---|---|
| id | cadena | ID de la orden en formato 1H{hash} |
| cost | número | Costo total pagado por el usuario (TRX) |
| target_address | cadena | Dirección que recibió Energy |
| energy | entero | Cantidad de Energy delegada |
| duration | cadena | Duración de la delegación (siempre "1 hour") |
| tx_hashes | arreglo | Lista de hashes de transacciones de delegación |
| timestamp | cadena | Hora de creación de la orden (formato ISO 8601) |
| rate_sun | número | Tarifa de Energy en sun por unidad de Energy |
| comments | cadena | null | Información adicional (ej., aviso de activación) |
Objeto Activation
| Campo | Tipo | Descripción |
|---|---|---|
| cost | número | Costo de activación (TRX) |
| tx_hash | cadena | Hash 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.
| Campo | Tipo | Descripción |
|---|---|---|
| parent_id | entero | ID del usuario principal |
| gross_cost | número | Costo total pagado por el subusuario (TRX) |
| energy_markup | número | Monto del margen de ganancia de Energy (TRX) |
| activation_markup | número | Monto del margen de ganancia de activación (TRX) |
| total_markup | número | Margen de ganancia total (Energy + activación) |
| net_cost | número | Costo menos el margen de ganancia (costo real del usuario principal) |
| subuser_rate_sun | número | Tarifa pagada por el subusuario (sun/energy) |
| parent_rate_sun | número | Tarifa real sin margen de ganancia (sun/energy) |
Respuestas de Error
Falta el ID de la Orden (400)
{
"success": false,
"code": -2,
"msg": "order_id parameter required"
}Error de Autenticación (401)
{
"success": false,
"code": -1,
"msg": "API key not provided"
}{
"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:
{
"success": false,
"code": -4,
"msg": "Order does not belong to this user"
}Orden No Encontrada (404)
{
"success": false,
"code": -3,
"msg": "Order not found"
}Error Interno del Servidor (500)
{
"success": false,
"msg": "Internal server error"
}Referencia de Códigos de Error
| Código | Descripción | Estado HTTP |
|---|---|---|
10000 | Éxito | 200 |
-1 | Error de autenticación | 401 |
-2 | Falta el parámetro order_id | 400 |
-3 | Orden no encontrada | 404 |
-4 | Acceso 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íodo | Límite | Descripción |
|---|---|---|
| 1 segundo | 50 solicitudes | Máximo 50 solicitudes por segundo |
Encabezados de Límite de Tasa
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49Límite de Tasa Excedido (429)
{
"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_idde la orden con el ID de Google del usuario - Usuarios de Telegram: Coincide
tg_user_idde 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_payoutse 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_payoutno 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:
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:
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_sunmuestra la tarifa efectiva por unidad de Energy en sun - El costo de activación se incluye en el
costtotal cuando corresponde - El campo
commentsproporciona contexto adicional (ej., aviso de activación) - Este endpoint solo devuelve órdenes de 1 hora creadas a través de
/apiv2/order1h