เอกสารประกอบ 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" ด้วย

b) หากคุณไม่ทราบว่าต้องใช้พลังงานเท่าใดในการทําธุรกรรมเพื่อส่ง 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 – ระยะเวลาของการจัดหาพลังงานเป็นชั่วโมง
  • 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 – ระยะเวลาของการจัดหาพลังงานเป็นชั่วโมง
  • 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 ของผู้ใช้