生产 API
创建订单
创建幂等的 Energy 租赁订单,并获取固定金额和轮询 URL。
POST
/v1/energy/orders本页内容
每个业务事件都需要稳定且唯一的 client_request_id。它用于防止网络重试造成重复订单。
请求体
{"client_request_id":"order-1042","address":"TXYZ","energy":65000,"duration_hours":1,"expected_total_trx":"3.200000"}
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
client_request_id |
string | 是 | 您的唯一操作 ID,只能复用于这笔完全相同的订单。 |
address |
string | 是 | 用于签名并发送 USDT 的有效 TRON 地址。 |
energy |
integer | 是 | 正数,且能被单份大小整除。 |
duration_hours |
integer | 是 | 选项中允许的时长。 |
expected_total_trx |
string | 是 | 最新报价中的精确 total_trx,固定六位小数。 |
未知 JSON 属性会被拒绝。请发送 Content-Type: application/json。
响应 201 或 200
{"id":"7c0c9a54-517c-4bbb-a946-bf14bf86c113","client_request_id":"order-1042","address":"TXYZ","energy":65000,"duration_hours":1,"total_trx":"3.200000","status":"created","lifecycle_final":false,"delivery_final":false,"created_at":1784376000,"updated_at":1784376000,"failure":null}
201 Created:新订单;Location包含/v1/energy/orders/{id}。200 OK:完全相同的幂等重放会返回已有订单。409 Conflict且code: energy_order_idempotency_conflict:同一个client_request_id被用于不同地址、数量或时长。409 Conflict且code: energy_price_changed:获取新报价后再次确认。此时尚未创建订单或冻结 TRX。
幂等处理
超时后不要生成新 ID。使用相同请求体和 client_request_id 重放。只有新的业务事件才生成新 ID。
状态字段
status 描述当前阶段。自动化程序应使用 lifecycle_final 和 delivery_final,而不是写死状态列表。请参见查询订单。
错误
可能的状态有 400、401、409、413、415、429 和 503。未修正原因前,不要对 400、401、409、413 或 415 自动重试。
Rentron