Storitev EnergyFather pomaga kupiti (najeti) energijo in pasovno širino, ki sta potrebni za pošiljanje transakcij v USDT in drugih kriptožetonih TRC20; pasovna širina je potrebna tudi za pošiljanje vseh vrst transakcij v verigi blokov TRON, kot so pošiljanje TRX, uveljavljanje nagrad in glasovanje za Super Representatives.
Postopek nakupa energije
Za nakup energije se morate registrirati v storitvi EnergyFather, na strani "Kupec > API žetoni" pridobiti avtorizacijski žeton in napolniti stanje na računu kupca.
Po oblikovanju naročila (metoda ‘buy/energy’) se lahko energija dostavi z zamudo več sekund ali celo minut, zato je pri razvoju avtomatiziranih sistemov priporočljivo redno preverjati izvršitev naročila z metodo ‘order/get/{guid}’.
Če na primer nameravate poslati USDT in želite transakcije poceniti z nakupom energije, storite naslednje:
- zahteva metodo ‘buy/energy’, da oceni potrebno količino energije in jo kupi,
- redno zahteva metodo ‘order/get/{guid}’, dokler se energija ne prenese (običajno traja nekaj sekund),
- pošljite USDT (kupljena energija bo uporabljena za plačilo pristojbine za transakcijo).
Splošne opombe
V tej dokumentaciji izraz, zavit v oglate oklepaje, kot je ‘{guid}’ ali ‘{id}’, pomeni vrednost ustrezne spremenljivke:
- ‘{guid}’ je globalni edinstveni identifikator predmeta v EnergyFather (običajno 8 številk),
- ‘{id}’ je zaporedna številka predmeta za tega uporabnika (številčenje se za vsakega uporabnika začne z ‘1’).
API Končna točka
https://panel.energyfather.com/api/v1/private
Zahteve pošljite z metodo POST.
Odobritev zahtevkov
Za potrditev (avtorizacijo) zahtevkov do zasebnega API je treba posredovati glavo HTTP:
Token: {token}
Upravljanje avtorizacijskih žetonov se nahaja v nadzorni plošči na strani "Kupec > API žetoni".
Informacije o naročilu 123456 lahko na primer dobite na naslednji način:
CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
Status naročila
- "0" - V obravnavi. Naročilo je bilo pravkar ustvarjeno.
- "1" - Čakamo na plačilo. Povezava za plačilo je bila že ustvarjena, EnergyFather čaka na povratni klic iz plačilnega sistema. To stanje se ne uporablja, če je naročilo v celoti plačano s sredstvi, ki so na voljo na notranjem računu.
- "2" - Postopek prenosa pristojnosti na področju energije je v teku.
- "3" - preneseno. Oddaja se energija.
- "4" - povrnjeno (nedelegirano). Energija je umaknjena zaradi konca plačanega časovnega obdobja.
- "5" - Plačano. Naročilo je plačano in dodano v čakalno vrsto za dobavo energije.
- "6" - Napaka.
Običajno zaporedje statusov: 0, 5, 2, 3, 4.
- /api/v1/private/buy/energy - nakup energije (plačano z notranjega računa)
- /api/v1/private/order/list - pridobite seznam svojih naročil
- /api/v1/private/order/get/{guid} - pridobite informacije o svojem naročilu
- /api/v1/private/account/list - pridobite seznam notranjih računov
- /api/v1/private/account/get/{id} - pridobite informacije o svojem notranjem računu
Metoda "buy/energy" - nakup energije (plačilo z notranjega računa)
Zahteva registriranega odjemalca za nakup energije z bremenitvijo notranjega računa. Energija se takoj pošlje na navedeni naslov.
Če na notranjem računu ni dovolj sredstev, se naročilo ustvari in takoj dobi status "6" (napaka). V tem primeru morate obiskati panel, položiti nekaj sredstev in nato poslati novo zahtevo API za nakup energije.
Količino energije, ki jo je treba kupiti, lahko določite na dva načina:
a) V parametru "amount" lahko nastavite natančno količino energije, nato pa morate nastaviti tudi amount_source="amount".
b) Če ne veste, koliko energije potrebuje transakcija za pošiljanje USDT ali drugega žetona, lahko nastavite amount_source="estimate" in izpolnite ustrezne parametre (estimate_to, estimate_token, estimate_adjust_percent).
buy/energy: Primer zahteve z natančno količino energije
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: Primer zahteve z izračunom potrebne količine energije
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: Parametri zahteve
- to (niz, obvezno) - naslov TRON, na katerega se prenese energija
- period_amount (celo število, obvezno) - časovno obdobje za nakup energije
- period_type (niz, obvezno) - vrsta časovnega obdobja. Možne vrednosti: days, hours.
- format (niz, neobvezno) - oblika odgovora. Možne vrednosti: json (default), xml.
- amount_source (niz, obvezno) - algoritem za določanje količine prenesene energije. Če je vrednost "amount", se uporabi vrednost parametra "amount". Če je vrednost "estimate", se zahtevana količina energije izračuna na podlagi parametra estimate_to, estimate_token, estimate_adjust_percent. Možne vrednosti: amount, estimate.
- amount (celo število, obvezno, če je amount_source="amount") - količina energije za nakup. Če je amount_source="estimate", se ne upošteva.
- estimate_to (niz, obvezno, če je amount_source="estimate") - z vejico ločen seznam naslovov TRON, na katere se načrtuje pošiljanje transakcij s žetoni
- estimate_token (niz, obvezno, če je amount_source="estimate") - žeton TRC20. Možne vrednosti (odvisno od velikosti črk): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
- estimate_adjust_percent (decimalno, obvezno, če je amount_source="estimate") - količina presežne energije, izražena v odstotkih. Ta presežek je potreben, da se prepreči izgorevanje TRX, kar se lahko zgodi, če ima naslov natančno potrebno količino energije. Priporočena vrednost je 0.04%.
Pomembno: Trenutno je veljavnih le 6 obdobij: 1 hour in 1, 3, 7, 15, 30 days.
buy/energy: odziv
V primeru uspeha bo odgovor vseboval naročilo GUID, s katerim lahko pozneje pridobite njegove dejanske podrobnosti.
{ "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" }
Če zahteva vsebuje amount_source="estimate", ima odgovor dodaten razdelek "estimate_task". Na primer:
{ "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: Parami odziva
- guid - naročilo GUID
- balance - sredstva, ki so trenutno na voljo na notranjem računu, TRX
- days - trajanje oskrbe z energijo v dnevih, če "period_type=days"
- hours - trajanje oskrbe z energijo v urah, če "period_type=hours"
- estimate_task - izračun (ocena) energije, potrebne za pošiljanje transakcij TRC20 z enega naslova TRON na seznam drugih naslovov TRON
Metoda "order/get/{guid}" - pridobivanje podrobnosti naročila
Pridobivanje informacij o določenem naročilu.
order/get/{guid} - Zahteva za primer
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/get/12345' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/get/{guid} - Primer odziva
{ "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} - Parametri odziva
- guid - naročilo GUID
- balance - sredstva, ki so trenutno na voljo na notranjem računu, TRX
- days - trajanje oskrbe z energijo v dnevih, če "period_type=days"
- hours - trajanje oskrbe z energijo v urah, če "period_type=hours"
- to - TRX naslov za dobavo energije
- energy_amount - količina energije
- order_cost - stroški naročila, TRX
- order_cost_paid - že plačani znesek, TRX (v primeru nezadostnih sredstev na notranjem računu bo ta znesek manjši od "order_cost")
- address_activation_fee - znesek pristojbine za aktivacijo ciljnega naslova, TRX
- energy_delegation_fee - pristojbina za premajhno velikost naročila, TRX
- resource_txs - polje s seznamom transakcij v verigi blokov TRON, pri katerih so sredstva delegirana in povrnjena (nedelegirana).
- status - stanje naročila, možne vrednosti so opisane na začetku tega priročnika
- payment_status - status plačila naloga v plačilnem sistemu (možne vrednosti so odvisne od plačilnega sistema)
Metoda "order/list" - pridobitev seznama naročil
Pridobitev seznama naročil.
order/list - Primer zahteve
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/list - Parametri zahteve
- sort (niz, neobvezno) - razvrščanje vnosov, privzeto "created_at|desc"
- per_page (celo število, neobvezno) - omejitev števila vnosov na odgovor
- page (celo število, neobvezno) - zaporedna številka strani odgovora
- filter (polje arrays(objects), neobvezno) - filter vnosov
order/list - Primer odgovora
{ "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 - Parami odziva
- guid - GUID naročila
- status - stanje odziva API
Metoda "account/list" - navajanje notranjih računov
Pridobitev seznama notranjih računov, vključno z zneskom trenutno razpoložljivih sredstev. Ker je za vsak del spletnega mesta (buyer, affiliate, seller, dealer) ločen notranji račun, je na računu več računov.
account/list - Primer zahteve
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/list - Primer odziva
{ "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 - Parami odziva
- guid - GUID notranjega računa
- id - zaporedna ID notranjega računa
- section - v kateri oddelek EnergyFather spada ta bilanca
- balance - razpoložljiva sredstva
- currency - valuta
- user_id - GUID uporabnika
Metoda "account/get/{id}" - pridobivanje natančnega notranjega računa
Pridobitev stanja notranjega računa za določen oddelek EnergyFather. Ker ima vsak oddelek svoj račun (buyer, affiliate, seller, dealer), je za vsakega uporabnika več računov. Najprej lahko z metodo "account/list" pridobite njihov seznam, ugotovite ‘id’ računa, ki vas zanima, in nato ta ‘id’ uporabite za pridobitev stanja določenega računa.
account/get/{id} - Primer zahteve
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/get/1' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/get/{id} - Primer odgovora
{ "status": "ok", "data": { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } }
account/get/{id} - Parami odziva
- guid - GUID notranjega računa
- id - zaporedni ID notranjega računa
- section - v kateri oddelek EnergyFather spada ta bilanca
- balance - razpoložljiva sredstva
- currency - valuta
- user_id - GUID uporabnika