Документация API

Услугата 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" - Възстановени (неделегирани). Енергията е изтеглена поради изтичане на платения период от време.
  • "5" - Платено. Поръчката е платена и добавена в опашката за доставка на енергия.
  • "6" - Грешка.

Обичайната последователност от състояния: 0, 5, 2, 3, 4.

API методи
  • /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 на потребителя