API documentatie

De EnergyFather dienst helpt bij het kopen (huren) van de energie en bandbreedte die nodig zijn voor het versturen van transacties in USDT en andere TRC20 crypto-tokens; bandbreedte is ook nodig voor het versturen van elk type transactie op de TRON blockchain, zoals het versturen van TRX, het claimen van beloningen en het stemmen voor Super Representatives.

Energie-inkoopprocedure

Om energie te kopen, moet je je registreren bij de EnergyFather-service, het autorisatietoken ophalen van de pagina "Koper > API-tokens" en het saldo van de kopersrekening aanvullen.

Na het aanmaken van een order (methode ‘buy/energy’) kan energie worden geleverd met een vertraging van enkele seconden of zelfs minuten, dus bij het ontwikkelen van geautomatiseerde systemen is het aan te raden om periodiek de uitvoering van de order te controleren door methode ‘order/get/{guid}’ op te vragen.

Als je bijvoorbeeld van plan bent om USDT te verzenden en de transacties goedkoper wilt maken door energie in te kopen, doe je het volgende:

  • vraag de methode ‘buy/energy’ om de benodigde hoeveelheid energie in te schatten en deze in te kopen,
  • vraag periodiek de ‘order/get/{guid}’ methode aan totdat energie is gedelegeerd (dit duurt meestal een paar seconden),
  • stuur USDT (de gekochte energie wordt gebruikt om de transactiekosten te betalen).

Algemene opmerkingen

In deze documentatie betekent een uitdrukking tussen accolades zoals ‘{guid}’ of ‘{id}’ de waarde van de corresponderende variabele:

  • ‘{guid}’ is de globale unieke identifier van het object in EnergyFather (meestal 8 cijfers),
  • ‘{id}’ is het volgnummer van het object voor deze gebruiker (nummering begint met ‘1’ voor elke gebruiker).

API Eindpunt

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

Verstuur verzoeken met de POST methode.

Autorisatie van verzoeken

Om verzoeken aan een particuliere API te bevestigen (autoriseren), dient een HTTP header doorgegeven te worden:

Token: {token}

Het beheer van autorisatietokens bevindt zich in het configuratiescherm, op de pagina "Koper > API tokens".

Je kunt bijvoorbeeld op de volgende manier informatie krijgen over order 123456:

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

Bestelstatus

  • "0" - In afwachting. De bestelling is zojuist aangemaakt.
  • "1" - In afwachting van de betaling. De betaallink is al gegenereerd, EnergyFather wacht op een callback van het betalingssysteem. Deze status wordt niet gebruikt als de bestelling volledig wordt betaald met beschikbare fondsen op de interne rekening.
  • "2" - De procedure voor energiedelegatie loopt.
  • "3" - Gedelegeerd. Energie wordt afgegeven.
  • "4" - Teruggevorderd (Undelegated). Energie wordt teruggenomen vanwege het einde van de betaalde periode.
  • "5" - Betaald. De bestelling is betaald en toegevoegd aan de wachtrij voor energielevering.
  • "6" - Fout.

De gebruikelijke volgorde van statussen: 0, 5, 2, 3, 4.

Methoden API
  • /api/v1/private/buy/energy - energie kopen (betaald van interne rekening)
  • /api/v1/private/order/list - een lijst van je bestellingen krijgen
  • /api/v1/private/order/get/{guid} - informatie over je bestelling krijgen
  • /api/v1/private/account/list - krijg een lijst van je interne accounts
  • /api/v1/private/account/get/{id} - informatie krijgen over je interne account

De "buy/energy"-methode - energie kopen (betaald van interne rekening)

Verzoek om energie te kopen door een geregistreerde klant met afschrijving van de interne rekening. De energie wordt onmiddellijk verzonden naar het opgegeven adres.

Als de interne rekening onvoldoende fondsen heeft, wordt de bestelling aangemaakt en krijgt ze onmiddellijk de status "6" (Fout). In dit geval moet je naar het paneel gaan, wat geld storten en dan een nieuw API verzoek sturen om energie te kopen.

Er zijn twee manieren om de hoeveelheid in te kopen energie te bepalen:

a) Je mag de exacte energiehoeveelheid instellen in de parameter "amount", dan moet je ook amount_source="amount" instellen.

b) Als je niet weet hoeveel energie er nodig is voor een transactie om USDT of een ander token te verzenden, kun je amount_source="estimate" instellen en de juiste parameters (estimate_to, estimate_token, estimate_adjust_percent) invullen.

buy/energy: Voorbeeldverzoek met exacte hoeveelheid energie

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: Voorbeeldverzoek met berekening van benodigde hoeveelheid energie

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: Verzoekparameters

  • to (string, vereist) - TRON adres waarnaar de energie moet worden gedelegeerd
  • period_amount (geheel getal, verplicht) - periode om energie te kopen
  • period_type (string, vereist) - type tijdsperiode. Mogelijke waarden: days, hours.
  • format (string, optioneel) - antwoordformaat. Mogelijke waarden: json (default), xml.
  • amount_source (string, vereist) - algoritme voor het bepalen van de hoeveelheid gedelegeerde energie. Als de waarde "amount" is, dan wordt de waarde van de parameter "amount" gebruikt. Als de waarde "estimate" is, dan wordt de vereiste hoeveelheid energie berekend op basis van de parameters estimate_to, estimate_token, estimate_adjust_percent. Mogelijke waarden: amount, estimate.
  • amount (geheel getal, verplicht indien amount_source="amount") - hoeveelheid energie die gekocht moet worden. Wordt genegeerd indien amount_source="estimate".
  • estimate_to (string, verplicht indien amount_source="estimate") - door komma's gescheiden lijst van TRON adressen waarnaar token-transacties gepland zijn te worden verzonden
  • estimate_token (string, verplicht indien amount_source="estimate") - het TRC20 token. Mogelijke waarden (hoofdlettergevoelig): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimaal, verplicht indien amount_source="estimate") - de hoeveelheid overtollige energie uitgedrukt als een percentage. Deze overmaat is nodig om te voorkomen dat TRX verbrandt, wat kan gebeuren als het adres precies de benodigde hoeveelheid energie heeft. Aanbevolen waarde is 0.04%.

Belangrijk: Momenteel zijn slechts 6 periodes geldig: 1 hour en 1, 3, 7, 15, 30 days.

buy/energy: Antwoord

Als het antwoord succesvol is, bevat het de bestelling GUID, waarmee je later de feitelijke gegevens kunt opvragen.

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

Als het verzoek amount_source="estimate" bevat, heeft het antwoord een extra sectie "estimate_task". Bijvoorbeeld:

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

  • guid - de volgorde GUID
  • balance - fondsen die momenteel beschikbaar zijn op de interne rekening, TRX
  • days - duur van de energievoorziening in dagen, indien "period_type=days"
  • hours - duur van de energievoorziening in uren, indien "period_type=hours"
  • estimate_task - berekening (schatting) van de energie die nodig is om TRC20-transacties van het ene TRON-adres naar de lijst van andere TRON-adressen te sturen.

De "order/get/{guid}" methode - details van de bestelling opvragen

Informatie verkrijgen over de specifieke bestelling.

order/get/{guid} - Voorbeeldverzoek

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

order/get/{guid} - Voorbeeld antwoord

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

  • guid - de volgorde GUID
  • balance - fondsen die momenteel beschikbaar zijn op de interne rekening, TRX
  • days - duur van de energievoorziening in dagen, indien "period_type=days"
  • hours - duur van de energievoorziening in uren, indien "period_type=hours"
  • to - TRX adres waar energie wordt geleverd
  • energy_amount - hoeveelheid energie
  • order_cost - orderkosten, TRX
  • order_cost_paid - reeds betaald bedrag, TRX (als er onvoldoende middelen op de interne rekening staan, is dit bedrag lager dan "order_cost")
  • address_activation_fee - bedrag van de vergoeding voor activering van het bestemmingsadres, TRX
  • energy_delegation_fee - vergoeding voor te kleine bestelling, TRX
  • resource_txs - array met de lijst van transacties in TRON blockchain waar middelen zijn gedelegeerd en teruggevorderd (niet-gedelegeerd)
  • status - bestelstatus, mogelijke waarden worden beschreven aan het begin van deze handleiding
  • payment_status - betalingsstatus van de bestelling in het betalingssysteem (mogelijke waarden zijn afhankelijk van het betalingssysteem)

De methode "order/list" - de lijst met bestellingen ophalen

De lijst met bestellingen ophalen.

order/list - Voorbeeldverzoek

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

order/list - Aanvraagparameters

  • sort (string, optioneel) - sortering van vermeldingen, standaard "created_at|desc"
  • per_page (geheel getal, optioneel) - beperk het aantal items per antwoord
  • page (geheel getal, optioneel) - volgnummer van de antwoordpagina
  • filter (array van arrays(objects), optioneel) - filter van vermeldingen

order/list - Voorbeeldantwoord

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

  • guid - GUID van de bestelling
  • status - status van API reactie

De "account/list" methode - lijst van interne rekeningen

Een lijst van interne rekeningen krijgen, inclusief het bedrag dat momenteel beschikbaar is. Aangezien er een aparte interne rekening is voor elk deel van de site (buyer, affiliate, seller, dealer), zijn er meerdere rekeningen in de rekening.

account/list - Voorbeeld verzoek

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

account/list - Voorbeeldantwoord

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

  • guid - GUID van de interne rekening
  • id - sequentieel ID van de interne rekening
  • section - tot welke EnergyFather sectie dit saldo behoort
  • balance - beschikbare fondsen
  • currency - valuta
  • user_id - GUID van de gebruiker

De methode "account/get/{id}" - de exacte interne rekening krijgen

Het saldo verkrijgen van de interne rekening voor een specifieke sectie van EnergyFather. Aangezien elke sectie zijn eigen rekening (buyer, affiliate, seller, dealer) heeft, zijn er verschillende rekeningen voor elke gebruiker. Je kan eerst de "account/list" methode gebruiken om hun lijst te krijgen, de ‘id’ van de interessante rekening te achterhalen en dan deze ‘id’ gebruiken om het saldo van een bepaalde rekening te krijgen.

account/get/{id} - Voorbeeldverzoek

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

account/get/{id} - Voorbeeld antwoord

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

account/get/{id} - Antwoordparameters

  • guid - GUID van de interne rekening
  • id - sequentiële ID van de interne rekening
  • section - tot welke EnergyFather-sectie dit saldo behoort
  • balance - beschikbare fondsen
  • currency - valuta
  • user_id - GUID van de gebruiker