Услугата EnergyFather помага за закупуване (наемане) на енергия и честотна лента, необходими за изпращане на транзакции в USDT и други крипто-токени TRC20; честотната лента е необходима и за изпращане на всякакъв вид транзакции в блокчейна TRON, като например изпращане на TRX, заявяване на награди и гласуване за Super Representatives.
Процедура за закупуване на енергия
За да купите енергия, трябва да се регистрирате в услугата EnergyFather, да вземете оторизационния токен от страницата "Купувач > API токени" и да допълните баланса на сметката на Купувача.
След създаването на поръчка (метод ‘buy/energy’) енергията може да бъде доставена със закъснение от няколко секунди или дори минути, така че при разработването на автоматизирани системи се препоръчва периодично да се проверява изпълнението на поръчката, като се използва метод ‘order/get/{guid}’.
Например, ако планирате да изпратите USDT и искате да направите транзакциите по-евтини, като закупите енергия, правите следното:
- използвайте метода ‘buy/energy’, за да оцените необходимото количество енергия и да я закупите,
- периодично изисквайте ‘order/get/{guid}’ метод, докато енергията не бъде делегирана (обикновено това отнема няколко секунди),
- изпратете USDT (закупената енергия ще бъде използвана за заплащане на таксата за транзакцията).
Общи бележки
В тази документация израз, обвит в къдрави скоби като ‘{guid}’ или ‘{id}’, означава стойността на съответната променлива:
- ‘{guid}’ е глобалният уникален идентификатор на обекта в EnergyFather (обикновено 8 цифри),
- ‘{id}’ е поредният номер на обекта за този потребител (номерирането започва с ‘1’ за всеки потребител).
API Крайна точка
https://panel.energyfather.com/api/v1/private
Изпращайте заявки, като използвате метода POST.
Разрешаване на заявки
За да се потвърдят (оторизират) заявките към частен адрес API, трябва да се предаде хедър HTTP:
Token: {token}
Управлението на токените за оторизация се намира в контролния панел, на страницата "Купувач > API токени".
Например можете да получите информация за поръчка 123456 по следния начин:
CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
Статус на поръчката
- "0" - В очакване. Поръчката току-що е създадена.
- "1" - В очакване на плащането. Връзката за плащане вече е генерирана, EnergyFather чака се обратна връзка от системата за плащане. Този статус не се използва, ако поръчката е платена изцяло със средства, налични във вътрешната сметка.
- "2" - Процедурата за делегиране на правомощия в областта на енергетиката е в ход.
- "3" - Делегиран. Енергията се раздава.
- "4" - Reclaimed (Undelegated). Енергията е изтеглена поради изтичане на платения период от време.
- "5" - Платено. Поръчката е платена и добавена в опашката за доставка на енергия.
- "6" - Грешка.
Обичайната последователност от статуси: 0, 5, 2, 3, 4.
- /api/v1/private/buy/energy - закупуване на енергия (плаща се от вътрешна сметка)
- /api/v1/private/order/list - получавате списък с поръчките си
- /api/v1/private/order/get/{guid} - получавате информация за поръчката си
- /api/v1/private/account/list - получавате списък на вътрешните си сметки
- /api/v1/private/account/get/{id} - получавате информация за вътрешния си акаунт
Методът "buy/energy" - купуване на енергия (плаща се от вътрешна сметка)
Заявка за закупуване на енергия от регистриран клиент с дебитиране на вътрешната сметка. Енергията се изпраща незабавно на посочения адрес.
Ако вътрешната сметка няма достатъчно средства, поръчката ще бъде създадена и веднага ще получи статус "6" (грешка). В този случай трябва да посетите панела, да внесете част от средствата и след това да изпратите нова API заявка за покупка на енергия.
Съществуват два начина за определяне на количеството енергия, което трябва да бъде закупено:
а) Можете да зададете точното количество енергия в параметъра "amount", след което трябва да зададете и amount_source="amount".
б) Ако не знаете колко енергия е необходима за транзакцията, за да изпратите USDT или друг токен, можете да зададете amount_source="estimate" и да попълните съответните параметри (estimate_to, estimate_token, estimate_adjust_percent).
buy/energy: Примерна заявка с точно количество енергия
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: Примерна заявка с изчисление на необходимото количество енергия
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: Параметри на заявката
- to (символен низ, задължителен) - TRON адрес, на който да бъде делегирана енергията
- period_amount (цяло число, задължително) - период от време за закупуване на енергия
- period_type (низ, задължителен) - вид на периода. Възможни стойности: days, hours.
- format (низ, по избор) - формат на отговора. Възможни стойности: json (default), xml.
- amount_source (низ, задължителен) - алгоритъм за определяне на количеството делегирана енергия. Ако стойността е "amount", тогава се използва стойността на параметъра "amount". Ако стойността е "estimate", необходимото количество енергия се изчислява въз основа на параметъра estimate_to, estimate_token, estimate_adjust_percent. Възможни стойности: amount, estimate.
- amount (цяло число, изисква се, ако е amount_source="amount") - количеството енергия, което ще бъде закупено. Игнорира се, ако е amount_source="estimate".
- estimate_to (низ, задължителен, ако е amount_source="estimate") - отделен със запетая списък от TRON адреси, на които се планира да се изпращат транзакции с токени
- estimate_token (низ, задължителен, ако е amount_source="estimate") - жетонът TRC20. Възможни стойности (с отчитане на големи и малки букви): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
- estimate_adjust_percent (десетичен знак, изисква се, ако е amount_source="estimate") - количеството излишна енергия, изразено в проценти. Този излишък е необходим, за да се избегне изгаряне TRX, което може да се случи, ако адресът има точно необходимото количество енергия. Препоръчителната стойност е 0.04%.
Важно: В момента са валидни само 6 периода: 1 hour и 1, 3, 7, 15, 30 days.
buy/energy: Отговор
В случай на успех отговорът ще съдържа поръчката GUID, чрез която по-късно ще можете да получите действителните ѝ данни.
{ "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" }
Ако заявката съдържа amount_source="estimate", то отговорът има допълнителен раздел "estimate_task". Например:
{ "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: Параметри на отговора
- guid - поръчката GUID
- balance - средства, налични в момента във вътрешната сметка, TRX
- days - продължителност на предоставянето на енергия в дни, ако "period_type=days"
- hours - продължителност на предоставянето на енергия в часове, ако "period_type=hours"
- estimate_task - изчисление (оценка) на енергията, необходима за изпращане на TRC20 транзакции от един TRON адрес до списъка с други TRON адреси
Методът "order/get/{guid}" - получаване на информация за поръчката
Получаване на информация за конкретната поръчка.
order/get/{guid} - Примерна заявка
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/get/12345' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/get/{guid} - Примерен отговор
{ "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} - Параметри на отговора
- guid - поръчката GUID
- balance - средства, налични в момента във вътрешната сметка, TRX
- days - продължителност на предоставянето на енергия в дни, ако "period_type=days"
- hours - продължителност на предоставянето на енергия в часове, ако "period_type=hours"
- to - TRX адрес, на който се доставя енергията
- energy_amount - количество енергия
- order_cost - цена на поръчката, TRX
- order_cost_paid - вече платена сума, TRX (в случай на недостатъчни средства във вътрешната сметка тази сума ще бъде по-малка от "order_cost")
- address_activation_fee - размер на таксата за активиране на адреса на местоназначението, TRX
- energy_delegation_fee - такса за твърде малък размер на поръчката, TRX
- resource_txs - масив, съдържащ списъка на транзакциите в блокчейна TRON, при които ресурсите са делегирани и възстановени (неделегирани)
- status - статус на поръчката, възможните стойности са описани в началото на това ръководство
- payment_status - статус на плащането на поръчката в платежната система (възможните стойности зависят от платежната система)
Методът "order/list" - получаване на списъка с поръчки
Получаване на списъка с поръчки.
order/list - Примерна заявка
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/list - Параметри на заявката
- sort (низ, по избор) - сортиране на записите, по подразбиране "created_at|desc"
- per_page (цяло число, по избор) - ограничаване на броя на записите в един отговор
- page (цяло число, по избор) - пореден номер на страницата с отговора
- filter (масив от arrays(objects), незадължителен) - филтър на вписванията
order/list - Примерен отговор
{ "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 - Параметри на отговора
- guid - GUID на поръчката
- status - статус на отговора API
Метод "account/list" - изписване на вътрешни сметки
Получаване на списък на вътрешните сметки, включително размера на наличните в момента средства. Тъй като за всеки раздел на сайта има отделна вътрешна сметка (buyer, affiliate, seller, dealer), в сметката има множество сметки.
account/list - Примерна заявка
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/list - Примерен отговор
{ "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 - Параметри на отговора
- guid - GUID на вътрешната сметка
- id - пореден номер ID на вътрешната сметка
- section - към кой раздел EnergyFather принадлежи този баланс
- balance - налични средства
- currency - валута
- user_id - GUID на потребителя
Методът "account/get/{id}" - получаване на точната вътрешна сметка
Получаване на салдото на вътрешната сметка за определен раздел на EnergyFather. Тъй като всяка секция има своя собствена сметка (buyer, affiliate, seller, dealer), за всеки потребител има няколко сметки. Можете първо да използвате метода "account/list", за да получите техния списък, да откриете ‘id’ на сметката, която ви интересува, и след това да използвате този ‘id’, за да получите баланса на конкретната сметка.
account/get/{id} - Примерна заявка
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/get/1' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/get/{id} - Примерен отговор
{ "status": "ok", "data": { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } }
account/get/{id} - Параметри на отговора
- guid - GUID на вътрешната сметка
- id - последователен идентификатор на вътрешната сметка
- section - към кой раздел EnergyFather принадлежи този баланс
- balance - налични средства
- currency - валута
- user_id - GUID на потребителя