وثائق API

تساعد خدمة EnergyFather على شراء (استئجار) الطاقة وعرض النطاق الترددي اللازمين لإرسال المعاملات في USDT وغيرها من الرموز المشفرة TRC20 ؛ هناك حاجة أيضا إلى عرض النطاق الترددي لإرسال أي نوع من المعاملات على blockchain 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 blockchain حيث يتم تفويض الموارد واستصلاحها (غير مفوضة)
  • 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 للمستخدم