API dokumentacija

Usluga EnergyFather pomaže u kupnji (iznajmljivanju) energije i propusnosti potrebne za slanje transakcija u USDT i drugim TRC20 kripto-tokenima; propusnost je također potrebna za slanje bilo koje vrste transakcije na TRON blockchainu, kao što je slanje TRX, traženje nagrada i glasovanje za Super Representatives.

Postupak kupnje energije

Da biste kupili energiju, morate se registrirati u usluzi EnergyFather, zgrabiti token za autorizaciju sa stranice "Tokeni kupca > API" i nadopuniti stanje računa kupca.

Nakon kreiranja naloga (metoda ‘buy/energy’) energija se može isporučiti sa zakašnjenjem od nekoliko sekundi ili čak minuta, pa se prilikom razvoja automatiziranih sustava preporučuje periodično provjeravanje izvršenja naloga metodom zahtjeva ‘order/get/{guid}’.

Na primjer, ako planirate poslati USDT i želite pojeftiniti transakcije kupnjom energije, učinite sljedeće:

  • zatražiti ‘buy/energy’ metodu za procjenu potrebne količine energije i kupiti je,
  • povremeno zahtijevati ‘order/get/{guid}’ metodu dok se energija ne delegira (obično traje nekoliko sekundi),
  • poslati USDT (kupljena energija koristit će se za plaćanje transakcijske naknade).

Opće napomene

U ovoj dokumentaciji, izraz umotan u vitičaste zagrade kao što je ‘{guid}’ ili ‘{id}’ znači vrijednost odgovarajuće varijable:

  • ‘{guid}’ je globalni jedinstveni identifikator objekta u EnergyFather (obično 8 znamenki),
  • ‘{id}’ je uzastopni broj objekta za ovog korisnika (numeriranje počinje s ‘1’ za svakog korisnika).

API Krajnja točka

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

Šaljite zahtjeve koristeći POST metodu.

Autorizacija zahtjeva

Za potvrdu (autorizaciju) zahtjeva privatnom API, potrebno je proslijediti zaglavlje HTTP:

Token: {token}

Upravljanje autorizacijskim tokenima nalazi se na upravljačkoj ploči, na stranici "Kupac > API tokeni".

Na primjer, informacije o 123456 narudžbe možete dobiti na sljedeći način:

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

Status narudžbe

  • "0" - Na čekanju. Narudžba je upravo stvorena.
  • "1" - Čeka se plaćanje. Link za plaćanje već je generiran, EnergyFather čeka povratni poziv iz platnog sustava. Ovaj se status ne koristi ako je narudžba u cijelosti plaćena sredstvima dostupnim na internom računu.
  • "2" - Postupak delegiranja energetike je u tijeku.
  • "3" - Delegirano. Energija se izdaje.
  • "4" - Vraćeno (nedelegirano). Energija se povlači zbog isteka plaćenog vremenskog razdoblja.
  • "5" - Plaćeno. Narudžba se plaća i dodaje u red za isporuku energije.
  • "6" - Pogreška.

Uobičajeni slijed statusa: 0, 5, 2, 3, 4.

API metode
  • /api/v1/private/buy/energy – kupnja energije (plaća se s internog računa)
  • /api/v1/private/order/list – nabavite popis svojih narudžbi
  • /api/v1/private/order/get/{guid} – dobijte informacije o svojoj narudžbi
  • /api/v1/private/account/list – nabavite popis svojih internih računa
  • /api/v1/private/account/get/{id} – dobijte informacije o svom internom računu

"buy/energy" metoda – kupnja energije (plaća se s internog računa)

Zahtjev za kupnju energije od strane registriranog kupca s terećenjem s internog računa. Energija se odmah šalje na navedenu adresu.

Ako interni račun nema dovoljno sredstava, narudžba će se kreirati i odmah će dobiti status "6" (Pogreška). U tom slučaju trebate posjetiti ploču, položiti neka sredstva, a zatim poslati novi API zahtjev za kupnju energije.

Postoje dva načina za definiranje količine energije koja se kupuje:

a) Možete postaviti točnu količinu energije u parametru "amount", a zatim biste trebali postaviti i amount_source="amount".

b) Ako ne znate koliko je energije potrebno za transakciju za slanje USDT ili drugog tokena, možete postaviti amount_source="estimate" i ispuniti odgovarajuće parametre (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Primjer zahtjeva s točnom količinom 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: Primjer zahtjeva s 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 zahtjeva

  • to (string, obavezno) – TRON adresa na koju se energija delegira
  • period_amount (cijeli broj, obavezno) – vremensko razdoblje za kupnju energije
  • period_type (niz, obavezno) – vrsta vremenskog razdoblja. Moguće vrijednosti: days, hours.
  • format (niz, opcionalno) – format odgovora. Moguće vrijednosti: json (default), xml.
  • amount_source (string, obavezno) – algoritam za određivanje količine delegirane energije. Ako je vrijednost "amount", tada se koristi vrijednost parametra "amount". Ako je vrijednost "estimate", potrebna količina energije izračunava se na temelju parametara estimate_to, estimate_token, estimate_adjust_percent. Moguće vrijednosti: amount, estimate.
  • amount (cijeli broj, potreban ako amount_source="amount") – količina energije koja se kupuje. Zanemaruje se ako amount_source="estimate".
  • estimate_to (string, obavezno ako amount_source="estimate") – zarezom odvojen popis TRON adresa na koje se planira slati token transakcije
  • estimate_token (niz, obavezan ako je amount_source="estimate") – token TRC20. Moguće vrijednosti (osjetljive na velika i mala slova): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimalno, potrebno ako amount_source="estimate") – količina viška energije izražena u postocima. Ovaj višak je potreban kako bi se izbjeglo sagorijevanje TRX, što se može dogoditi ako adresa ima točno potrebnu količinu energije. Preporučena vrijednost je 0.04%.

Važno: Trenutno vrijedi samo 6 razdoblja: 1 hour i 1, 3, 7, 15, 30 days.

buy/energy: odgovor

U slučaju uspjeha, odgovor će sadržavati narudžbu GUID, pomoću koje kasnije možete dobiti njegove stvarne detalje.

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

Ako zahtjev sadrži amount_source="estimate", odgovor ima dodatni odjeljak "estimate_task". Npr:

{
	"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: Parametri odgovora

  • guid – red GUID
  • balance – sredstva koja su trenutno dostupna na internom računu, TRX
  • days – trajanje opskrbe energijom u danima, ako "period_type=days"
  • hours – trajanje opskrbe energijom u satima, ako "period_type=hours"
  • estimate_task – izračun (procjena) energije potrebne za slanje TRC20 transakcija s jedne TRON adrese na popis drugih TRON adresa

Metoda "order/get/{guid}" – dobivanje detalja o narudžbi

Dobivanje informacija o određenoj narudžbi.

order/get/{guid} – Primjer zahtjeva

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

order/get/{guid} – Primjer odgovora

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

  • guid – red GUID
  • balance – sredstva koja su trenutno dostupna na internom računu, TRX
  • days – trajanje opskrbe energijom u danima, ako "period_type=days"
  • hours – trajanje opskrbe energijom u satima, ako "period_type=hours"
  • to – TRX adresa na koju se isporučuje energija
  • energy_amount – količina energije
  • order_cost – trošak narudžbe, TRX
  • order_cost_paid – iznos već uplaćen, TRX (u slučaju nedovoljnih sredstava na internom računu taj iznos će biti manji od "order_cost")
  • address_activation_fee – iznos naknade za aktivaciju odredišne adrese, TRX
  • energy_delegation_fee – naknada za premalu veličinu narudžbe, TRX
  • resource_txs – niz koji sadrži popis transakcija u TRON blockchainu gdje se resursi delegiraju i obnavljaju (nedelegirani)
  • status – status narudžbe, moguće vrijednosti opisane su na početku ovog priručnika
  • payment_status – status plaćanja narudžbe u platnom sustavu (moguće vrijednosti ovise o platnom sustavu)

"order/list" metoda – dobivanje popisa narudžbi

Dobivanje popisa narudžbi.

order/list – Primjer zahtjeva

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

order/list – Parametri zahtjeva

  • sort (niz, opcionalno) – sortiranje unosa, prema zadanim postavkama "created_at|desc"
  • per_page (cijeli broj, opcionalno) – ograničite broj unosa po odgovoru
  • page (cijeli broj, opcionalno) – uzastopni broj stranice odgovora
  • filter (niz arrays(objects), opcionalno) – filtar unosa

order/list – Primjer 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 – Parametri odgovora

  • guid – GUID reda
  • status – status odgovora API

"account/list" metoda – popis internih računa

Dobivanje popisa internih računa, uključujući iznos trenutno dostupnih sredstava. Budući da postoji zaseban interni račun za svaki odjeljak stranice (buyer, affiliate, seller, dealer), na računu postoji više računa.

account/list – Primjer zahtjeva

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

account/list – Primjer odgovora

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

  • guid – GUID internog računa
  • id – sekvencijalni ID internog računa
  • section – kojoj EnergyFather sekciji pripada ova bilanca
  • balance – raspoloživa sredstva
  • currency – valuta
  • user_id – GUID korisnika

"account/get/{id}" metoda – dobivanje točnog internog računa

Dobivanje stanja internog računa za određeni dio EnergyFather. Budući da svaki odjeljak ima svoj račun (buyer, affiliate, seller, dealer), postoji nekoliko računa za svakog korisnika. Prvo možete koristiti "account/list" metodu da biste dobili njihov popis, saznali ‘id’ računa od interesa, a zatim upotrijebili ovaj ‘id’ za dobivanje stanja određenog računa.

account/get/{id} – Primjer zahtjeva

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

account/get/{id} – Primjer odgovora

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

account/get/{id} – Parametri odgovora

  • guid – GUID internog računa
  • id - sekvencijalni ID internog računa
  • section - kojoj EnergyFather sekciji pripada ova bilanca
  • balance - raspoloživa sredstva
  • currency - valuta
  • user_id - GUID korisnika