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,
  • periodiskt begära ‘order/get/{guid}’-metoden tills energin har delegerats (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 inom 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 löpnummer 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 ska en HTTP-header 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. Ordern har precis 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 med energidelegation pågår.
  • "3" - Delegerat. Energi ges ut.
  • "4" - Återkrävd (ej delegerad). Energi dras tillbaka på grund av slutet av den betalda tidsperioden.
  • "5" - Betalad. Ordern är betald 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 - få en lista över dina interna konton
  • /api/v1/private/account/get/{id} - få information om ditt interna konto

"buy/energy"-metoden - köpa 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" (Error). I det här fallet måste du besöka panelen, sätta in lite pengar och sedan skicka en ny API-förfrågan om energiköp.

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

a) Du kan ställa in den exakta energimängden i parametern "amount", då ska du också ställa in 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 parametrar

  • to (string, required) - TRON-adress till vilken energin ska delegeras
  • period_amount (heltal, obligatoriskt) - tidsperiod för att köpa energi
  • period_type (string, required) - 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 energimängden baserat på parametrarna estimate_to, estimate_token, estimate_adjust_percent. Möjliga värden: amount, estimate.
  • amount (heltal, obligatoriskt om amount_source="amount") - mängd energi som ska köpas. Den ignoreras om amount_source="estimate".
  • estimate_to (sträng, obligatorisk 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 att TRX bränns, vilket kan hända om adressen har exakt den nödvändiga energimängden. 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 ytterligare ett 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: Parametrar för svar

  • guid - ordern GUID
  • balance - medel som för närvarande finns tillgängliga på det interna kontot, TRX
  • days - energileveransens varaktighet i dagar, om "period_type=days"
  • hours - energitillförselns 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å detaljer om ordern

Inhämtande av information om den specifika ordern.

order/get/{guid} - Exempel på förfrågan

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 - ordern GUID
  • balance - medel som för närvarande finns tillgängliga på det interna kontot, TRX
  • days - energileveransens varaktighet i dagar, om "period_type=days"
  • hours - energitillförselns 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 lägre ä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 den här handboken
  • payment_status - orderbetalningsstatus i betalningssystemet (möjliga värden beror på betalningssystemet)

"order/list"-metoden - hämta listan över order

Hämta listan över beställningar.

order/list - Exempel på förfrågan

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

order/list - Begäran om parametrar

  • 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 svar från API

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

Få en lista över interna konton, inklusive mängden medel som för närvarande är tillgängliga. Eftersom det finns ett separat internt konto för varje del av webbplatsen (buyer, affiliate, seller, dealer) finns det flera konton på 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 för det interna kontot
  • id - sekventiell ID av det interna kontot
  • section - till vilket EnergyFather-avsnitt detta saldo hör
  • 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 denna ‘id’ för att få saldot på 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 för 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