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-blockchain, 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 "Køber > API-tokens" og fylde saldoen på køberens konto 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, skal du gøre følgende:

  • Brug ‘buy/energy’-metoden til at estimere den nødvendige energimængde og købe den,
  • anmoder jævnligt om ‘order/get/{guid}’-metoden, 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 metoden POST.

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" - Genindvundet (ikke delegeret). Energi trækkes tilbage på grund af afslutningen af den betalte tidsperiode.
  • "5" - Betalt. Ordren er betalt og sat i kø til 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 af energi (betalt fra intern konto)
  • /api/v1/private/order/list - få en liste over dine ordrer
  • /api/v1/private/order/get/{guid} - få information 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, vil ordren blive oprettet og straks få status "6" (fejl). I dette tilfælde skal du besøge panelet, indbetale nogle penge 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 "amount"-parameteren, og så skal du også indstille amount_source="amount".

b) Hvis du ikke ved, hvor meget energi der kræves til en transaktion for 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 nødvendig energimængde

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: Anmodning om parametre

  • to (string, påkrævet) - TRON-adresse, som energien skal uddelegeres 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 energimængde 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 (string, påkrævet hvis amount_source="estimate") - kommasepareret liste over TRON-adresser, som token-transaktioner planlægges at blive sendt til
  • estimate_token (string, 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å de 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: Svarparametre

  • guid - ordren 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 skal bruges til at sende TRC20-transaktioner fra en TRON-adresse til listen over andre TRON-adresser

"order/get/{guid}"-metoden - få oplysninger 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 - ordren 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 - allerede betalt beløb, 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 - beløb for 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 - ordrebetalingsstatus i betalingssystemet (mulige værdier afhænger af betalingssystemet)

"order/list"-metoden - henter 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 - Anmodning 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) - svarsidens fortløbende nummer
  • filter (matrix af arrays(objects), valgfri) - 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 på API-svaret

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

Få 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 sektion 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 for den interne konto
  • id - sekventiel ID af den interne konto
  • section - hvilken EnergyFather-sektion denne saldo tilhører
  • 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 for 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