Documentació API

El servei EnergyFather ajuda a comprar (llogar) l'energia i l'amplada de banda necessàries per enviar transaccions en USDT i altres cripto-tokens TRC20; també es necessita amplada de banda per enviar qualsevol tipus de transacció a la cadena de blocs TRON, com ara enviar TRX, reclamar recompenses i votar per Super Representatives.

Procediment de compra d'energia

Per comprar energia, heu de registrar-vos al servei EnergyFather, agafar el testimoni d'autorització de la pàgina "Comprador > fitxes API" i recarregar el saldo del compte del comprador.

Després de crear una comanda (mètode ‘buy/energy’) l'energia es pot lliurar amb un retard de diversos segons o fins i tot minuts, per la qual cosa quan es desenvolupen sistemes automatitzats es recomana comprovar periòdicament l'execució de l'ordre sol·licitant el mètode ‘order/get/{guid}’.

Per exemple, si teniu previst enviar USDT i voleu fer transaccions més barates comprant energia, feu el següent:

  • sol·licitar el mètode ‘buy/energy’ per estimar la quantitat d'energia necessària i comprar-la,
  • sol·licitar periòdicament el mètode ‘order/get/{guid}’ fins que es delega energia (normalment triga uns segons),
  • enviar USDT (l'energia comprada s'utilitzarà per pagar la comissió de transacció).

Notes generals

En aquesta documentació, una expressió embolicada entre claus com ‘{guid}’ o ‘{id}’ significa el valor de la variable corresponent:

  • ‘{guid}’ és l'identificador únic global de l'objecte a EnergyFather (normalment 8 dígits),
  • ‘{id}’ és el número seqüencial de l'objecte per a aquest usuari (la numeració comença amb ‘1’ per a cada usuari).

Punt final API

https://panel.energyfather.com/api/v1/private

Envieu sol·licituds mitjançant el mètode POST.

Autorització de sol·licituds

Per confirmar (autoritzar) les sol·licituds a un API privat, s'ha de passar una capçalera HTTP:

Token: {token}

La gestió dels tokens d'autorització es troba al panell de control, a la pàgina "Comprador > tokens API".

Per exemple, podeu obtenir informació sobre el 123456 de comandes de la manera següent:

CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' 
-H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

Estat de la comanda

  • "0" - Pendent. L'ordre s'acaba de crear.
  • "1" - A l'espera del pagament. L'enllaç de pagament ja s'ha generat, EnergyFather està esperant una devolució de trucada del sistema de pagament. Aquest estat no s'utilitza si la comanda es paga íntegrament amb fons disponibles al compte intern.
  • "2" - El procediment de delegació d'energia està en curs.
  • "3" - Delegat. L'energia es distribueix.
  • "4" - Recuperat (no delegat). L'energia es retira a causa del final del període de temps pagat.
  • "5" - Pagat. La comanda es paga i s'afegeix a la cua de lliurament d'energia.
  • "6" - Error.

La seqüència habitual d'estats: 0, 5, 2, 3, 4.

Mètodes API
  • /api/v1/private/buy/energy – compra d'energia (pagada des del compte intern)
  • /api/v1/private/order/list: obteniu una llista de les vostres comandes
  • /api/v1/private/order/get/{guid}: obteniu informació sobre la vostra comanda
  • /api/v1/private/account/list – obteniu una llista dels vostres comptes interns
  • /api/v1/private/account/get/{id} – Obteniu informació sobre el vostre compte intern

El mètode "buy/energy": compra d'energia (pagada des d'un compte intern)

Sol·licitud de compra d'energia per part d'un client registrat amb dèbit del compte intern. L'energia s'envia immediatament a l'adreça especificada.

Si el compte intern no té fons suficients, la comanda es crearà i obtindrà instantàniament l'estat "6" (Error). En aquest cas, heu de visitar el panell, dipositar alguns fons i després enviar una nova sol·licitud API per a la compra d'energia.

Hi ha dues maneres de definir la quantitat d'energia a comprar:

a) Podeu establir la quantitat exacta d'energia al paràmetre "amount", llavors també hauríeu d'establir amount_source="amount".

b) Si no sabeu quanta energia es requereix perquè una transacció enviï USDT o un altre token, podeu establir amount_source="estimate" i omplir els paràmetres adequats (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Exemple de sol·licitud amb la quantitat exacta d'energia

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: Exemple de sol·licitud amb càlcul de la quantitat d'energia necessària

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: Sol·licitud de paràmetres

  • to (cadena, obligatòria) – Adreça TRON a la qual s'ha de delegar l'energia
  • period_amount (enter, obligatori) – període de temps per comprar energia
  • period_type (cadena, obligatòria) – tipus de període de temps. Valors possibles: days, hours.
  • format (cadena, opcional) – format de resposta. Valors possibles: json (default), xml.
  • amount_source (cadena, obligatòria) – algorisme per determinar la quantitat d'energia delegada. Si el valor és "amount", s'utilitza el valor del paràmetre "amount". Si el valor és "estimate", la quantitat d'energia necessària es calcula en funció dels paràmetres estimate_to, estimate_token, estimate_adjust_percent. Valors possibles: amount, estimate.
  • amount (enter, obligatori si amount_source="amount") – quantitat d'energia a comprar. S'ignora si amount_source="estimate".
  • estimate_to (cadena, obligatòria si amount_source="estimate") – llista separada per comes d'adreces TRON a les quals es preveu enviar transaccions de token
  • estimate_token (cadena, necessària si amount_source="estimate") – el testimoni TRC20. Valors possibles (distingeix entre majúscules i minúscules): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimal, obligatori si amount_source="estimate") – la quantitat d'energia en excés expressada en percentatge. Aquest excés és necessari per evitar cremar TRX, cosa que pot passar si l'adreça té exactament la quantitat d'energia necessària. El valor recomanat és 0.04%.

Important: Actualment, només són vàlids 6 períodes: 1 hour i 1, 3, 7, 15, 30 days.

buy/energy: Resposta

En cas d'èxit, la resposta contindrà l'ordre GUID, mitjançant el qual posteriorment podreu obtenir els seus detalls reals.

{
	"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"
}

Si la sol·licitud conté amount_source="estimate", la resposta té una secció addicional "estimate_task". Per exemple:

{
	"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: Paràmetres de resposta

  • guid - l'ordre GUID
  • balance – fons actualment disponibles al compte intern, TRX
  • days – durada del subministrament d'energia en dies, si "period_type=days"
  • hours – durada del subministrament d'energia en hores, si "period_type=hours"
  • estimate_task – càlcul (estimació) de l'energia necessària per enviar transaccions TRC20 des d'una adreça TRON a la llista d'altres adreces TRON

El mètode "order/get/{guid}": obtenir detalls de l'ordre

Obtenir informació sobre la comanda concreta.

order/get/{guid} – Sol·licitud d'exemple

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/order/get/12345' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

order/get/{guid} – Exemple de resposta

{
	"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} – Paràmetres de resposta

  • guid - l'ordre GUID
  • balance – fons actualment disponibles al compte intern, TRX
  • days – durada del subministrament d'energia en dies, si "period_type=days"
  • hours – durada del subministrament d'energia en hores, si "period_type=hours"
  • to – Adreça TRX on es lliura l'energia
  • energy_amount – quantitat d'energia
  • order_cost – cost de la comanda, TRX
  • order_cost_paid – import ja pagat, TRX (en cas de fons insuficients al compte intern aquest import serà inferior a "order_cost")
  • address_activation_fee – import de la tarifa per l'activació de l'adreça de destinació, TRX
  • energy_delegation_fee - tarifa per mida de comanda massa petita, TRX
  • resource_txs – matriu que conté la llista de transaccions a la cadena de blocs TRON on els recursos es deleguen i recuperen (no delegats)
  • status – estat de la comanda, els valors possibles es descriuen al principi d'aquest manual
  • payment_status – estat de pagament de la comanda al sistema de pagament (els valors possibles depenen del sistema de pagament)

El mètode "order/list": obtenir la llista d'ordres

Obtenció de la llista de comandes.

order/list – Sol·licitud d'exemple

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/order/list' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

order/list – Sol·licitud de paràmetres

  • sort (cadena, opcional) – ordenació d'entrades, per defecte "created_at|desc"
  • per_page (enter, opcional): limita el nombre d'entrades per resposta
  • page (enter, opcional) – número seqüencial de la pàgina de resposta
  • filter (matriu de arrays(objects), opcional) – filtre d'entrades

order/list – Exemple de resposta

{
	"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 – Paràmetres de resposta

  • guid – GUID de l'ordre
  • status – estat de la resposta de API

El mètode "account/list": llista de comptes interns

Obtenir una llista de comptes interns, inclosa la quantitat de fons disponibles actualment. Com que hi ha un compte intern separat per a cada secció del lloc (buyer, affiliate, seller, dealer), hi ha diversos comptes al compte.

account/list – Sol·licitud d'exemple

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/account/list' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

account/list – Exemple de resposta

{
	"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 – Paràmetres de resposta

  • guid – GUID del compte intern
  • id – ID seqüencial del compte intern
  • section – a la secció EnergyFather pertany aquest saldo
  • balance – fons disponibles
  • currency – moneda
  • user_id – GUID de l'usuari

El mètode "account/get/{id}": obtenir el compte intern exacte

Obtenció del saldo del compte intern d'una secció concreta de EnergyFather. Com que cada secció té el seu propi compte (buyer, affiliate, seller, dealer), hi ha diversos comptes per a cada usuari. Primer podeu utilitzar el mètode "account/list" per obtenir la seva llista, esbrinar els ‘id’ del compte d'interès i, a continuació, utilitzar aquest ‘id’ per obtenir el saldo d'un compte concret.

account/get/{id} – Sol·licitud d'exemple

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/account/get/1' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

account/get/{id} – Exemple de resposta

{
	"status": "ok",
	"data": {
		"guid": 64463815,
		"user_id": 81841325,
		"id": 2,
		"section": "buyer",
		"currency": "TRX",
		"balance": "41.704"
	}
}

account/get/{id} – Paràmetres de resposta

  • guid – GUID del compte intern
  • id: identificador seqüencial del compte intern
  • section - a quina secció EnergyFather pertany aquesta balança
  • balance - fons disponibles
  • currency - moneda
  • user_id - GUID de l'usuari