GET /apiv2/order_check
获取特定 1 小时 Energy 订单的详细信息,包括费用明细、激活详情以及子用户加价信息。
端点 URL
GET https://netts.io/apiv2/order_check请求头
| 请求头 | 必填 | 说明 |
|---|---|---|
| X-API-KEY | 是 | 来自 Netts 控制面板的 API 密钥 |
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_id | string | 是 | 格式为 1H{hash} 的订单 ID(例如 1Ha1b2c3d4e5) |
请求示例
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));响应
成功响应 (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
}包含激活信息的成功响应 (200 OK)
当目标地址需要激活时:
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
}包含子用户收益的成功响应 (200 OK)
供父用户查看子用户订单时:
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
}
}响应字段
主响应
| 字段 | 类型 | 说明 |
|---|---|---|
| success | boolean | 如果请求成功则为 true |
| code | integer | 成功请求时为 10000 |
| order | object | 订单详情 |
| activation | object | null | 激活详情(如果地址已被激活) |
| subuser_payout | object | null | 子用户加价详情(仅适用于父用户) |
订单对象
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 格式为 1H{hash} 的订单 ID |
| cost | number | 用户支付的总费用 (TRX) |
| target_address | string | 接收 Energy 的地址 |
| energy | integer | 委托的 Energy 数量 |
| duration | string | 委托时长(固定为 "1 hour") |
| tx_hashes | array | 委托交易哈希列表 |
| timestamp | string | 订单创建时间(ISO 8601 格式) |
| rate_sun | number | 每单位 Energy 的费率(单位:sun) |
| comments | string | null | 附加信息(例如激活提示) |
激活对象
| 字段 | 类型 | 说明 |
|---|---|---|
| cost | number | 激活费用 (TRX) |
| tx_hash | string | 激活交易哈希 |
子用户收益对象
仅限父用户
subuser_payout 字段仅在父用户查看其子用户的订单时包含。子用户(模拟用户)将看不到此字段。
| 字段 | 类型 | 说明 |
|---|---|---|
| parent_id | integer | 父用户 ID |
| gross_cost | number | 子用户支付的总费用 (TRX) |
| energy_markup | number | Energy 加价金额 (TRX) |
| activation_markup | number | 激活加价金额 (TRX) |
| total_markup | number | 总加价(Energy + 激活) |
| net_cost | number | 费用减去加价(父用户的实际成本) |
| subuser_rate_sun | number | 子用户支付的费率 (sun/energy) |
| parent_rate_sun | number | 不含加价的实际费率 (sun/energy) |
错误响应
缺少订单 ID (400)
json
{
"success": false,
"code": -2,
"msg": "order_id parameter required"
}身份验证错误 (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"
}访问被拒绝 (403)
当尝试查看属于其他用户的订单时:
json
{
"success": false,
"code": -4,
"msg": "Order does not belong to this user"
}订单未找到 (404)
json
{
"success": false,
"code": -3,
"msg": "Order not found"
}服务器内部错误 (500)
json
{
"success": false,
"msg": "Internal server error"
}错误代码参考
| 代码 | 说明 | HTTP 状态 |
|---|---|---|
10000 | 成功 | 200 |
-1 | 身份验证失败 | 401 |
-2 | 缺少 order_id 参数 | 400 |
-3 | 订单未找到 | 404 |
-4 | 访问被拒绝(非当前用户的订单) | 403 |
速率限制
以下速率限制适用于此端点(每个 IP 地址):
| 周期 | 限制 | 说明 |
|---|---|---|
| 1 秒 | 50 次请求 | 每秒最多 50 次请求 |
速率限制响应头
http
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49超出速率限制 (429)
json
{
"message": "API rate limit exceeded"
}访问控制
订单所有权
用户只能查看自己的订单。API 根据以下条件检查所有权:
- Google 用户:将订单中的
google_user_id与用户的 Google ID 进行匹配 - Telegram 用户:将订单中的
tg_user_id与用户的 Telegram ID 进行匹配
父子用户访问
父用户可以查看其子用户创建的订单。在此情况下:
- 响应中会包含
subuser_payout字段 - 父用户可以看到加价明细及其自身实际成本
子用户(模拟用户)访问
查看自己订单的子用户将看到:
- 在
order.cost中显示其实际成本(包含加价) - 在
order.rate_sun中显示其费率(包含加价) - 不包含
subuser_payout字段
使用场景
1. 验证订单完成情况
在使用 /apiv2/order1h 下单后,使用此端点验证:
- 订单是否处理成功
- Energy 是否已委托至正确地址
- 扣费金额是否正确
2. 获取交易哈希
获取委托交易哈希以进行区块链核验:
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. 跟踪子用户成本(父用户)
父用户可以监控其子用户的订单和加价收益:
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")注意事项
- 订单在创建后可立即查询
- 如果供应商未返回交易哈希,则交易哈希可能为空
rate_sun字段显示每单位 Energy 的有效费率(单位:sun)- 在适用情况下,激活费用已包含在总
cost中 comments字段提供附加背景信息(例如激活提示)- 此端点仅返回通过
/apiv2/order1h创建的 1 小时订单