API dokumentacija

Paslauga EnergyFather padeda pirkti (nuomotis) energiją ir dažnių juostos plotį, reikalingą USDT ir kitų TRC20 kriptovaliutų sandoriams siųsti; dažnių juostos pločio taip pat reikia norint siųsti bet kokio tipo sandorius TRON blokų grandinėje, pavyzdžiui, siųsti TRX, reikalauti atlygio ir balsuoti už Super Representatives.

Energijos pirkimo procedūra

Norėdami įsigyti energijos, turite užsiregistruoti EnergyFather paslaugoje, paimti autorizacijos žetoną iš puslapio "Pirkėjas > API žetonai" ir papildyti Pirkėjo sąskaitos likutį.

Sukūrus užsakymą (metodas ‘buy/energy’), energija gali būti pristatyta su kelių sekundžių ar net minučių vėlavimu, todėl kuriant automatizuotas sistemas rekomenduojama periodiškai tikrinti užsakymo vykdymą naudojant metodą ‘order/get/{guid}’.

Pavyzdžiui, jei planuojate siųsti USDT ir norite, kad sandoriai būtų pigesni perkant energiją, atlikite šiuos veiksmus:

  • naudoti ‘buy/energy’ metodą, kad apskaičiuotumėte reikiamą energijos kiekį ir ją nusipirktumėte,
  • periodiškai prašyti ‘order/get/{guid}’ metodo, kol energija bus perduota (paprastai tai trunka kelias sekundes),
  • siųsti USDT (nupirkta energija bus panaudota sandorio mokesčiui sumokėti).

Bendrosios pastabos

Šioje dokumentacijoje išraiška, suvaryta į laužtinius skliaustus, pavyzdžiui, ‘{guid}’ arba ‘{id}’, reiškia atitinkamo kintamojo vertę:

  • ‘{guid}’ - visuotinis unikalus objekto identifikatorius EnergyFather (paprastai 8 skaitmenys),
  • ‘{id}’ - šio naudotojo objekto eilės numeris (kiekvieno naudotojo numeracija prasideda ‘1’).

API Galutinis taškas

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

Siųskite užklausas naudodami POST metodą.

Prašymų autorizavimas

Norint patvirtinti (autorizuoti) užklausas privačiam API, reikia perduoti antraštę HTTP:

Token: {token}

Autorizavimo žetonų valdymas yra valdymo skydelyje, puslapyje "Pirkėjas > API žetonai".

Pavyzdžiui, informaciją apie užsakymą 123456 galite gauti taip:

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

Užsakymo būsena

  • "0" - Laukiama. Užsakymas ką tik sukurtas.
  • "1" - Laukiama mokėjimo. Mokėjimo nuoroda jau sukurta, EnergyFather laukiama grįžtamojo skambučio iš mokėjimo sistemos. Ši būsena nenaudojama, jei užsakymas apmokamas tik vidinėje sąskaitoje esančiomis lėšomis.
  • "2" - Vyksta energijos perdavimo procedūra.
  • "3" - Deleguota. Energija atiduodama.
  • "4" - Reclaimed (Neįgaliotas). Energija atsiimama dėl apmokėto laikotarpio pabaigos.
  • "5" - Apmokėta. Užsakymas apmokėtas ir įtrauktas į energijos pristatymo eilę.
  • "6" - Klaida.

Įprasta būsenų seka: 0, 5, 2, 3, 4.

API metodai
  • /api/v1/private/buy/energy - pirkti energiją (mokama iš vidaus sąskaitos)
  • /api/v1/private/order/list - gaukite užsakymų sąrašą
  • /api/v1/private/order/get/{guid} - gaukite informacijos apie savo užsakymą
  • /api/v1/private/account/list - gaukite vidinių paskyrų sąrašą
  • /api/v1/private/account/get/{id} - gaukite informaciją apie savo vidinę paskyrą

"buy/energy" metodas - pirkti energiją (mokama iš vidinės sąskaitos)

Registruoto kliento prašymas pirkti energiją, nurašant lėšas iš vidinės sąskaitos. Energija nedelsiant išsiunčiama nurodytu adresu.

Jei vidinėje sąskaitoje nepakanka lėšų, užsakymas bus sukurtas ir iš karto gaus būseną "6" (Klaida). Tokiu atveju reikia apsilankyti skydelyje, įnešti dalį lėšų ir tada išsiųsti naują API energijos pirkimo užklausą.

Yra du būdai, kaip nustatyti perkamos energijos kiekį:

a) Tikslų energijos kiekį galite nustatyti parametre "amount", tada taip pat turėtumėte nustatyti amount_source="amount".

b) Jei nežinote, kiek energijos reikia sandoriui išsiųsti USDT ar kitam žetonui, galite nustatyti amount_source="estimate" ir užpildyti atitinkamus parametrus (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Pavyzdinė užklausa su tiksliu energijos kiekiu

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: Pavyzdinė užklausa su reikalingo energijos kiekio apskaičiavimu

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: Užklausos parametrai

  • to (string, privaloma) - TRON adresas, kuriam turi būti perduota energija
  • period_amount (sveikasis skaičius, privalomas) - energijos pirkimo laikotarpis
  • period_type (eilutė, privaloma) - laikotarpio tipas. Galimos reikšmės: days, hours.
  • format (eilutė, neprivaloma) - atsakymo formatas. Galimos reikšmės: json (default), xml.
  • amount_source (eilutė, privaloma) - deleguotos energijos kiekio nustatymo algoritmas. Jei reikšmė "amount", tuomet naudojama parametro "amount" reikšmė. Jei reikšmė yra "estimate", reikalingas energijos kiekis apskaičiuojamas pagal parametrą estimate_to, estimate_token, estimate_adjust_percent. Galimos reikšmės: amount, estimate.
  • amount (sveikasis skaičius, privalomas, jei amount_source="amount") - perkamos energijos kiekis. Į ją neatsižvelgiama, jei amount_source="estimate".
  • estimate_to (eilutė, privaloma, jei amount_source="estimate") - kableliais atskirtas TRON adresų, į kuriuos planuojama siųsti žetonų operacijas, sąrašas
  • estimate_token (eilutė, privaloma, jei amount_source="estimate") - simbolis TRC20. Galimos reikšmės (priklauso nuo mažųjų ir didžiųjų raidžių): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (dešimtainė, būtina, jei amount_source="estimate") - perteklinės energijos kiekis, išreikštas procentais. Šis perteklius reikalingas tam, kad būtų išvengta sudegimo TRX, kuris gali įvykti, jei adresas turi lygiai tiek energijos, kiek reikia. Rekomenduojama reikšmė yra 0.04%.

Svarbu: šiuo metu galioja tik 6 laikotarpiai: 1 hour ir 1, 3, 7, 15, 30 days.

buy/energy: Atsakymas

Sėkmės atveju atsakyme bus pateiktas užsakymas GUID, pagal kurį vėliau galėsite sužinoti tikrąją jo informaciją.

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

Jei užklausoje yra amount_source="estimate", atsakyme yra papildomas skyrius "estimate_task". Pavyzdžiui:

{
	"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: Response params

  • guid - užsakymas GUID
  • balance - šiuo metu vidaus sąskaitoje esančios lėšos, TRX
  • days - energijos tiekimo trukmė dienomis, jei "period_type=days"
  • hours - energijos tiekimo trukmė valandomis, jei "period_type=hours"
  • estimate_task - energijos, reikalingos TRC20 sandoriams iš vieno TRON adreso į kito TRON adreso sąrašą išsiųsti, apskaičiavimas (įvertinimas)

"order/get/{guid}" metodas - informacijos apie užsakymą gavimas

informacijos apie konkretų užsakymą gavimas.

order/get/{guid} - Užklausos pavyzdys

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

order/get/{guid} - atsakymo pavyzdys

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

  • guid - užsakymas GUID
  • balance - šiuo metu vidaus sąskaitoje esančios lėšos, TRX
  • days - energijos tiekimo trukmė dienomis, jei "period_type=days"
  • hours - energijos tiekimo trukmė valandomis, jei "period_type=hours"
  • to - TRX adresas, kuriuo tiekiama energija
  • energy_amount - energijos kiekis
  • order_cost - užsakymo kaina, TRX
  • order_cost_paid - jau sumokėta suma, TRX (jei vidaus sąskaitoje nepakanka lėšų, ši suma bus mažesnė nei "order_cost")
  • address_activation_fee - paskirties adreso aktyvavimo mokesčio suma, TRX
  • energy_delegation_fee - mokestis už per mažą užsakymo dydį, TRX
  • resource_txs - masyvas, kuriame pateikiamas TRON blokų grandinės sandorių, kai ištekliai yra deleguoti ir susigrąžinti (nedeleguoti), sąrašas.
  • status - užsakymo būsena, galimos reikšmės aprašytos šio vadovo pradžioje
  • payment_status - užsakymo apmokėjimo būsena mokėjimo sistemoje (galimos reikšmės priklauso nuo mokėjimo sistemos)

"order/list" metodas - užsakymų sąrašo gavimas

Užsakymų sąrašo gavimas.

order/list - Užklausos pavyzdys

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

order/list - Užklausos parametrai

  • sort (eilutė, neprivaloma) - įrašų rūšiavimas, pagal nutylėjimą "created_at|desc"
  • per_page (sveikasis skaičius, neprivaloma) - apriboti vieno atsakymo įrašų skaičių
  • page (sveikasis skaičius, neprivalomas) - atsakymo puslapio eilės numeris
  • filter (arrays(objects) masyvas, neprivaloma) - įrašų filtras

order/list - Atsakymo pavyzdys

{
	"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 - Atsakymo parametrai

  • guid - užsakymo GUID
  • status - atsakymo statusas API

Metodas "account/list" - vidaus sąskaitų sąrašo sudarymas

Vidaus sąskaitų sąrašo gavimas, įskaitant šiuo metu turimų lėšų sumą. Kadangi kiekvienam svetainės skyriui yra atskira vidinė sąskaita (buyer, affiliate, seller, dealer), sąskaitoje yra kelios sąskaitos.

account/list - Prašymo pavyzdys

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

account/list - Atsakymo pavyzdys

{
	"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 - Atsakymo parametrai

  • guid - GUID vidinės sąskaitos
  • id - vidinės sąskaitos seka ID
  • section - kuriam EnergyFather skyriui priklauso šis likutis
  • balance - turimos lėšos
  • currency - valiuta
  • user_id - GUID naudotojo

Metodas "account/get/{id}" - tikslios vidinės sąskaitos gavimas

Vidinės sąskaitos likučio gavimas konkrečiame skyriuje EnergyFather. Kadangi kiekvienas skyrius turi savo sąskaitą (buyer, affiliate, seller, dealer), kiekvienam naudotojui yra kelios sąskaitos. Pirmiausia naudodami metodą "account/list" galite gauti jų sąrašą, išsiaiškinti dominančios sąskaitos ‘id’ ir tada, naudodami šį ‘id’, gauti konkrečios sąskaitos likutį.

account/get/{id} - Užklausos pavyzdys

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

account/get/{id} - atsakymo pavyzdys

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

account/get/{id} - atsakymo parametrai

  • guid - GUID vidinės sąskaitos
  • id - vidinės sąskaitos nuoseklusis ID
  • section - kuriam EnergyFather skyriui priklauso šis balansas
  • balance - turimos lėšos
  • currency - valiuta
  • user_id - GUID naudotojo