Dokumentacija API

Storitev EnergyFather pomaga kupiti (najeti) energijo in pasovno širino, ki sta potrebni za pošiljanje transakcij v 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 storitvi 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 izvršitev naročila z metodo ‘order/get/{guid}’.

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

  • zahteva metodo ‘buy/energy’, da oceni potrebno količino energije in jo kupi,
  • redno zahteva metodo ‘order/get/{guid}’, dokler se energija ne prenese (običajno 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 edinstveni identifikator predmeta v EnergyFather (običajno 8 številk),
  • ‘{id}’ je zaporedna številka predmeta za tega uporabnika (številčenje se za vsakega uporabnika začne z ‘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 bila že ustvarjena, EnergyFather čaka na povratni klic iz plačilnega sistema. To stanje se ne uporablja, če je naročilo v celoti plačano s sredstvi, ki so na voljo na notranjem računu.
  • "2" - Postopek prenosa pristojnosti na področju energije je v teku.
  • "3" - preneseno. Oddaja se energija.
  • "4" - povrnjeno (nedelegirano). 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čano 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 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 panel, položiti nekaj sredstev in nato poslati novo zahtevo API za nakup energije.

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

a) V parametru "amount" lahko nastavite natančno količino energije, 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 z natančno 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: Parametri zahteve

  • to (niz, obvezno) - naslov TRON, 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 za nakup. Če je amount_source="estimate", se ne upošteva.
  • estimate_to (niz, obvezno, če je amount_source="estimate") - z vejico ločen seznam naslovov TRON, 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 prepreči izgorevanje 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: Parami 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"
  • estimate_task - izračun (ocena) energije, potrebne za pošiljanje transakcij TRC20 z enega naslova TRON na seznam drugih naslovov TRON

Metoda "order/get/{guid}" - pridobivanje podrobnosti naročila

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 za dobavo energije
  • 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 s seznamom 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 naloga 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 - Primer zahteve

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

order/list - Parametri zahteve

  • 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 odgovora
  • filter (polje arrays(objects), neobvezno) - filter vnosov

order/list - Primer odgovora

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

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

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

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

account/list - Primer zahteve

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 - Parami odziva

  • guid - GUID notranjega računa
  • id - zaporedna 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 vsak oddelek svoj račun (buyer, affiliate, seller, dealer), je za vsakega uporabnika 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} - Primer zahteve

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

account/get/{id} - Primer odgovora

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

account/get/{id} - Parami 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