API Dokumentation

Der EnergyFather-Service hilft beim Kauf (Miete) von Energie und Bandbreite, die zum Senden von Transaktionen in USDT und anderen TRC20-Kryptowährungen benötigt werden. Bandbreite wird auch benötigt, um jede Art von Transaktion auf der TRON-Blockchain zu senden, wie z. B. das Senden von TRX, das Einfordern von Belohnungen und das Abstimmen für Super Representatives.

Verfahren für den Energieeinkauf

Um Energie zu kaufen, müssen Sie sich beim EnergyFather-Dienst anmelden, das Autorisierungs-Token auf der Seite "Käufer > API-Token" abrufen und das Konto des Käufers aufladen.

Nach der Erstellung eines Auftrags (Methode ‘buy/energy’) kann die Energie mit einer Verzögerung von mehreren Sekunden oder sogar Minuten geliefert werden. Bei der Entwicklung von automatisierten Systemen wird daher empfohlen, die Auftragsausführung regelmäßig zu überprüfen, indem die Methode ‘order/get/{guid}’ aufgerufen wird.

Wenn Sie z. B. USDT senden wollen und die Transaktionen durch den Kauf von Energie verbilligen möchten, gehen Sie wie folgt vor:

  • fordern Sie die ‘buy/energy’-Methode an, um die benötigte Energiemenge zu schätzen und sie zu kaufen,
  • periodisch die Methode ‘order/get/{guid}’ anzufordern, bis die Energie delegiert ist (in der Regel dauert dies einige Sekunden),
  • USDT senden (die gekaufte Energie wird zur Bezahlung der Transaktionsgebühr verwendet).

Allgemeine Hinweise

In dieser Dokumentation bedeutet ein in geschweifte Klammern eingeschlossener Ausdruck wie ‘{guid}’ oder ‘{id}’ den Wert der entsprechenden Variablen:

  • ‘{guid}’ ist der globale eindeutige Bezeichner des Objekts in EnergyFather (in der Regel 8-stellig),
  • ‘{id}’ ist die fortlaufende Nummer des Objekts für diesen Benutzer (die Nummerierung beginnt mit ‘1’ für jeden Benutzer).

API Endpunkt

https://panel.energyfather.com/api/v1/private

Senden Sie Anfragen mit der Methode POST.

Autorisierung von Anfragen

Um Anfragen an einen privaten API zu bestätigen (zu autorisieren), sollte ein HTTP-Header übergeben werden:

Token: {token}

Die Verwaltung der Autorisierungs-Tokens befindet sich in der Systemsteuerung auf der Seite "Käufer > API-Tokens".

Beispielsweise können Sie Informationen über die Bestellung 123456 auf folgende Weise erhalten:

CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' 
-H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

Status der Bestellung

  • "0" - Ausstehend. Der Auftrag wurde soeben erstellt.
  • "1" - Warten auf die Zahlung. Die Zahlungsverbindung wurde bereits erstellt, EnergyFather wartet auf einen Rückruf vom Zahlungssystem. Dieser Status wird nicht verwendet, wenn der Auftrag vollständig aus den auf dem internen Konto verfügbaren Mitteln bezahlt wird.
  • "2" - Das Verfahren der Energiedelegation ist im Gange.
  • "3" - Delegiert. Energie wird abgegeben.
  • "4" - Zurückgefordert (nicht delegiert). Die Energie wird aufgrund des Endes des bezahlten Zeitraums zurückgezogen.
  • "5" - Bezahlt. Der Auftrag ist bezahlt und in die Warteschlange für die Energielieferung aufgenommen.
  • "6" - Fehler.

Die übliche Reihenfolge der Status: 0, 5, 2, 3, 4.

API-Methoden
  • /api/v1/private/buy/energy - Kauf von Energie (aus internem Konto bezahlt)
  • /api/v1/private/order/list - erhalten Sie eine Liste Ihrer Aufträge
  • /api/v1/private/order/get/{guid} - Informationen zu Ihrer Bestellung erhalten
  • /api/v1/private/account/list - erhalten Sie eine Liste Ihrer internen Konten
  • /api/v1/private/account/get/{id} - Informationen über Ihr internes Konto erhalten

Die "buy/energy"-Methode - Kauf von Energie (bezahlt vom internen Konto)

Anfrage zum Kauf von Energie durch einen registrierten Kunden mit Abbuchung vom internen Konto. Die Energie wird sofort an die angegebene Adresse gesendet.

Wenn das interne Konto keine ausreichende Deckung aufweist, wird der Auftrag erstellt und erhält sofort den Status "6" (Fehler). In diesem Fall müssen Sie das Panel besuchen, etwas Geld einzahlen und dann eine neue API Anfrage für den Energieeinkauf senden.

Es gibt zwei Möglichkeiten, die zu erwerbende Energiemenge zu bestimmen:

a) Sie können die genaue Energiemenge im Parameter "amount" einstellen, dann sollten Sie auch amount_source="amount" einstellen.

b) Wenn Sie nicht wissen, wie viel Energie für eine Transaktion erforderlich ist, um USDT oder ein anderes Token zu senden, können Sie amount_source="estimate" einstellen und die entsprechenden Parameter (estimate_to, estimate_token, estimate_adjust_percent) ausfüllen.

buy/energy: Beispielanfrage mit genauer Energiemenge

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: Beispielanfrage mit Berechnung der benötigten Energiemenge

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: Parameter anfordern

  • to (String, erforderlich) - TRON-Adresse, an die die Energie delegiert werden soll
  • period_amount (ganze Zahl, erforderlich) - Zeitraum für den Kauf von Energie
  • period_type (String, erforderlich) - Art des Zeitraums. Mögliche Werte: days, hours.
  • format (String, optional) - Antwortformat. Mögliche Werte: json (default), xml.
  • amount_source (string, erforderlich) - Algorithmus zur Bestimmung der Menge der delegierten Energie. Wenn der Wert "amount" ist, wird der Wert des Parameters "amount" verwendet. Ist der Wert "estimate", so wird die erforderliche Energiemenge auf der Grundlage des Parameters estimate_to, estimate_token, estimate_adjust_percent berechnet. Mögliche Werte: amount, estimate.
  • amount (ganze Zahl, erforderlich, wenn amount_source="amount") - Menge der zu erwerbenden Energie. Wird ignoriert, wenn amount_source="estimate".
  • estimate_to (String, erforderlich, wenn amount_source="estimate") - durch Komma getrennte Liste von TRON-Adressen, an die Token-Transaktionen gesendet werden sollen
  • estimate_token (String, erforderlich bei amount_source="estimate") - das TRC20-Token. Mögliche Werte (Groß- und Kleinschreibung beachten): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (dezimal, erforderlich bei amount_source="estimate") - die überschüssige Energiemenge, ausgedrückt in Prozent. Dieser Überschuss wird benötigt, um ein Verbrennen von TRX zu vermeiden, was passieren kann, wenn die Adresse genau die erforderliche Energiemenge hat. Empfohlener Wert ist 0.04%.

Wichtig: Derzeit sind nur 6 Zeiträume gültig: 1 hour und 1, 3, 7, 15, 30 days.

buy/energy: Antwort

Im Erfolgsfall enthält die Antwort den Auftrag GUID, über den Sie später die tatsächlichen Einzelheiten erfahren können.

{
	"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"
}

Wenn die Anfrage amount_source="estimate" enthält, hat die Antwort einen zusätzlichen Abschnitt "estimate_task". Zum Beispiel:

{
	"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: Antwort-Parameter

  • guid - der Auftrag GUID
  • balance - derzeit verfügbare Mittel auf dem internen Konto, TRX
  • days - Dauer der Energiebereitstellung in Tagen, wenn "period_type=days"
  • hours - Dauer der Energiebereitstellung in Stunden, wenn "period_type=hours"
  • estimate_task - Berechnung (Schätzung) der Energie, die benötigt wird, um TRC20-Transaktionen von einer TRON-Adresse an die Liste der anderen TRON-Adressen zu senden

Die "order/get/{guid}"-Methode - Abrufen von Einzelheiten der Bestellung

Einholung von Informationen über den konkreten Auftrag.

order/get/{guid} - Beispielanforderung

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/order/get/12345' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

order/get/{guid} - Beispielantwort

{
	"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} - Antwort-Parameter

  • guid - der Auftrag GUID
  • balance - derzeit verfügbare Mittel auf dem internen Konto, TRX
  • days - Dauer der Energiebereitstellung in Tagen, wenn "period_type=days"
  • hours - Dauer der Energiebereitstellung in Stunden, wenn "period_type=hours"
  • to - TRX Adresse, an die die Energie geliefert wird
  • energy_amount - Energiemenge
  • order_cost - Auftragskosten, TRX
  • order_cost_paid - bereits gezahlter Betrag, TRX (bei unzureichender Deckung des internen Kontos ist dieser Betrag geringer als "order_cost")
  • address_activation_fee - Höhe der Gebühr für die Aktivierung der Zieladresse, TRX
  • energy_delegation_fee - Gebühr für zu geringe Bestellmenge, TRX
  • resource_txs - Array mit der Liste der Transaktionen in der TRON-Blockchain, bei denen Ressourcen delegiert und zurückverlangt werden (nicht delegiert)
  • status - Auftragsstatus, mögliche Werte sind am Anfang des Handbuchs beschrieben
  • payment_status - Zahlungsstatus des Auftrags im Zahlungssystem (mögliche Werte hängen vom Zahlungssystem ab)

Die Methode "order/list" - Abrufen der Liste der Aufträge

Abrufen der Liste der Aufträge.

order/list - Beispielanforderung

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/order/list' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

order/list - Parameter anfordern

  • sort (String, optional) - Sortierung der Einträge, standardmäßig "created_at|desc"
  • per_page (ganze Zahl, optional) - Begrenzung der Anzahl der Einträge pro Antwort
  • page (ganze Zahl, optional) - fortlaufende Nummer der Antwortseite
  • filter (Array aus arrays(objects), optional) - Filter der Einträge

order/list - Beispielantwort

{
	"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 - Antwort-Parameter

  • guid - GUID der Bestellung
  • status - Status der API-Antwort

Die "account/list"-Methode - Auflistung der internen Konten

Abruf einer Liste der internen Konten, einschließlich der Höhe der derzeit verfügbaren Mittel. Da es für jeden Abschnitt der Website (buyer, affiliate, seller, dealer) ein separates internes Konto gibt, befinden sich auf dem Konto mehrere Konten.

account/list - Beispielanforderung

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/account/list' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

account/list - Beispielantwort

{
	"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 - Antwort-Parameter

  • guid - GUID des internen Kontos
  • id - sequentieller ID des internen Kontos
  • section - zu welchem EnergyFather-Abschnitt dieser Saldo gehört
  • balance - verfügbare Mittel
  • currency - Währung
  • user_id - GUID des Benutzers

Die "account/get/{id}"-Methode - Ermittlung des genauen internen Kontos

Abfrage des Saldos des internen Kontos für einen bestimmten Abschnitt von EnergyFather. Da jede Sektion ihr eigenes Konto (buyer, affiliate, seller, dealer) hat, gibt es für jeden Benutzer mehrere Konten. Sie können zunächst die Methode "account/list" verwenden, um deren Liste zu erhalten, den ‘id’ des gewünschten Kontos herauszufinden und dann diesen ‘id’ verwenden, um den Saldo eines bestimmten Kontos zu ermitteln.

account/get/{id} - Beispielanfrage

curl -X 'POST' 
  'https://panel.energyfather.com/api/v1/private/account/get/1' 
  -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'

account/get/{id} - Beispielantwort

{
	"status": "ok",
	"data": {
		"guid": 64463815,
		"user_id": 81841325,
		"id": 2,
		"section": "buyer",
		"currency": "TRX",
		"balance": "41.704"
	}
}

account/get/{id} - Antwort-Parameter

  • guid - GUID des internen Kontos
  • id - fortlaufende ID des internen Kontos
  • section - zu welchem EnergyFather-Abschnitt dieser Saldo gehört
  • balance - verfügbare Mittel
  • currency - Währung
  • user_id - GUID des Benutzers