API dokumentacija

Storitev EnergyFather pomaga kupiti (najeti) energijo in pasovno širino, ki sta potrebni za pošiljanje transakcij v kriptožetonih USDT in drugih kriptožetonih TRC20; pasovna širina je potrebna tudi za pošiljanje vseh vrst transakcij v verigi blokov TRON, kot so pošiljanje TRX, uveljavljanje nagrad in glasovanje za Super Representatives.

Postopek nakupa energije

Za nakup energije se morate registrirati v storitev EnergyFather, na strani "Kupec > API žetoni" pridobiti avtorizacijski žeton in napolniti stanje na računu kupca.

Po oblikovanju naročila (metoda ‘buy/energy’) se lahko energija dostavi z zamudo več sekund ali celo minut, zato je pri razvoju avtomatiziranih sistemov priporočljivo redno preverjati izvedbo naročila z metodo ‘order/get/{guid}’.

Če na primer nameravate poslati USDT in želite transakcije poceniti z nakupom energije, storite naslednje:

  • uporabite metodo ‘buy/energy’, da ocenite potrebno količino energije in jo kupite,
  • občasno zahteva ‘order/get/{guid}’ metodo, dokler se energija ne prenese (običajno to traja nekaj sekund),
  • pošljite USDT (kupljena energija bo uporabljena za plačilo pristojbine za transakcijo).

Splošne opombe

V tej dokumentaciji izraz, zavit v oglate oklepaje, kot je ‘{guid}’ ali ‘{id}’, pomeni vrednost ustrezne spremenljivke:

  • ‘{guid}’ je globalni enolični identifikator predmeta v EnergyFather (običajno 8 številk),
  • ‘{id}’ je zaporedna številka predmeta za tega uporabnika (številčenje se za vsakega uporabnika začne s ‘1’).

API Končna točka

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

Zahteve pošljite z metodo POST.

Odobritev zahtevkov

Za potrditev (avtorizacijo) zahtevkov do zasebnega API je treba posredovati glavo HTTP:

Token: {token}

Upravljanje avtorizacijskih žetonov se nahaja v nadzorni plošči na strani "Kupec > API žetoni".

Informacije o naročilu 123456 lahko na primer dobite na naslednji način:

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

Status naročila

  • "0" - V obravnavi. Naročilo je bilo pravkar ustvarjeno.
  • "1" - Čakamo na plačilo. Povezava za plačilo je že ustvarjena, EnergyFather čaka na povratni klic iz plačilnega sistema. Ta status se ne uporablja, če je naročilo v celoti plačano s sredstvi, ki so na voljo na notranjem računu.
  • "2" - Postopek prenosa energije je v teku.
  • "3" - Delegacija. Oddaja se energija.
  • "4" - Reclaimed (Undelegated). Energija je umaknjena zaradi konca plačanega časovnega obdobja.
  • "5" - Plačano. Naročilo je plačano in dodano v čakalno vrsto za dobavo energije.
  • "6" - Napaka.

Običajno zaporedje statusov: 0, 5, 2, 3, 4.

API metode
  • /api/v1/private/buy/energy - nakup energije (plačana z notranjega računa)
  • /api/v1/private/order/list - pridobite seznam svojih naročil
  • /api/v1/private/order/get/{guid} - pridobite informacije o svojem naročilu
  • /api/v1/private/account/list - pridobite seznam svojih notranjih računov
  • /api/v1/private/account/get/{id} - pridobite informacije o svojem notranjem računu

Metoda "buy/energy" - nakup energije (plačilo z notranjega računa)

Zahteva registriranega odjemalca za nakup energije z bremenitvijo notranjega računa. Energija se takoj pošlje na navedeni naslov.

Če na notranjem računu ni dovolj sredstev, se naročilo ustvari in takoj dobi status "6" (napaka). V tem primeru morate obiskati centralo, položiti nekaj sredstev in nato poslati novo API zahtevo za nakup energije.

Količino energije, ki jo je treba kupiti, lahko določite na dva načina:

a) Natančno količino energije lahko določite v parametru "amount", nato pa morate nastaviti tudi amount_source="amount".

b) Če ne veste, koliko energije potrebuje transakcija za pošiljanje USDT ali drugega žetona, lahko nastavite amount_source="estimate" in izpolnite ustrezne parametre (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Primer zahteve s točno določeno količino energije

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: Primer zahteve z izračunom potrebne količine energije

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: Zahteva params

  • to (niz, obvezno) - TRON naslov, na katerega se prenese energija
  • period_amount (celo število, obvezno) - časovno obdobje za nakup energije
  • period_type (niz, obvezno) - vrsta časovnega obdobja. Možne vrednosti: days, hours.
  • format (niz, neobvezno) - oblika odgovora. Možne vrednosti: json (default), xml.
  • amount_source (niz, obvezno) - algoritem za določanje količine prenesene energije. Če je vrednost "amount", se uporabi vrednost parametra "amount". Če je vrednost "estimate", se zahtevana količina energije izračuna na podlagi parametra estimate_to, estimate_token, estimate_adjust_percent. Možne vrednosti: amount, estimate.
  • amount (celo število, obvezno, če je amount_source="amount") - količina energije, ki jo je treba kupiti. Ne upošteva se, če je amount_source="estimate".
  • estimate_to (niz, obvezno, če amount_source="estimate") - z vejico ločen seznam TRON naslovov, na katere se načrtuje pošiljanje transakcij s žetoni
  • estimate_token (niz, obvezno, če je amount_source="estimate") - žeton TRC20. Možne vrednosti (odvisno od velikosti črk): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimalno, obvezno, če je amount_source="estimate") - količina presežne energije, izražena v odstotkih. Ta presežek je potreben, da se izognemo izgorevanju TRX, kar se lahko zgodi, če ima naslov natančno potrebno količino energije. Priporočena vrednost je 0.04%.

Pomembno: Trenutno je veljavnih le 6 obdobij: 1 hour in 1, 3, 7, 15, 30 days.

buy/energy: Odziv

V primeru uspeha bo odgovor vseboval naročilo GUID, s katerim lahko pozneje pridobite njegove dejanske podrobnosti.

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

Če zahteva vsebuje amount_source="estimate", ima odgovor dodaten razdelek "estimate_task". Na primer:

{
	"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: Odzivne parame

  • guid - naročilo GUID
  • balance - sredstva, ki so trenutno na voljo na notranjem računu, TRX
  • days - trajanje oskrbe z energijo v dnevih, če "period_type=days"
  • hours - trajanje oskrbe z energijo v urah, če "period_type=hours"
  • estimate_task - izračun (ocena) energije, potrebne za pošiljanje transakcij TRC20 z enega naslova TRON na seznam drugega naslova TRON

Metoda "order/get/{guid}" - pridobivanje podatkov o naročilu

Pridobivanje informacij o določenem naročilu.

order/get/{guid} - Zahteva za primer

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

order/get/{guid} - Primer odziva

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

  • guid - naročilo GUID
  • balance - sredstva, ki so trenutno na voljo na notranjem računu, TRX
  • days - trajanje oskrbe z energijo v dnevih, če "period_type=days"
  • hours - trajanje oskrbe z energijo v urah, če "period_type=hours"
  • to - TRX naslov, kamor se dobavlja energija
  • energy_amount - količina energije
  • order_cost - stroški naročila, TRX
  • order_cost_paid - že plačani znesek, TRX (v primeru nezadostnih sredstev na notranjem računu bo ta znesek manjši od "order_cost")
  • address_activation_fee - znesek pristojbine za aktivacijo ciljnega naslova, TRX
  • energy_delegation_fee - pristojbina za premajhno velikost naročila, TRX
  • resource_txs - polje, ki vsebuje seznam transakcij v verigi blokov TRON, pri katerih so sredstva delegirana in povrnjena (nedelegirana).
  • status - stanje naročila, možne vrednosti so opisane na začetku tega priročnika
  • payment_status - status plačila naročila v plačilnem sistemu (možne vrednosti so odvisne od plačilnega sistema)

Metoda "order/list" - pridobitev seznama naročil

Pridobitev seznama naročil.

order/list - Zahteva za primer

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

order/list - Paramele zahtevka

  • sort (niz, neobvezno) - razvrščanje vnosov, privzeto "created_at|desc"
  • per_page (celo število, neobvezno) - omejitev števila vnosov na odgovor
  • page (celo število, neobvezno) - zaporedna številka strani z odgovorom
  • filter (polje arrays(objects), neobvezno) - filter vnosov

order/list - Primer odziva

{
	"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 - Parametri odziva

  • guid - GUID naročila
  • status - stanje odziva API

Metoda "account/list" - popis notranjih računov

Pridobitev seznama notranjih računov, vključno z zneskom trenutno razpoložljivih sredstev. Ker je za vsak del spletnega mesta ločen notranji račun (buyer, affiliate, seller, dealer), je na računu več računov.

account/list - Zahteva za primer

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

account/list - Primer odziva

{
	"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 - Parametri odziva

  • guid - GUID notranjega računa
  • id - zaporedni ID notranjega računa
  • section - v kateri oddelek EnergyFather spada ta bilanca
  • balance - razpoložljiva sredstva
  • currency - valuta
  • user_id - GUID uporabnika

Metoda "account/get/{id}" - pridobivanje natančnega notranjega računa

Pridobitev stanja notranjega računa za določen oddelek EnergyFather. Ker ima vsaka sekcija svoj račun (buyer, affiliate, seller, dealer), je za vsakega uporabnika na voljo več računov. Najprej lahko z metodo "account/list" pridobite njihov seznam, ugotovite ‘id’ računa, ki vas zanima, in nato ta ‘id’ uporabite za pridobitev stanja določenega računa.

account/get/{id} - Zahteva za primer

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

account/get/{id} - Primer odziva

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

account/get/{id} - Parametri odziva

  • guid - GUID notranjega računa
  • id - zaporedni ID notranjega računa
  • section - v kateri oddelek EnergyFather spada ta bilanca
  • balance - razpoložljiva sredstva
  • currency - valuta
  • user_id - GUID uporabnika