API 文档

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 方法
  • /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