EnergyFather服务有助于购买(租用)发送USDT和其他TRC20加密代币交易所需的能量和带宽;在TRON区块链上发送任何类型的交易也需要带宽,例如发送TRX、申请奖励和为Super Representatives投票。
能源购买程序
要购买能源,您需要在 EnergyFather 服务中注册,从 "买家 > API 令牌 "页面获取授权令牌,并充值买家账户余额。
在创建订单(方法 ‘buy/energy’)后,能量传递可能会延迟数秒甚至数分钟,因此在开发自动系统时,建议通过请求方法 ‘order/get/{guid}’ 定期检查订单执行情况。
例如,如果您计划发送 USDT,并希望通过购买能源来降低交易成本,您需要执行以下操作:
- 要求使用 ‘buy/energy’ 方法估算所需能量并购买、
- 定期请求 ‘order/get/{guid}’ 方法,直到能量被委托(通常需要几秒钟)、
- 发送 USDT(购买的能量将用于支付交易费)。
一般说明
在本文档中,用 ‘{guid}’ 或 ‘{id}’ 等大括号包装的表达式表示相应变量的值:
- ‘{guid}’ 是 EnergyFather 中对象的全局唯一标识符(通常为 8 位数)、
- ‘{id}’ 是该用户对象的顺序号(每个用户的编号从 ‘1’ 开始)。
API 终点
https://panel.energyfather.com/api/v1/private
请使用 POST 方法发送请求。
申请的授权
要确认(授权)对私有 API 的请求,应传递 HTTP 标头:
Token: {token}
授权令牌管理位于控制面板 "Buyer > API tokens "页面。
例如,您可以通过以下方式获取订单 123456 的信息:
CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
订单状态
- "0" - 待定。 订单刚刚生成。
- "1" - 等待付款。 付款链接已经生成,EnergyFather 正在等待付款系统的回电。 如果订单完全由内部帐户可用资金支付,则不使用此状态。
- "2" - 能源授权程序正在进行中。
- "3" - 委托。 发出能量。
- "4" - 回收(未授权)。 由于付费时段结束,能量被收回。
- "5" - 已付款。 订单已付款,并加入能源交付队列。
- "6" - 错误。
通常的状态序列: 0, 5, 2, 3, 4.
- /api/v1/private/buy/energy - 购买能源(由内部账户支付)
- /api/v1/private/order/list - 获取您的订单清单
- /api/v1/private/order/get/{guid} - 获取订单信息
- /api/v1/private/account/list - 获取内部账户列表
- /api/v1/private/account/get/{id} - 获取内部账户信息
"buy/energy" 方法--购买能源(由内部账户支付)
注册客户要求从内部账户中扣款购买能源。 能源将立即发送到指定地址。
如果内部账户资金不足,则将创建订单并立即获得 "6"(错误)状态。 在这种情况下,您需要访问面板,存入一些资金,然后发送一个新的 API 能源购买请求。
有两种方法可以确定要购买的能源量:
a) 您可以在 "amount" 参数中设置准确的能量值,然后还应设置 amount_source="amount"。
b) 如果不知道发送 USDT 或其他令牌的交易需要多少能量,可以设置 amount_source="estimate" 并填写相应参数 (estimate_to, estimate_token, estimate_adjust_percent)。
buy/energy:带有精确能量的请求示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/buy/energy' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS' -d '{ "format": "json", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "amount_source": "amount", "amount": "31895", "period_type": "days", "period_amount": "3" }'
buy/energy:计算所需能量的申请示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/buy/energy' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS' -d '{ "format": "json", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "amount_source": "estimate", "estimate_to": "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH,TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo", "estimate_token": "USDT", "estimate_adjust_percent": 0.04, "period_type": "days", "period_amount": "3" }'
buy/energy:请求参数
- to(字符串,必填)- 接收能量的 TRON 地址
- period_amount(整数,必填)- 购买能源的时间段
- period_type(字符串,必填)- 时间段类型。 可能的值: days, hours。
- format(字符串,可选)- 响应格式。 可能的值: json (default), xml。
- amount_source (字符串,必填)- 用于确定委托能量的算法。 如果值为 "amount",则使用参数 "amount" 的值。 如果值为 "estimate",则根据参数 estimate_to, estimate_token, estimate_adjust_percent 计算所需能量。 可能的值: amount, estimate。
- amount(整数,如果 amount_source="amount" 则需要)- 要购买的能源量。 如果是 amount_source="estimate",则忽略。
- estimate_to(字符串,如果 amount_source="estimate" 为必填项)- 用逗号分隔的 TRON 地址列表,令牌交易计划发送到该地址
- estimate_token(字符串,如果是 amount_source="estimate" 则必填)- TRC20 令牌。 可能的值(区分大小写): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX。
- estimate_adjust_percent(十进制,如果 amount_source="estimate" 则需要)--以百分比表示的多余能量。 如果地址的能量正好是所需的量,则可能会发生烧毁 TRX 的情况。 推荐值为 0.04%.
重要信息:目前,只有 6 个时段有效: 1 hour 和 1, 3, 7, 15, 30 days。
buy/energy: 答复
如果成功,响应将包含订单 GUID,您随后可以通过该订单获得其实际详细信息。
{ "status": "ok", "data": { "guid": 81373165, "estimate_task_id": null, "status": 0, "order_cost": "6.051", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": 61000, "period_type": "hours", "energy_delegation_fee": "0.561000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "estimate_task": null }, "balance": "7.29412" }
如果请求中包含 amount_source="estimate",则响应中会多出一个 "estimate_task" 部分。 例如
{ "status": "ok", "data": { "guid": 77082757, "estimate_task_id": 42708906, "status": 0, "order_cost": "0.561", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": null, "period_type": "hours", "energy_delegation_fee": "0.561000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "estimate_task": { "id": 42708906, "token": "USDT", "currency": "USD", "from": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "to": [ "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH", "TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo" ] } }, "balance": "18.29412" }
buy/energy:响应参数
- guid - 顺序 GUID
- balance - 内部账户 TRX 现有资金
- days - 能源供应持续时间(天数),如果 "period_type=days"
- hours - 能源供应持续时间(小时),如果 "period_type=hours"
- estimate_task - 计算(估算)从一个 TRON 地址向另一个 TRON 地址列表发送 TRC20 事务所需的能量
"order/get/{guid}" 方法--获取订单详情
获取有关具体订单的信息。
order/get/{guid} - 申请示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/get/12345' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/get/{guid} - 响应示例
{ "status": "ok", "data": { "guid": 81373165, "estimate_task_id": 32301594, "status": 3, "payment_status": 0, "order_cost_paid": "4.146350000000000000", "order_cost": "4.146350000000000000", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": 31895, "period_type": "hours", "energy_delegation_fee": "0.000000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "resource_txs": [ { "order_guid": 81373165, "delegate_txid": "961b6fbd7cc2090d1a65abc06bfabde1046e02d35394f6eca8d05812a6e3ab7" } ], "estimate_task": { "id": 42708906, "token": "USDT", "currency": "USD", "from": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "to": [ "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH", "TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo" ] } } }
order/get/{guid} - 响应参数
- guid - 顺序 GUID
- balance - 内部账户 TRX 现有资金
- days - 能源供应持续时间(天数),如果 "period_type=days"
- hours - 能源供应持续时间(小时),如果 "period_type=hours"
- to - TRX 能源输送地址
- energy_amount - 能源数量
- order_cost - 订单成本,TRX
- order_cost_paid - 已支付的金额,TRX(如果内部账户资金不足,该金额将小于 "order_cost")
- address_activation_fee - 激活目的地址的费用金额,TRX
- energy_delegation_fee - 因订购量太小而收费,TRX
- resource_txs - 包含 TRON 区块链中资源委托和回收(未委托)交易列表的数组
- status - 订单状态,可能的值见本手册开头的说明
- payment_status - 支付系统中的订单支付状态(可能的值取决于支付系统)
"order/list" 方法 - 获取订单列表
获取订单列表。
order/list - 申请示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/list - 申请参数
- sort(字符串,可选)- 条目排序,默认为 "created_at|desc"
- per_page(整数,可选)- 限制每次回复的条目数
- page(整数,可选)- 响应页面的顺序号
- filter(arrays(objects) 数组,可选)--条目过滤器
order/list - 响应示例
{ "current_page": 1, "data": [ { "guid": 96134274, "status": 4 }, { "guid": 81373165, "status": 3 } ], "first_page_url": "/api/v1/private/order/list?page=1", "from": 1, "last_page": 1, "last_page_url": "/api/v1/private/order/list?page=1", "links": [ { "url": null, "label": "pagination.previous", "active": false }, { "url": "/api/v1/private/order/list?page=1", "label": "1", "active": true }, { "url": null, "label": "pagination.next", "active": false } ], "next_page_url": null, "path": "/api/v1/private/order/list", "per_page": 15, "prev_page_url": null, "to": 2, "total": 2, "draw": null, "status": "ok" }
order/list - 响应参数
- guid - 订单的 GUID
- status - API答复的状况
"account/list" 方法--内部账户列表
获取内部账户列表,包括当前可用资金数额。 由于网站 (buyer, affiliate, seller, dealer) 的每个部分都有一个单独的内部账户,因此账户中有多个账户。
account/list - 申请示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/list - 响应示例
{ "current_page": 1, "data": [ { "guid": 29778748, "user_id": 81841325, "id": 1, "section": "affiliate", "currency": "TRX", "balance": "2.511531" }, { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } ], "first_page_url": "/api/v1/private/account/list?page=1", "from": 1, "last_page": 1, "last_page_url": "/api/v1/private/account/list?page=1", "links": [ { "url": null, "label": "pagination.previous", "active": false }, { "url": "/api/v1/private/account/list?page=1", "label": "1", "active": true }, { "url": null, "label": "pagination.next", "active": false } ], "next_page_url": null, "path": "/api/v1/private/account/list", "per_page": 15, "prev_page_url": null, "to": 2, "total": 2, "draw": null, "status": "ok" }
account/list - 响应参数
- 内部账户的 guid - GUID
- id - 内部账户的顺序 ID
- section - 该余额属于 EnergyFather 的哪个部分
- balance - 可用资金
- currency - 货币
- user_id - 用户的 GUID
"account/get/{id}" 方法--获取准确的内部账户
获取 EnergyFather 特定部分的内部账户余额。 由于每个部分都有自己的账户 (buyer, affiliate, seller, dealer),因此每个用户都有多个账户。 可以先使用 "account/list" 方法获取它们的列表,找出感兴趣的账户的 ‘id’,然后使用此 ‘id’ 获取特定账户的余额。
account/get/{id} - 申请示例
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/get/1' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/get/{id} - 响应示例
{ "status": "ok", "data": { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } }
account/get/{id} - 响应参数
- 内部账户的 guid - GUID
- id - 内部账户的顺序编号
- section - 此余额属于哪个 EnergyFather 部分
- balance - 可用资金
- currency - 货币
- user_id - 用户的 GUID