Skip to content
Translated page. The English version is the source of truth.

การเรียกคืน Energy — คืน Energy ที่เช่าก่อนกำหนด ​

ส่งคืน Energy ที่ได้รับการมอบหมาย (delegate) กลับไปยังพูลก่อนที่ระยะเวลาการเช่าจะสิ้นสุดลง มีประโยชน์เมื่อธุรกรรม ที่คุณเช่ามาใช้งานนั้นถูกส่งไปแล้ว: Energy จะได้ไม่ค้างอยู่บนที่อยู่โดยเปล่าประโยชน์ และพูลสามารถ นำไปให้บริการแก่ผู้อื่นต่อได้

การเรียกคืนเป็นแบบตามความสมัครใจ การเช่าจะหมดอายุลงเองตามระยะเวลา — คุณไม่จำเป็นต้องเรียกใช้งานเอนด์พอยต์นี้เลยก็ได้

Base URL ของ Endpoint ​

https://netts.io/apiv2/energy/reclaim

Bandwidth มีเอนด์พอยต์แยกเป็นของตัวเอง โปรดดูที่ Bandwidth

Headers ของคำขอ ​

ส่วนหัวจำเป็นคำอธิบาย
X-API-KEYใช่คีย์ API ที่ใช้ในการสร้างคำสั่งซื้อ
X-Real-IPใช่ที่อยู่ IP ที่อยู่ในไวต์ลิสต์ของคุณ

user_id ของคุณจะได้มาจากคีย์ API โดยตรง — คุณไม่ต้องส่งค่านี้ไป

คีย์ที่ใช้ต้องเป็นคีย์เดียวกันกับที่ใช้สร้างคำสั่งซื้อ

คำสั่งซื้อสามารถเรียกคืนได้ด้วยคีย์ที่สร้างคำสั่งซื้อนั้นขึ้นมาเท่านั้น คีย์อื่นที่อยู่ในบัญชีเดียวกัน จะไม่สามารถใช้งานได้


เรียกคืน — POST /apiv2/energy/reclaim/{orderId} ​

orderId คือหมายเลขคำสั่งซื้อที่ได้รับกลับมาตอนสั่งซื้อ Energy — ตัวอย่างเช่น 1H… สำหรับ การเช่าแบบ 1 ชั่วโมง หรือ 5M… สำหรับการเช่าแบบ 5 นาที ไม่ต้องมีเนื้อหาคำขอ (request body)

bash
curl -X POST "https://netts.io/apiv2/energy/reclaim/1Hb252feadcc" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

การตอบกลับ — เรียกคืนสำเร็จ (200, รหัส 10004) ​

json
{
    "detail": {
        "code": 10004,
        "status": "reclaimed",
        "msg": "Energy reclaimed",
        "data": {
            "orderId": "1Hb252feadcc",
            "reclaimHash": "51fa77da06e8fbebf504fbf088d1d9611059398d…"
        }
    }
}

reclaimHash คือธุรกรรมบนเชนที่ส่งคืน Energy เวลาโดยทั่วไปตั้งแต่ส่งคำขอจนถึง ได้รับการตอบกลับจะอยู่ที่สองสามวินาที

การตอบกลับ — มีการเรียกคืนไปแล้ว (200, รหัส 10004) ​

json
{
    "detail": {
        "code": 10004,
        "status": "reclaimed",
        "msg": "Energy already reclaimed",
        "data": {
            "orderId": "1Hb252feadcc",
            "reclaimHash": "51fa77da06e8fbebf504fbf088d1d9611059398d…"
        }
    }
}

การเรียกใช้เอนด์พอยต์นี้ซ้ำสองครั้งมีความปลอดภัย: การเรียกครั้งที่สองจะส่งคืนแฮชเดิมและไม่มีการเปลี่ยนแปลงใดๆ ซึ่งครอบคลุมไปถึงการเช่าที่หมดอายุลงเองตามระยะเวลาไปแล้วด้วยเช่นกัน

การตอบกลับ — ผู้ให้บริการภายนอก (400, รหัส 5006) ​

json
{
    "detail": {
        "code": 5006,
        "status": "failed",
        "msg": "Reclaim is available only for internal pool orders",
        "data": { "orderId": "1H47eac983af", "provider": "…" }
    }
}

คำสั่งซื้อที่ให้บริการโดยผู้ให้บริการภายนอกจะไม่สามารถเรียกคืนได้: เนื่องจากทรัพยากรไม่ได้เป็นของเราที่จะส่งคืนได้ คุณสามารถดูว่าผู้ให้บริการรายใดเป็นผู้ดำเนินการคำสั่งซื้อได้จากการตอบกลับของคำสั่งซื้อ

การตอบกลับ — ไม่มีรายการให้เรียกคืน (400, รหัส 5005) ​

คำสั่งซื้อไม่เคยส่งผลให้เกิดการมอบหมาย (delegation) หรือการมอบหมายนั้นไม่ได้ใช้งานอยู่ ไม่มีการคิดค่าบริการและ ไม่มีสิ่งใดเปลี่ยนแปลง

การตอบกลับ — ยังดำเนินการไม่เสร็จสิ้น (503, รหัส 5003) ​

json
{
    "detail": {
        "code": 5003,
        "status": "failed",
        "msg": "Reclaim not completed yet — try again shortly",
        "data": { "orderId": "1Hb252feadcc" }
    }
}

ระบบรับคำขอการเรียกคืนแล้ว แต่ธุรกรรมบนเชนยังไม่ปรากฏขึ้นภายในระยะเวลาที่กำหนด โดยส่วนใหญ่ธุรกรรมจะดำเนินการเสร็จสิ้นได้เอง — ให้ลองเรียกใหม่อีกครั้งในอีกสองสามวินาทีเพื่อรับแฮช

การตอบกลับ — ไม่พบคำสั่งซื้อ (404) ​

json
{ "detail": { "code": -1, "msg": "Order not found" } }

จะส่งค่านี้กลับมาทั้งในกรณีที่ไม่พบคำสั่งซื้อและกรณีที่คำสั่งซื้อนั้นเป็นของบัญชีอื่น


ต่อหนึ่งคำสั่งซื้อ ไม่ใช่ต่อหนึ่งที่อยู่ ​

การเรียกคืนจะทำงานแยกตามคำสั่งซื้อ ไม่ใช่แยกตามที่อยู่ ซึ่งได้รับการออกแบบมาโดยเฉพาะ: คำสั่งซื้อจะระบุอย่างชัดเจนว่า กำลังส่งคืนรายการใด — ที่อยู่เดียวกันอาจถือครอง Energy จากหลายคำสั่งซื้อได้ รวมถึงคำสั่งซื้อ จากบัญชีอื่นๆ ด้วย

ข้อควรคำนึงสองประการในการวางแผนระบบ:

  • คำสั่งซื้อแบบกลุ่ม (batch order) สำหรับหลายที่อยู่จะสร้างหมายเลขคำสั่งซื้อแยกหนึ่งหมายเลขต่อหนึ่งที่อยู่ คุณสามารถเรียกคืนรายการใด รายการหนึ่งแยกกันได้ โดยรายการที่เหลือยังคงทำงานต่อไป
  • จำนวนทรัพยากรจำนวนมากสำหรับที่อยู่เดียวอาจถูกแบ่งออกเป็นหลายคำสั่งซื้อ การจะปลดปล่อยที่อยู่นั้น อย่างสมบูรณ์ คุณจะต้องเรียกคืนแต่ละคำสั่งซื้อทีละรายการ

การเรียกคืนคำสั่งซื้อที่สร้างผ่าน Orchestrator ​

ทำงานในลักษณะเดียวกัน ให้สอบถามสถานะคำขอของคุณจาก Orchestrator จากนั้นนำหมายเลขคำสั่งซื้อจากฟิลด์ energy.orderIds ของที่อยู่ที่คุณต้องการ และส่งคำขอเรียกคืนด้วยหมายเลขดังกล่าว:

json
"energy": {
    "requested": 65570,
    "delegated": 65570,
    "status": "done",
    "orderIds": ["1Hb252feadcc"]
}

ค่าใช้จ่าย ​

การเรียกคืนจะไม่มีการคืนเงินใดๆ ทั้งสิ้น การเช่าและการส่งคืนเป็นการดำเนินการที่แยกจากกัน: คุณได้ชำระเงินสำหรับการเช่า ไปแล้วเมื่อสร้างคำสั่งซื้อ และการส่งคืนทรัพยากรก่อนกำหนดไม่ได้เป็นการยกเลิกการชำระเงินนั้น

อัตราจำกัดการเรียกใช้งาน ​

10 คำขอต่อวินาที ต่อ IP

รหัสข้อผิดพลาด ​

รหัสHTTPความหมาย
10004200เรียกคืนสำเร็จ หรือได้รับการเรียกคืนไปแล้ว — มีแฮชแนบมาด้วย
5003503รับคำขอแล้ว แต่ยังไม่ได้รับการยืนยันแฮช — ให้ลองใหม่อีกครั้งในไม่ช้า
5005400ไม่มีรายการให้เรียกคืนสำหรับคำสั่งซื้อนี้
5006400คำสั่งซื้อจากผู้ให้บริการภายนอก — ไม่สามารถเรียกคืนได้
−1404ไม่พบคำสั่งซื้อ หรือคำสั่งซื้อเป็นของบัญชีอื่น
−1401คีย์ API ไม่ถูกต้องหรือไม่ได้ระบุ หรือ IP ไม่อยู่ในไวต์ลิสต์