Dokumentasi API

Layanan EnergyFather membantu membeli (menyewa) energi dan bandwidth yang dibutuhkan untuk mengirim transaksi di USDT dan token kripto TRC20 lainnya; bandwidth juga diperlukan untuk mengirim semua jenis transaksi di blockchain TRON, seperti mengirim TRX, mengklaim hadiah, dan memberikan suara untuk Super Representatives.

Prosedur pembelian energi

Untuk membeli energi, Anda harus mendaftar di layanan EnergyFather, ambil token otorisasi dari halaman "Pembeli > token API", dan isi saldo akun Pembeli.

Setelah membuat pesanan (metode ‘buy/energy’) energi dapat dikirimkan dengan penundaan beberapa detik atau bahkan beberapa menit, jadi ketika mengembangkan sistem otomatis, disarankan untuk memeriksa eksekusi pesanan secara berkala dengan meminta metode ‘order/get/{guid}’.

Misalnya, jika Anda berencana untuk mengirim USDT dan ingin melakukan transaksi yang lebih murah dengan membeli energi, Anda dapat melakukan hal berikut:

  • meminta metode ‘buy/energy’ untuk memperkirakan jumlah energi yang dibutuhkan dan membelinya,
  • secara berkala meminta metode ‘order/get/{guid}’ hingga energi didelegasikan (biasanya membutuhkan waktu beberapa detik),
  • kirim USDT (energi yang dibeli akan digunakan untuk membayar biaya transaksi).

Catatan umum

Dalam dokumentasi ini, ekspresi yang dibungkus dengan tanda kurung kurawal seperti ‘{guid}’ atau ‘{id}’ berarti nilai dari variabel yang sesuai:

  • ‘{guid}’ adalah pengenal unik global objek dalam EnergyFather (biasanya 8 digit),
  • ‘{id}’ adalah nomor urut objek untuk pengguna ini (penomoran dimulai dengan ‘1’ untuk setiap pengguna).

API Titik akhir

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

Kirimkan permintaan menggunakan metode POST.

Otorisasi permintaan

Untuk mengonfirmasi (mengesahkan) permintaan ke API pribadi, header HTTP harus dilewatkan:

Token: {token}

Manajemen token otorisasi terletak di panel kontrol, di halaman "Pembeli > token API".

Sebagai contoh, Anda dapat memperoleh informasi tentang pesanan 123456 dengan cara berikut:

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

Status pesanan

  • "0" - Tertunda. Pesanan baru saja dibuat.
  • "1" - Menunggu pembayaran. Tautan pembayaran telah dibuat, EnergyFather menunggu panggilan balik dari sistem pembayaran. Status ini tidak digunakan jika pesanan dibayar sepenuhnya oleh dana yang tersedia di akun internal.
  • "2" - Prosedur pendelegasian energi sedang berlangsung.
  • "3" - Didelegasikan. Energi diberikan.
  • "4" - Direklamasi (Tidak didelegasikan). Energi ditarik kembali karena berakhirnya periode waktu yang dibayarkan.
  • "5" - Dibayar. Pesanan telah dibayar dan ditambahkan ke dalam antrean untuk pengiriman energi.
  • "6" - Kesalahan.

Urutan status yang biasa: 0, 5, 2, 3, 4.

Metode API
  • /api/v1/private/buy/energy - beli energi (dibayarkan dari akun internal)
  • /api/v1/private/order/list - dapatkan daftar pesanan Anda
  • /api/v1/private/order/get/{guid} - dapatkan informasi tentang pesanan Anda
  • /api/v1/private/account/list - dapatkan daftar akun internal Anda
  • /api/v1/private/account/get/{id} - dapatkan informasi tentang akun internal Anda

Metode "buy/energy" - beli energi (dibayarkan dari akun internal)

Permintaan untuk membeli energi oleh pelanggan terdaftar dengan debit dari akun internal. Energi segera dikirim ke alamat yang ditentukan.

Jika akun internal tidak memiliki dana yang cukup, pesanan akan dibuat dan langsung mendapat status "6" (Kesalahan). Dalam hal ini Anda perlu mengunjungi panel, menyetor sejumlah dana dan kemudian mengirim permintaan API baru untuk pembelian energi.

Ada dua cara untuk menentukan jumlah energi yang akan dibeli:

a) Anda dapat mengatur jumlah energi yang tepat dalam parameter "amount", kemudian Anda juga harus mengatur amount_source="amount".

b) Jika Anda tidak tahu berapa banyak energi yang diperlukan untuk transaksi untuk mengirim USDT atau token lain, Anda dapat mengatur amount_source="estimate" dan mengisi parameter yang sesuai (estimate_to, estimate_token, estimate_adjust_percent).

buy/energy: Contoh permintaan dengan jumlah energi yang tepat

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: Contoh permintaan dengan perhitungan jumlah energi yang dibutuhkan

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: Meminta parameter

  • to (string, wajib) - Alamat TRON yang akan didelegasikan energinya
  • period_amount (bilangan bulat, wajib diisi) - periode waktu untuk membeli energi
  • period_type (string, wajib diisi) - jenis periode waktu. Nilai yang mungkin: days, hours.
  • format (string, opsional) - format respons. Nilai yang mungkin: json (default), xml.
  • amount_source (string, wajib diisi) - algoritme untuk menentukan jumlah energi yang didelegasikan. Jika nilainya "amount", maka nilai parameter "amount" digunakan. Jika nilainya "estimate", jumlah energi yang diperlukan dihitung berdasarkan parameter estimate_to, estimate_token, estimate_adjust_percent. Nilai yang mungkin: amount, estimate.
  • amount (bilangan bulat, diperlukan jika amount_source="amount") - jumlah energi yang akan dibeli. Diabaikan jika amount_source="estimate".
  • estimate_to (string, diperlukan jika amount_source="estimate") - daftar alamat TRON yang dipisahkan dengan koma yang akan dikirimi transaksi token
  • estimate_token (string, wajib diisi jika amount_source="estimate") - token TRC20. Nilai yang mungkin (peka huruf besar/kecil): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
  • estimate_adjust_percent (desimal, diperlukan jika amount_source="estimate") - jumlah energi berlebih yang dinyatakan dalam bentuk persentase. Kelebihan ini diperlukan untuk menghindari pembakaran TRX, yang mungkin terjadi jika alamat memiliki jumlah energi yang diperlukan. Nilai yang disarankan adalah 0.04%.

Penting: Saat ini, hanya 6 periode yang valid: 1 hour dan 1, 3, 7, 15, 30 days.

buy/energy: Tanggapan

Jika berhasil, respons akan berisi perintah GUID, yang nantinya dapat Anda gunakan untuk mendapatkan detail yang sebenarnya.

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

Jika permintaan berisi amount_source="estimate" maka responsnya memiliki bagian tambahan "estimate_task". Sebagai contoh:

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

  • guid - urutan GUID
  • balance - dana saat ini tersedia di akun internal, TRX
  • days - durasi penyediaan energi dalam hitungan hari, jika "period_type=days"
  • hours - durasi penyediaan energi dalam jam, jika "period_type=hours"
  • estimate_task - perhitungan (estimasi) energi yang dibutuhkan untuk mengirim transaksi TRC20 dari satu alamat TRON ke daftar alamat TRON lainnya

Metode "order/get/{guid}" - mendapatkan detail pesanan

Memperoleh informasi tentang pesanan tertentu.

order/get/{guid} - Contoh permintaan

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

order/get/{guid} - Contoh tanggapan

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

  • guid - urutan GUID
  • balance - dana saat ini tersedia di akun internal, TRX
  • days - durasi penyediaan energi dalam hitungan hari, jika "period_type=days"
  • hours - durasi penyediaan energi dalam jam, jika "period_type=hours"
  • to - TRX alamat tempat energi dikirimkan
  • energy_amount - kuantitas energi
  • order_cost - biaya pemesanan, TRX
  • order_cost_paid - jumlah yang telah dibayarkan, TRX (jika dana tidak mencukupi di rekening internal, jumlah ini akan kurang dari "order_cost")
  • address_activation_fee - jumlah biaya untuk aktivasi alamat tujuan, TRX
  • energy_delegation_fee - biaya untuk ukuran pesanan yang terlalu kecil, TRX
  • resource_txs - larik yang berisi daftar transaksi di blockchain TRON di mana sumber daya didelegasikan dan direklamasi (tidak didelegasikan)
  • status - status pesanan, nilai yang mungkin dijelaskan di awal manual ini
  • payment_status - status pembayaran pesanan dalam sistem pembayaran (nilai yang mungkin tergantung pada sistem pembayaran)

Metode "order/list" - mendapatkan daftar pesanan

Mendapatkan daftar pesanan.

order/list - Contoh permintaan

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

order/list - Minta parameter

  • sort (string, opsional) - mengurutkan entri, secara default "created_at|desc"
  • per_page (bilangan bulat, opsional) - batasi jumlah entri per respons
  • page (bilangan bulat, opsional) - nomor urut halaman respons
  • filter (larik arrays(objects), opsional) - filter entri

order/list - Contoh tanggapan

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

  • guid - GUID pesanan
  • status - status respons API

Metode "account/list" - daftar akun internal

Mendapatkan daftar akun internal, termasuk jumlah dana yang saat ini tersedia. Karena ada akun internal yang terpisah untuk setiap bagian situs (buyer, affiliate, seller, dealer), ada beberapa akun dalam akun tersebut.

account/list - Contoh permintaan

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

account/list - Contoh tanggapan

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

  • guid - GUID dari akun internal
  • id - ID berurutan dari akun internal
  • section - bagian EnergyFather mana saldo ini berada
  • balance - dana yang tersedia
  • currency - mata uang
  • user_id - GUID pengguna

Metode "account/get/{id}" - mendapatkan akun internal yang tepat

Memperoleh saldo akun internal untuk bagian tertentu dari EnergyFather. Karena setiap bagian memiliki akunnya sendiri (buyer, affiliate, seller, dealer), ada beberapa akun untuk setiap pengguna. Pertama-tama Anda dapat menggunakan metode "account/list" untuk mendapatkan daftar mereka, mencari tahu ‘id’ dari akun yang diminati, dan kemudian menggunakan ‘id’ ini untuk mendapatkan saldo akun tertentu.

account/get/{id} - Contoh permintaan

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

account/get/{id} - Contoh tanggapan

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

account/get/{id} - Parameter respons

  • guid - GUID dari akun internal
  • id - ID berurutan dari akun internal
  • section - bagian EnergyFather mana yang termasuk dalam saldo ini
  • balance - dana yang tersedia
  • currency - mata uang
  • user_id - GUID pengguna