API dokumentation

EnergyFather-tjänsten hjälper till att köpa (hyra) den energi och bandbredd som behövs för att skicka transaktioner i USDT och andra TRC20-kryptotokens; bandbredd behövs också för att skicka alla typer av transaktioner på TRON-blockkedjan, till exempel att skicka TRX, göra anspråk på belöningar och rösta för Super Representatives.

Förfarande för inköp av energi

För att köpa energi måste du registrera dig i EnergyFather-tjänsten, hämta auktoriseringstoken från sidan "Köpare > API tokens" och fylla på saldot på köparens konto.

Efter att ha skapat en order (metod ‘buy/energy’) kan energi levereras med en fördröjning på flera sekunder eller till och med minuter, så när man utvecklar automatiserade system rekommenderas det att regelbundet kontrollera orderutförandet genom att begära metod ‘order/get/{guid}’.

Om du t.ex. planerar att skicka USDT och vill göra transaktionerna billigare genom att köpa energi, gör du följande:

  • använda ‘buy/energy’-metoden för att uppskatta den energimängd som behövs och köpa den,
  • periodisk begäran ‘order/get/{guid}’ metod tills energi delegeras (vanligtvis tar det några sekunder),
  • skicka USDT (den köpta energin kommer att användas för att betala transaktionsavgiften).

Allmänna anteckningar

I den här dokumentationen betyder ett uttryck inslaget i hakparenteser som ‘{guid}’ eller ‘{id}’ värdet på motsvarande variabel:

  • ‘{guid}’ är den globala unika identifieraren för objektet i EnergyFather (vanligtvis 8 siffror),
  • ‘{id}’ är objektets ordningsnummer för den här användaren (numreringen börjar med ‘1’ för varje användare).

API Slutpunkt

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

Skicka förfrågningar med hjälp av POST-metoden.

Godkännande av förfrågningar

För att bekräfta (auktorisera) förfrågningar till en privat API bör ett HTTP-huvud skickas:

Token: {token}

Hantering av auktoriseringstokens finns i kontrollpanelen på sidan "Köpare > API tokens".

Du kan t.ex. få information om order 123456 på följande sätt:

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

Orderstatus

  • "0" - Väntar. Beställningen har just skapats.
  • "1" - Väntar på betalning. Betalningslänken har redan genererats, EnergyFather väntar på en återuppringning från betalningssystemet. Denna status används inte om ordern betalas helt med medel som finns tillgängliga på det interna kontot.
  • "2" - Förfarandet för energidelegering pågår.
  • "3" - Delegerad. Energi ges ut.
  • "4" - Återkrävd (odelegerad). Energi dras tillbaka på grund av slutet av den betalda tidsperioden.
  • "5" - Betald. Ordern betalas och läggs till i kön för energileverans.
  • "6" - Fel.

Den vanliga sekvensen av statusar: 0, 5, 2, 3, 4.

API metoder
  • /api/v1/private/buy/energy - köpa energi (betalas från internt konto)
  • /api/v1/private/order/list - få en lista över dina beställningar
  • /api/v1/private/order/get/{guid} - få information om din beställning
  • /api/v1/private/account/list - ta fram en lista över dina interna konton
  • /api/v1/private/account/get/{id} - få information om ditt interna konto

Metoden "buy/energy" - köp energi (betalas från internt konto)

Begäran om att köpa energi av en registrerad kund med debitering från det interna kontot. Energin skickas omedelbart till den angivna adressen.

Om det interna kontot inte har tillräckliga medel kommer ordern att skapas och omedelbart få status "6" (Fel). I det här fallet måste du besöka panelen, sätta in lite pengar och sedan skicka en ny API begäran om energiköp.

Det finns två sätt att definiera den energimängd som ska köpas:

a) Du kan ange den exakta energimängden i parametern "amount", men då ska du också ange amount_source="amount".

b) Om du inte vet hur mycket energi som krävs för att en transaktion ska skicka USDT eller en annan token, kan du ställa in amount_source="estimate" och fylla i lämpliga parametrar (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Exempel på begäran med exakt energimängd

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: Exempel på begäran med beräkning av nödvändig energimängd

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: Begär params

  • to (sträng, krävs) - TRON adress till vilken energin ska delegeras
  • period_amount (heltal, obligatorisk) - tidsperiod för att köpa energi
  • period_type (sträng, obligatorisk) - typ av tidsperiod. Möjliga värden: days, hours.
  • format (sträng, valfritt) - svarsformat. Möjliga värden: json (default), xml.
  • amount_source (sträng, obligatorisk) - algoritm för att bestämma mängden delegerad energi. Om värdet är "amount" används värdet för parametern "amount". Om värdet är "estimate" beräknas den erforderliga mängden energi baserat på parametrarna estimate_to, estimate_token, estimate_adjust_percent. Möjliga värden: amount, estimate.
  • amount (heltal, krävs om amount_source="amount") - mängd energi som ska köpas. Den ignoreras om amount_source="estimate".
  • estimate_to (sträng, krävs om amount_source="estimate") - kommaseparerad lista över TRON adresser till vilka token-transaktioner planeras att skickas
  • estimate_token (sträng, krävs om amount_source="estimate") - TRC20-token. Möjliga värden (skiftlägeskänsliga): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimal, krävs om amount_source="estimate") - den överskjutande energimängden uttryckt i procent. Detta överskott behövs för att undvika förbränning TRX, vilket kan hända om adressen har exakt den nödvändiga mängden energi. Rekommenderat värde är 0.04%.

Viktigt: För närvarande är endast 6 perioder giltiga: 1 hour och 1, 3, 7, 15, 30 days.

buy/energy: Svar

Om det lyckas kommer svaret att innehålla ordern GUID, genom vilken du senare kan få dess faktiska detaljer.

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

Om begäran innehåller amount_source="estimate" så har svaret ett ytterligare avsnitt "estimate_task". Till exempel:

{
	"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: Svarsparametrar

  • guid - ordningen GUID
  • balance - medel som för närvarande finns tillgängliga på det interna kontot, TRX
  • days - energiförsörjningens varaktighet i dagar, om "period_type=days"
  • hours - energiförsörjningens varaktighet i timmar, om "period_type=hours"
  • estimate_task - beräkning (uppskattning) av energi som behövs för att skicka TRC20 transaktioner från en TRON adress till listan över andra TRON adresser

"order/get/{guid}"-metoden - få information om beställningen

Inhämtande av information om den specifika ordern.

order/get/{guid} - Exempel på begäran

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

order/get/{guid} - Exempel på svar

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

  • guid - ordningen GUID
  • balance - medel som för närvarande finns tillgängliga på det interna kontot, TRX
  • days - energiförsörjningens varaktighet i dagar, om "period_type=days"
  • hours - energiförsörjningens varaktighet i timmar, om "period_type=hours"
  • to - TRX adress där energin levereras
  • energy_amount - energimängd
  • order_cost - orderkostnad, TRX
  • order_cost_paid - belopp som redan betalats, TRX (vid otillräckliga medel på det interna kontot kommer detta belopp att vara mindre än "order_cost")
  • address_activation_fee - avgiftsbelopp för aktivering av destinationsadressen, TRX
  • energy_delegation_fee - avgift för för liten orderstorlek, TRX
  • resource_txs - matris som innehåller listan över transaktioner i TRON blockchain där resurser delegeras och återkrävs (undelegated)
  • status - orderstatus, möjliga värden beskrivs i början av denna bruksanvisning
  • payment_status - orderbetalningsstatus i betalningssystemet (möjliga värden beror på betalningssystemet)

"order/list"-metoden - få listan över beställningar

Hämta listan över beställningar.

order/list - Exempel på begäran

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

order/list - Begär params

  • sort (sträng, valfritt) - sortering av poster, som standard "created_at|desc"
  • per_page (heltal, valfritt) - begränsa antalet poster per svar
  • page (heltal, valfritt) - löpnummer för svarssidan
  • filter (array av arrays(objects), valfritt) - filter av poster

order/list - Exempel på svar

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

  • guid - GUID för ordern
  • status - status för API svar

"account/list"-metoden - listning av interna konton

Få en lista över interna konton, inklusive hur mycket pengar som för närvarande finns tillgängliga. Eftersom det finns ett separat internt konto för varje del av webbplatsen (buyer, affiliate, seller, dealer) finns det flera konton i kontot.

account/list - Exempel på begäran

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

account/list - Exempel på svar

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

  • guid - GUID av det interna kontot
  • id - sekventiell ID av det interna kontot
  • section - till vilket EnergyFather avsnitt detta saldo hör till
  • balance - tillgängliga medel
  • currency - valuta
  • user_id - GUID av användaren

"account/get/{id}"-metoden - få det exakta interna kontot

Erhålla saldot på det interna kontot för en specifik sektion av EnergyFather. Eftersom varje sektion har sitt eget konto (buyer, affiliate, seller, dealer) finns det flera konton för varje användare. Du kan först använda "account/list"-metoden för att få deras lista, ta reda på ‘id’ för det intressanta kontot och sedan använda detta ‘id’ för att få saldot för ett visst konto.

account/get/{id} - Exempel på begäran

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

account/get/{id} - Exempel på svar

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

account/get/{id} - Svarsparametrar

  • guid - GUID av det interna kontot
  • id - sekventiellt ID för det interna kontot
  • section - vilket EnergyFather avsnitt detta saldo tillhör
  • balance - tillgängliga medel
  • currency - valuta
  • user_id - GUID av användaren