API dokumentation

EnergyFather-tjenesten hjælper med at købe (leje) den energi og båndbredde, der er nødvendig for at sende transaktioner i USDT og andre TRC20-kryptotokener; båndbredde er også nødvendig for at sende enhver form for transaktion på TRON-blockchainen, såsom at sende TRX, kræve belønninger og stemme for Super Representatives.

Procedure for indkøb af energi

For at købe energi skal du registrere dig i EnergyFather-tjenesten, hente autorisationstokenet fra siden "Buyer > API tokens" og fylde saldoen på Buyer-kontoen op.

Efter oprettelse af en ordre (metode ‘buy/energy’) kan energi leveres med en forsinkelse på flere sekunder eller endda minutter, så når man udvikler automatiserede systemer, anbefales det at kontrollere ordreudførelsen med jævne mellemrum ved at anmode om metode ‘order/get/{guid}’.

Hvis du f.eks. planlægger at sende USDT og ønsker at gøre transaktionerne billigere ved at købe energi, gør du følgende:

  • anmod om ‘buy/energy’-metoden for at estimere den nødvendige energimængde og købe den,
  • anmoder med jævne mellemrum om metoden ‘order/get/{guid}’, indtil energien er uddelegeret (det tager normalt et par sekunder),
  • send USDT (den købte energi vil blive brugt til at betale transaktionsgebyret).

Generelle noter

I denne dokumentation betyder et udtryk, der er pakket ind i krøllede parenteser som ‘{guid}’ eller ‘{id}’, værdien af den tilsvarende variabel:

  • ‘{guid}’ er den globale unikke identifikator for objektet i EnergyFather (normalt 8 cifre),
  • ‘{id}’ er objektets løbenummer for denne bruger (nummereringen starter med ‘1’ for hver bruger).

API Slutpunkt

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

Send anmodninger ved hjælp af POST-metoden.

Godkendelse af anmodninger

For at bekræfte (autorisere) anmodninger til en privat API skal der sendes en HTTP-header:

Token: {token}

Administration af autorisationstokener findes i kontrolpanelet på siden "Køber > API tokens".

For eksempel kan du få oplysninger om ordre 123456 på følgende måde:

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

Bestillingsstatus

  • "0" - Afventer. Ordren er netop blevet oprettet.
  • "1" - Afventer betaling. Betalingslinket er allerede genereret, EnergyFather venter på et tilbagekald fra betalingssystemet. Denne status bruges ikke, hvis ordren udelukkende betales med midler, der er tilgængelige på den interne konto.
  • "2" - Proceduren for energidelegering er i gang.
  • "3" - Uddelegeret. Energi gives ud.
  • "4" - Genvundet (ikke uddelegeret). Energi trækkes tilbage på grund af afslutningen af den betalte tidsperiode.
  • "5" - Betalt. Ordren er betalt og tilføjet til køen for energilevering.
  • "6" - Fejl.

Den sædvanlige rækkefølge af statusser: 0, 5, 2, 3, 4.

API metoder
  • /api/v1/private/buy/energy - køb energi (betalt fra intern konto)
  • /api/v1/private/order/list - få en liste over dine ordrer
  • /api/v1/private/order/get/{guid} - få oplysninger om din ordre
  • /api/v1/private/account/list - få en liste over dine interne konti
  • /api/v1/private/account/get/{id} - få oplysninger om din interne konto

"buy/energy"-metoden - køb energi (betalt fra intern konto)

Anmodning om at købe energi af en registreret kunde med debitering fra den interne konto. Energien sendes straks til den angivne adresse.

Hvis den interne konto ikke har tilstrækkelige midler, oprettes ordren og får øjeblikkeligt status "6" (fejl). I dette tilfælde skal du besøge panelet, indbetale nogle midler og derefter sende en ny API-anmodning om energikøb.

Der er to måder at definere den mængde energi, der skal købes:

a) Du kan indstille den nøjagtige energimængde i parameteren "amount", og så skal du også indstille amount_source="amount".

b) Hvis du ikke ved, hvor meget energi det kræver for en transaktion at sende USDT eller et andet token, kan du indstille amount_source="estimate" og udfylde de relevante parametre (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Eksempel på anmodning med nøjagtig mængde energi

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: Eksempel på anmodning med beregning af den nødvendige mængde energi

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: Anmod om params

  • to (string, påkrævet) - TRON adresse, som energien skal delegeres til
  • period_amount (heltal, påkrævet) - tidsperiode for køb af energi
  • period_type (string, påkrævet) - type af tidsperiode. Mulige værdier: days, hours.
  • format (string, valgfri) - svarformat. Mulige værdier: json (default), xml.
  • amount_source (string, påkrævet) - algoritme til bestemmelse af mængden af delegeret energi. Hvis værdien er "amount", bruges værdien af parameteren "amount". Hvis værdien er "estimate", beregnes den nødvendige mængde energi ud fra parametrene estimate_to, estimate_token, estimate_adjust_percent. Mulige værdier: amount, estimate.
  • amount (heltal, påkrævet hvis amount_source="amount") - mængde energi, der skal købes. Den ignoreres, hvis amount_source="estimate".
  • estimate_to (streng, påkrævet hvis amount_source="estimate") - kommasepareret liste over TRON-adresser, som token-transaktioner er planlagt til at blive sendt til
  • estimate_token (streng, påkrævet hvis amount_source="estimate") - TRC20-tokenet. Mulige værdier (skelner mellem store og små bogstaver): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (decimal, påkrævet hvis amount_source="estimate") - den overskydende energimængde udtrykt som en procentdel. Dette overskud er nødvendigt for at undgå at brænde TRX, hvilket kan ske, hvis adressen har præcis den nødvendige mængde energi. Den anbefalede værdi er 0.04%.

Vigtigt: I øjeblikket er kun 6 perioder gyldige: 1 hour og 1, 3, 7, 15, 30 days.

buy/energy: Svar

Hvis det lykkes, vil svaret indeholde ordren GUID, hvormed du senere kan få dens faktiske 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"
}

Hvis anmodningen indeholder amount_source="estimate", har svaret et ekstra afsnit "estimate_task". For eksempel:

{
	"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: Svar-parametre

  • guid - rækkefølgen GUID
  • balance - midler, der i øjeblikket er tilgængelige på den interne konto, TRX
  • days - energiforsyningens varighed i dage, hvis "period_type=days"
  • hours - energiforsyningens varighed i timer, hvis "period_type=hours"
  • estimate_task - beregning (estimering) af den energi, der er nødvendig for at sende TRC20 transaktioner fra en TRON adresse til listen over andre TRON adresser

"order/get/{guid}"-metoden - få detaljer om ordren

Indhentning af oplysninger om den specifikke ordre.

order/get/{guid} - Eksempel på anmodning

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

order/get/{guid} - Eksempel 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} - Svarparametre

  • guid - rækkefølgen GUID
  • balance - midler, der i øjeblikket er tilgængelige på den interne konto, TRX
  • days - energiforsyningens varighed i dage, hvis "period_type=days"
  • hours - energiforsyningens varighed i timer, hvis "period_type=hours"
  • to - TRX adresse, hvor energien leveres
  • energy_amount - energimængde
  • order_cost - ordreomkostninger, TRX
  • order_cost_paid - beløb, der allerede er betalt, TRX (i tilfælde af utilstrækkelige midler på den interne konto vil dette beløb være mindre end "order_cost")
  • address_activation_fee - gebyr for aktivering af destinationsadressen, TRX
  • energy_delegation_fee - gebyr for for lille ordrestørrelse, TRX
  • resource_txs - array, der indeholder listen over transaktioner i TRON blockchain, hvor ressourcer er delegeret og genvundet (undelegated)
  • status - ordrestatus, mulige værdier er beskrevet i begyndelsen af denne manual
  • payment_status - status for ordrebetaling i betalingssystemet (mulige værdier afhænger af betalingssystemet)

"order/list"-metoden - hent listen over ordrer

Henter listen over ordrer.

order/list - Eksempel på anmodning

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

order/list - Anmod om params

  • sort (string, valgfri) - sortering af poster, som standard "created_at|desc"
  • per_page (heltal, valgfrit) - begræns antallet af poster pr. svar
  • page (heltal, valgfrit) - sekventielt nummer på svarsiden
  • filter (array af arrays(objects), valgfrit) - filter af poster

order/list - Eksempel 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 - Svarparametre

  • guid - GUID for ordren
  • status - status for API svar

"account/list"-metoden - opstilling af interne konti

Henter en liste over interne konti, herunder det beløb, der er til rådighed i øjeblikket. Da der er en separat intern konto for hver del af webstedet (buyer, affiliate, seller, dealer), er der flere konti på kontoen.

account/list - Eksempel på anmodning

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

account/list - Eksempel 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 - Svarparametre

  • guid - GUID af den interne konto
  • id - sekventiel ID af den interne konto
  • section - til hvilken EnergyFather sektion denne saldo hører til
  • balance - tilgængelige midler
  • currency - valuta
  • user_id - GUID af brugeren

"account/get/{id}"-metoden - få den nøjagtige interne konto

Indhentning af saldoen på den interne konto for en bestemt sektion af EnergyFather. Da hver sektion har sin egen konto (buyer, affiliate, seller, dealer), er der flere konti for hver bruger. Du kan først bruge "account/list"-metoden til at få deres liste, finde ud af ‘id’ for den interessante konto og derefter bruge denne ‘id’ til at få saldoen på en bestemt konto.

account/get/{id} - Eksempel på anmodning

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

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

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

account/get/{id} - Svarparametre

  • guid - GUID af den interne konto
  • id - sekventielt ID for den interne konto
  • section - hvilken EnergyFather sektion denne saldo tilhører
  • balance - tilgængelige midler
  • currency - valuta
  • user_id - GUID af brugeren