De EnergyFather dienst helpt bij het kopen (huren) van de energie en bandbreedte die nodig zijn voor het verzenden van transacties in USDT en andere TRC20 crypto-tokens; bandbreedte is ook nodig voor het verzenden van elk type transactie op de TRON blockchain, zoals het verzenden 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 kopersaccount 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 te kopen, doe je het volgende:
- Vraag de ‘buy/energy’ methode aan om de benodigde hoeveelheid energie te schatten en deze in te kopen,
- periodiek ‘order/get/{guid}’ aanvragen totdat energie is gedelegeerd (dit duurt meestal een paar seconden),
- sturen 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 identificatie 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).
Eindpunt
https://panel.energyfather.com/api/v1/private
Verstuur verzoeken met de POST methode.
Autorisatie van verzoeken
Om verzoeken naar een privé API te bevestigen (autoriseren), moet een HTTP header worden doorgegeven:
Token: {token}
Het beheer van autorisatietokens gebeurt 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
- In afwachting. De bestelling is zojuist aangemaakt.
- "1" - In afwachting van de betaling. De betaallink is al gegenereerd EnergyFather en 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" - Procedure voor energiedelegatie loopt.
- Gedelegeerd. Energie wordt gegeven.
- "4" - Teruggevorderd (Undelegated). Energie wordt teruggenomen vanwege het einde van de betaalde periode.
- Betaald. De bestelling is betaald en toegevoegd aan de wachtrij voor energielevering.
- Fout.
De gebruikelijke volgorde van statussen: 0, 5, 2, 3, 4.
- /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 krijgen over je bestelling
- /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 saldo heeft, wordt de bestelling aangemaakt en krijgt deze onmiddellijk de status "6" (Fout). In dit geval moet u naar het paneel gaan, wat geld storten en dan een nieuwe API aanvraag sturen om energie te kopen.
Er zijn twee manieren om de hoeveelheid in te kopen energie te bepalen:
a) Je kunt de exacte energiehoeveelheid instellen in de "amount" parameter, 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: Verzoek params
- to (string, vereist) - TRON adres waarnaar de energie moet worden gedelegeerd
- period_amount (geheel getal, verplicht) - periode om energie te kopen
- period_type (string, verplicht) - type tijdsperiode. Mogelijke waarden: days, hours.
- format (string, optioneel) - antwoordformaat. Mogelijke waarden: json (default), xml.
- amount_source (string, verplicht) - 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, wordt de vereiste hoeveelheid energie berekend op basis van de parameter estimate_to, estimate_token, estimate_adjust_percent. Mogelijke waarden: amount, estimate.
- amount (geheel getal, verplicht indien amount_source="amount") - hoeveelheid energie die moet worden gekocht. 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 moeten 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. De aanbevolen waarde is 0.04%.
Belangrijk: Momenteel zijn slechts 6 perioden geldig: 1 hour en 1, 3, 7, 15, 30 days.
buy/energy: Reactie
Als het antwoord succesvol is, bevat het de bestelling GUID, waarmee u later de feitelijke details 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 bestelling 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.
Voorbeeld verzoek
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/get/12345' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
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 bestelling 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 (in geval van onvoldoende middelen op de interne rekening zal dit bedrag lager zijn 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 "order/list" methode - de lijst met bestellingen ophalen
De lijst met bestellingen ophalen.
order/list - Voorbeeld verzoek
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/list - Aanvraagparameters
- sort (string, optioneel) - sorteren van items, standaard "created_at|desc"
- per_page (geheel getal, optioneel) - beperk het aantal items per antwoord
- page (geheel getal, optioneel) - volgnummer van de antwoordpagina
- filter (matrix van arrays(objects), optioneel) - filter van vermeldingen
Voorbeeld antwoord
{ "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 antwoord
De "account/list" methode - lijst van interne rekeningen
Een lijst van interne accounts krijgen, inclusief het bedrag dat momenteel beschikbaar is. Aangezien er een aparte interne rekening is voor elk onderdeel 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'
Voorbeeld antwoord
{ "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 - bij welke EnergyFather sectie dit saldo hoort
- balance - beschikbare fondsen
- currency - valuta
- user_id - GUID van de gebruiker
De "account/get/{id}"-methode - de exacte interne rekening krijgen
Het saldo verkrijgen van de interne rekening voor een specifieke EnergyFather sectie. Aangezien elke sectie zijn eigen (buyer, affiliate, seller, dealer) rekening heeft, zijn er meerdere rekeningen voor elke gebruiker. Je kunt 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} - Voorbeeld verzoek
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 - bij welke EnergyFather sectie dit saldo hoort
- balance - beschikbare fondsen
- currency - valuta
- user_id - GUID van de gebruiker