Energy Reclaim — کرائے پر لی گئی Energy جلد واپس کریں
کرائے کی مدت ختم ہونے سے پہلے ڈیلیگیٹ کی گئی Energy پول کو واپس کریں۔ یہ اس وقت مفید ہوتا ہے جب وہ ٹرانزیکشن پہلے ہی بھیجی جا چکی ہو جس کے لیے آپ نے کرائے پر لی تھی: Energy ایڈریس پر بیکار پڑی نہیں رہتی، اور پول کسی اور صارف کی ضرورت پوری کر سکتا ہے۔
Reclaim اختیاری ہے۔ کرایے کی مدت خود بخود ختم ہو جاتی ہے — آپ کو اس اینڈ پوائنٹ کو کال کرنے کی کبھی ضرورت پیش نہیں آتی۔
اینڈ پوائنٹ کی بنیاد کا URL
https://netts.io/apiv2/energy/reclaimBandwidth کا اپنا اینڈ پوائنٹ ہے، ملاحظہ کریں Bandwidth۔
درخواست کے Headers
| Header | مطلوب ہے | تفصیل |
|---|---|---|
| X-API-KEY | ہاں | وہ API کلید جس کے ذریعے آرڈر دیا گیا تھا |
| X-Real-IP | ہاں | آپ کی وائٹ لسٹ سے IP ایڈریس |
آپ کا user_id، API کلید سے اخذ کیا جاتا ہے — آپ اسے کبھی خود پاس نہیں کرتے۔
کلید وہی ہونی چاہیے جو آرڈر کے لیے استعمال ہوئی تھی
ایک آرڈر کو صرف اسی کلید سے reclaim کیا جا سکتا ہے جس نے اسے بنایا تھا۔ اسی اکاؤنٹ کی دوسری کلید کام نہیں کرے گی۔
Reclaim — POST /apiv2/energy/reclaim/{orderId}
orderId وہ آرڈر نمبر ہے جو Energy کا آرڈر دیتے وقت ملا تھا — مثلاً 1 گھنٹے کے کرایے کے لیے 1H… یا 5 منٹ کے کرایے کے لیے 5M…۔ درخواست کی باڈی کی ضرورت نہیں۔
curl -X POST "https://netts.io/apiv2/energy/reclaim/1Hb252feadcc" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip"جواب — reclaimed (200، کوڈ 10004)
{
"detail": {
"code": 10004,
"status": "reclaimed",
"msg": "Energy reclaimed",
"data": {
"orderId": "1Hb252feadcc",
"reclaimHash": "51fa77da06e8fbebf504fbf088d1d9611059398d…"
}
}
}reclaimHash آن چین ٹرانزیکشن ہے جس نے Energy واپس کی۔ درخواست سے جواب تک عام طور پر چند سیکنڈ لگتے ہیں۔
جواب — پہلے ہی reclaimed ہے (200، کوڈ 10004)
{
"detail": {
"code": 10004,
"status": "reclaimed",
"msg": "Energy already reclaimed",
"data": {
"orderId": "1Hb252feadcc",
"reclaimHash": "51fa77da06e8fbebf504fbf088d1d9611059398d…"
}
}
}اس اینڈ پوائنٹ کو دو بار کال کرنا محفوظ ہے: دوسری کال وہی ہیش واپس کرتی ہے اور کوئی تبدیلی نہیں لاتی۔ یہ ان کرایوں پر بھی لاگو ہوتا ہے جن کی مدت خود بخود ختم ہو چکی ہے۔
جواب — بیرونی فراہم کنندہ (400، کوڈ 5006)
{
"detail": {
"code": 5006,
"status": "failed",
"msg": "Reclaim is available only for internal pool orders",
"data": { "orderId": "1H47eac983af", "provider": "…" }
}
}بیرونی فراہم کنندہ کے ذریعے پورے کیے گئے آرڈرز کو واپس نہیں لیا جا سکتا: یہ وسائل ہمارے نہیں ہیں کہ ہم واپس کر سکیں۔ آرڈر کے جواب میں یہ دیکھا جا سکتا ہے کہ کس فراہم کنندہ نے آرڈر پورا کیا۔
جواب — reclaim کرنے کے لیے کچھ نہیں ہے (400، کوڈ 5005)
آرڈر کے نتیجے میں کبھی ڈیلیگیشن ہوئی ہی نہیں، یا ڈیلیگیشن فعال نہیں ہے۔ کوئی فیس چارج نہیں کی جاتی اور کچھ بھی تبدیل نہیں ہوتا۔
جواب — ابھی مکمل نہیں ہوا (503، کوڈ 5003)
{
"detail": {
"code": 5003,
"status": "failed",
"msg": "Reclaim not completed yet — try again shortly",
"data": { "orderId": "1Hb252feadcc" }
}
}Reclaim کی درخواست قبول کر لی گئی تھی لیکن انتظار کے مقررہ وقت میں آن چین ٹرانزیکشن ظاہر نہیں ہوئی۔ یہ غالب امکان ہے کہ خود بخود مکمل ہو جائے گا — ہیش حاصل کرنے کے لیے چند سیکنڈ میں دوبارہ کال کریں۔
جواب — آرڈر نہیں ملا (404)
{ "detail": { "code": -1, "msg": "Order not found" } }یہ اس وقت واپس آتا ہے جب آرڈر موجود نہ ہو اور تب بھی جب یہ کسی دوسرے اکاؤنٹ سے تعلق رکھتا ہو۔
ایک آرڈر، ایک ایڈریس نہیں
Reclaim فی آرڈر کام کرتا ہے، فی ایڈریس نہیں۔ یہ جان بوجھ کر کیا گیا ہے: ایک آرڈر واضح طور پر شناخت کرتا ہے کہ کیا واپس کیا جا رہا ہے — ایک ہی ایڈریس پر متعدد آرڈرز کی Energy موجود ہو سکتی ہے، بشمول دوسرے اکاؤنٹس کے آرڈرز۔
دو ایسے نتائج جن کے لیے پیشگی منصوبہ بندی ضروری ہے:
- بہت سے ایڈریسز کے لیے ایک بیچ آرڈر کے نتیجے میں فی ایڈریس ایک آرڈر نمبر بنتا ہے۔ آپ ان میں سے کسی کو بھی انفرادی طور پر reclaim کر سکتے ہیں؛ باقی اپنا کام جاری رکھیں گے۔
- ایک ایڈریس کے لیے بڑی مقدار کو کئی آرڈرز میں تقسیم کیا جا سکتا ہے۔ اس ایڈریس کو مکمل طور پر خالی کرنے کے لیے، ان میں سے ہر ایک کو reclaim کریں۔
Orchestrator کے ذریعے دیے گئے آرڈرز کو Reclaim کرنا
یہ بھی اسی طرح کام کرتا ہے۔ Orchestrator سے اپنی درخواست کی صورتحال معلوم کریں، اپنے مطلوبہ ایڈریس کے energy.orderIds فیلڈ سے آرڈر نمبر لیں، اور اس کے ساتھ reclaim کو کال کریں:
"energy": {
"requested": 65570,
"delegated": 65570,
"status": "done",
"orderIds": ["1Hb252feadcc"]
}رقم
Reclaim سے کچھ بھی ریفنڈ نہیں ہوتا۔ کرائے پر لینا اور واپس کرنا الگ الگ عمل ہیں: جب آپ نے آرڈر دیا تھا تو آپ نے کرائے کی ادائیگی کی تھی، اور وسائل کو وقت سے پہلے واپس کرنے سے وہ ادائیگی منسوخ نہیں ہوتی۔
درخواستوں کی حد (Rate limit)
10 درخواستیں فی سیکنڈ فی IP۔
خرابی کے کوڈز (Error codes)
| کوڈ | HTTP | مفہوم |
|---|---|---|
| 10004 | 200 | Reclaim ہو گیا، یا پہلے ہی reclaim شدہ ہے — ہیش شامل ہے |
| 5003 | 503 | قبول ہو گیا، ہیش کی ابھی تصدیق نہیں ہوئی — تھوڑی دیر بعد دوبارہ کوشش کریں |
| 5005 | 400 | اس آرڈر کے لیے reclaim کرنے کو کچھ نہیں ہے |
| 5006 | 400 | بیرونی فراہم کنندہ کا آرڈر ہے — reclaim دستیاب نہیں ہے |
| −1 | 404 | آرڈر نہیں ملا، یا کسی دوسرے اکاؤنٹ کا ہے |
| −1 | 401 | غائب یا غلط API کلید، یا IP وائٹ لسٹ میں شامل نہیں ہے |