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

POST /apiv2/order5m ​

สร้างคำสั่งเช่า Energy ระยะเวลา 5 นาทีผ่านพูล Energy ภายในของ Netts

URL ของ Endpoint ​

POST https://netts.io/apiv2/order5m

ส่วนหัวของคำขอ ​

ส่วนหัวจำเป็นคำอธิบาย
Content-Typeใช่application/json
X-API-KEYใช่คีย์ API ของคุณจากแดชบอร์ด Netts
X-Real-IPใช่ที่อยู่ IP จากไวท์ลิสต์ของคุณ

เนื้อหาคำขอ ​

json
{
    "amount": 65000,
    "receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}

พารามิเตอร์ ​

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
amountตัวเลขจำนวนเต็มใช่จำนวน Energy ที่ต้องการเช่า (ขั้นต่ำ: 61,000, สูงสุด: 650,000)
receiveAddressข้อความใช่ที่อยู่ TRON ที่จะรับ Energy (รูปแบบ TRC-20)

ขีดจำกัดของ Energy

เอนด์พอยต์ 5 นาทีรองรับจำนวน Energy ระหว่าง 61,000 ถึง 650,000 หน่วยต่อคำสั่งซื้อ คำขอที่อยู่นอกเหนือช่วงนี้จะถูกปฏิเสธด้วย HTTP 400

ข้อมูลผู้ให้บริการ ​

คำสั่งซื้อ Energy แบบ 5 นาทีจะได้รับการดำเนินการผ่าน พูล Energy ภายในของ Netts เท่านั้น แตกต่างจากเอนด์พอยต์แบบ 1 ชั่วโมงตรงที่ไม่มีการใช้งานผู้ให้บริการภายนอก

ความพร้อมใช้งานและกลยุทธ์การลองใหม่

เนื่องจากการมอบสิทธิ์ (delegation) มาจากพูลภายในเท่านั้น จึงอาจเกิดกรณีที่ไม่พร้อมใช้งานชั่วคราวในช่วงเวลาที่มีความต้องการสูง หากคุณได้รับข้อผิดพลาด 503 ให้ลองส่งคำขอใหม่อีกครั้งหลังจากหน่วงเวลาสั้นๆ หรือเปลี่ยนไปใช้ เอนด์พอยต์ 1 ชั่วโมง ซึ่งสามารถเข้าถึงผู้ให้บริการภายนอกได้หลายราย

ตัวอย่างคำขอ ​

cURL ​

bash
curl -X POST https://netts.io/apiv2/order5m \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -d '{
    "amount": 65000,
    "receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
  }'

Python ​

python
import requests

url = "https://netts.io/apiv2/order5m"
headers = {
    "Content-Type": "application/json",
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip"
}

payload = {
    "amount": 65000,
    "receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}

response = requests.post(url, headers=headers, json=payload)
data = response.json()

if response.status_code == 200:
    detail = data.get('detail', {})
    order_data = detail.get('data', {})
    print(f"Order ID: {order_data.get('orderId')}")
    print(f"Transaction Hash: {order_data.get('hash')}")
    print(f"Energy Delivered: {order_data.get('energy')}")
    print(f"Cost: {order_data.get('paidTRX')} TRX")
    print(f"Delegate Address: {order_data.get('delegateAddress')}")
elif response.status_code == 503:
    # Pool temporarily unavailable - retry or fallback to 1h
    print("Pool busy, retrying in 2 seconds...")
else:
    error_detail = data.get('detail', data)
    print(f"Error Code: {error_detail.get('code', 'N/A')}")
    print(f"Error Message: {error_detail.get('msg', error_detail)}")

การตอบกลับ ​

การตอบกลับเมื่อสำเร็จ (200 OK) ​

json
{
    "detail": {
        "code": 10000,
        "msg": "Successful, 1.430 TRX deducted",
        "data": {
            "orderId": "5Mb4ee11ef86",
            "paidTRX": 1.43,
            "hash": "3636f97dde244fca17cdc0b2cf7fd1572a9b4c6d8e0f1a3b5c7d9e1f3a5b7c9d",
            "delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
            "energy": 65050
        }
    }
}

สำเร็จพร้อมการเปิดใช้งานที่อยู่ (200 OK) ​

เมื่อที่อยู่ผู้รับยังไม่เคยเปิดใช้งานบนเครือข่าย TRON ทาง Netts จะเปิดใช้งานให้อัตโนมัติ โดยค่าใช้จ่ายในการเปิดใช้งานจะถูกบวกรวมเข้ากับยอดรวม:

json
{
    "detail": {
        "code": 10000,
        "msg": "Successful, 1.430 TRX for energy + 1.100 TRX for address activation",
        "data": {
            "orderId": "5Mb4ee11ef86",
            "paidTRX": 2.53,
            "hash": "3636f97dde244fca17cdc0b2cf7fd1572a9b4c6d8e0f1a3b5c7d9e1f3a5b7c9d",
            "delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
            "energy": 65050,
            "activationHash": "bab38070a64b237acc9110ecf5135acc4d6e8f0a2b4c6d8e0f2a4b6c8d0e2f4a"
        }
    }
}

ฟิลด์การตอบกลับ ​

ฟิลด์ชนิดคำอธิบาย
detail.codeตัวเลขจำนวนเต็มเป็น 10000 เสมอสำหรับคำสั่งซื้อที่สำเร็จ
detail.msgข้อความข้อความแจ้งความสำเร็จพร้อมจำนวนเงินที่หัก
detail.data.orderIdข้อความID คำสั่งซื้อแบบรวมศูนย์ (รูปแบบ: 5M{id})
detail.data.paidTRXตัวเลขค่าใช้จ่ายทั้งหมดในหน่วย TRX (รวมค่าเปิดใช้งานหากมี)
detail.data.hashข้อความแฮชของธุรกรรมการมอบสิทธิ์
detail.data.delegateAddressข้อความที่อยู่พูลที่ทำหน้าที่มอบสิทธิ์ Energy
detail.data.energyตัวเลขจำนวนเต็มจำนวน Energy + ส่วนสำรองเพิ่มเติม (โดยทั่วไปคือ +50)
detail.data.activationHashข้อความจะปรากฏเฉพาะเมื่อมีการเปิดใช้งานที่อยู่เท่านั้น

การตอบกลับข้อผิดพลาด ​

จำนวน Energy ไม่ถูกต้อง (400) ​

json
{
    "code": 1003,
    "msg": "Energy amount must be between 61000 and 650000. Requested: 50000"
}

ข้อผิดพลาดในการยืนยันตัวตน (401) ​

json
{
    "detail": "Invalid API key or IP not in whitelist"
}

ยอดเงินคงเหลือไม่เพียงพอ (403) ​

json
{
    "code": 1004,
    "msg": "Insufficient funds. Required: 1.43 TRX, Available: 0.50 TRX"
}

บริการไม่พร้อมใช้งาน (503) ​

json
{
    "code": 5003,
    "msg": "Service temporarily unavailable. Energy delegation failed after retries."
}

การจัดการข้อผิดพลาด 503

การตอบกลับ 503 หมายความว่าพูลภายในมีความจุเต็มชั่วคราว กลยุทธ์ที่แนะนำ:

  1. รอ 2-3 วินาทีแล้วลองส่งคำสั่งซื้อแบบ 5 นาทีใหม่อีกครั้ง
  2. หากยังไม่พร้อมใช้งาน ให้สลับไปใช้ เอนด์พอยต์ 1 ชั่วโมง ซึ่งใช้งานผู้ให้บริการหลายราย

ข้อผิดพลาดภายในเซิร์ฟเวอร์ (500) ​

json
{
    "code": 5000,
    "msg": "Internal server error occurred"
}

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

รหัสคำอธิบายสถานะ HTTP
10000สำเร็จ200
10000สำเร็จ (การตอบกลับจากแคช)208
-คำขอซ้ำกำลังอยู่ระหว่างการประมวลผล409
1003จำนวน Energy อยู่นอกช่วงที่กำหนด400
1004ยอดเงินคงเหลือไม่เพียงพอ403
1005ไม่ได้กำหนดค่าที่อยู่ผู้ชำระเงินของผู้ใช้400
5000ข้อผิดพลาดภายในเซิร์ฟเวอร์500
5003บริการ Energy ไม่พร้อมใช้งาน503

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

ขีดจำกัดอัตราการเรียกใช้งานต่อไปนี้มีผลกับเอนด์พอยต์นี้ (ต่อที่อยู่ IP):

ช่วงเวลาขีดจำกัดคำอธิบาย
1 วินาที50 คำขอสูงสุด 50 คำขอต่อวินาที

ส่วนหัวของขีดจำกัดอัตราการเรียกใช้งาน ​

http
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49

เกินขีดจำกัดอัตราการเรียกใช้งาน (429) ​

json
{
    "message": "API rate limit exceeded"
}

การทำงานแบบ Idempotency ​

API รองรับ Idempotency เพื่อป้องกันการประมวลผลคำสั่งซื้อซ้ำซ้อน เมื่อคุณส่งคำขอที่เหมือนกันหลายรายการ ระบบจะทำให้มั่นใจได้ว่าคำสั่งซื้อจะได้รับการประมวลผลเพียงครั้งเดียวเท่านั้น

หลักการทำงานของ Idempotency ​

ความซ้ำซ้อนของคำขอจะพิจารณาจากชุดค่าผสมของ:

  • การประทับเวลาของคำขอ (Timestamp) (หน้าต่างเวลา 2 วินาที)
  • จำนวน Energy
  • ที่อยู่ผู้รับ
  • คีย์ API

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

การระบุคีย์ของคุณเอง ​

คุณสามารถควบคุม Idempotency ได้ด้วยตนเองโดยการส่งส่วนหัว X-Idempotency-Key เมื่อมีส่วนหัวนี้ ค่าดังกล่าวเพียงอย่างเดียวจะถูกนำมาใช้ตัดสินว่าคำขอนั้นเป็นคำขอซ้ำหรือไม่ และจะไม่มีการใช้ชุดค่าผสมอัตโนมัติด้านบน หากไม่มีส่วนหัวนี้ จะไม่มีอะไรเปลี่ยนแปลง — เซิร์ฟเวอร์จะสร้างคีย์ให้คุณโดยอัตโนมัติ

กฎเกณฑ์จะเหมือนกันกับบน /apiv2/order1h:

ส่วนหัวX-Idempotency-Key
รูปแบบอักขระเลขฐานสิบหกตัวพิมพ์เล็ก 64 ตัว เท่านั้น — ค่าไดเจสต์ SHA-256
อายุการใช้งาน24 ชั่วโมงนับจากคำขอแรกที่มีคีย์ดังกล่าว
ขอบเขตบัญชีของคุณ ค่าเดียวกันที่ส่งโดยบัญชีอื่นจะไม่ส่งคืนผลลัพธ์ของคุณโดยเด็ดขาด

คีย์ในรูปแบบอื่นใด — UUID ที่มีเครื่องหมายขีดกลาง, base64, เลขฐานสิบหกตัวพิมพ์ใหญ่ — จะถูกปฏิเสธด้วยรหัส 400 ก่อนที่จะมีการสร้างคำสั่งซื้อและก่อนที่จะมีการเรียกเก็บเงินใดๆ:

json
{
    "detail": "Invalid idempotency key format. Must be 64-character hexadecimal string."
}

สร้างคีย์จากคีย์ API ของคุณเพื่อให้ไม่ซ้ำกับบัญชีของคุณและสามารถสร้างซ้ำได้เมื่อทำการลองใหม่ — ดูตัวอย่างการทำงานได้ใน หน้าแบบ 1 ชั่วโมง โปรดระบุระยะเวลาการเช่าลงในข้อความที่คุณนำมาแฮชด้วย: การเช่าที่อยู่เดียวกันสำหรับ 5 นาทีและสำหรับ 1 ชั่วโมงถือเป็นคนละคำสั่งซื้อ และการนำคีย์เดียวกันมาใช้ซ้ำสำหรับทั้งสองแบบจะทำให้คำขอที่สองได้รับผลการตอบกลับของคำสั่งซื้อแรก

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

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

หากไม่ได้ระบุคีย์ของคุณเอง:

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

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

การหยุดพักเป็นเพียงวิธีแก้ไขปัญหาชั่วคราว ไม่ใช่การแก้ปัญหาที่ต้นเหตุ — มันยังแยกระหว่างคำขอที่คุณไม่เคยตั้งใจจะส่งซ้ำด้วย เช่น การลองใหม่หลังจากหมดเวลา (timeout) หรือข้อความที่ถูกส่งซ้ำโดยคิวของคุณ ซึ่งแต่ละกรณีเหล่านั้นจะกลายเป็นคำสั่งซื้อที่แยกจากกันพร้อมการเรียกเก็บเงินที่แยกกัน การส่งคีย์ของคุณเองคือสิ่งที่จะช่วยจัดการเรื่องนี้ได้อย่างแท้จริง: ใช้ nonce ใหม่สำหรับคำสั่งซื้อใหม่ และใช้ nonce ของความพยายามครั้งแรกสำหรับการลองใหม่ ดูเหตุผลฉบับเต็มได้ใน หน้าแบบ 1 ชั่วโมง

รหัสสถานะ HTTP สำหรับคำขอซ้ำ ​

รหัสสถานะชื่อคำอธิบาย
200OKดำเนินการคำสั่งซื้อสำเร็จ (คำขอแรก)
208Already Reportedคำสั่งซื้อได้รับการประมวลผลแล้ว ส่งคืนการตอบกลับจากแคช
409Conflictคำขอกำลังอยู่ระหว่างการประมวลผล ห้ามลองส่งใหม่

คำขอซ้ำ - ได้รับการประมวลผลแล้ว (208) ​

json
{
    "detail": {
        "code": 10000,
        "msg": "Successful, 1.430 TRX deducted",
        "data": {
            "hash": "3636f97dde244fca17cdc0b2cf7fd1572a9b4c6d8e0f1a3b5c7d9e1f3a5b7c9d",
            "energy": 65050,
            "orderId": "5Mb4ee11ef86",
            "paidTRX": 1.43,
            "delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq"
        }
    },
    "idempotency": {
        "status": "completed",
        "cached": true,
        "original_created_at": "2026-03-21T08:53:52.498000"
    }
}

คำขอซ้ำ - กำลังอยู่ระหว่างการประมวลผล (409) ​

json
{
    "success": false,
    "error": "duplicate_request_processing",
    "message": "This request is currently being processed. Please wait and do not retry.",
    "retry_after_seconds": 3
}

แนวทางปฏิบัติที่ดีที่สุด ​

  • อย่าส่งคำขอพร้อมๆ กัน ด้วยพารามิเตอร์ชุดเดียวกัน - ให้รอรับการตอบกลับของแต่ละคำขอ
  • จัดการกับการตอบกลับ 409 ด้วยการรอ ไม่ใช่การลองใหม่ทันที
  • ตรวจสอบฟิลด์ idempotency.cached เพื่อระบุว่าเป็นผลการตอบกลับที่มาจากแคชหรือไม่

การเปรียบเทียบ: คำสั่งซื้อแบบ 5 นาที เทียบกับ แบบ 1 ชั่วโมง ​

คุณสมบัติคำสั่งซื้อแบบ 5 นาทีคำสั่งซื้อแบบ 1 ชั่วโมง
เอนด์พอยต์/apiv2/order5m/apiv2/order1h
ระยะเวลา5 นาที1 ชั่วโมง
ช่วง Energy61,000 - 650,00061,000 - 3,000,000
ผู้ให้บริการพูลภายในของ Netts เท่านั้นพูลภายใน + ผู้ให้บริการภายนอก
ราคาถูกกว่า (อัตรา 5 นาที)อัตรามาตรฐานรายชั่วโมง
ความพร้อมใช้งานอาจจำกัดในช่วงเวลาที่มีการใช้งานสูงสูง (มีระบบสำรองจากผู้ให้บริการหลายราย)
เหมาะสำหรับธุรกรรมขนาดเล็กที่เกิดขึ้นบ่อยครั้งธุรกรรมขนาดใหญ่หรือที่ต้องการการันตีการส่งมอบ

บัญชีแบบชำระเงินภายหลัง (Postpaid) ​

บัญชีที่ใช้ ระบบเรียกเก็บเงินแบบชำระเงินภายหลัง จะใช้เอนด์พอยต์, URL, ส่วนหัว และเนื้อหาคำขอเดียวกันกับผู้ใช้ทั่วไป ข้อแตกต่างคือวิธีการชำระเงินสำหรับคำสั่งซื้อ:

  • ไม่มีการหักยอดเงินจากเงินฝากของคุณ คำสั่งซื้อที่สำเร็จแต่ละรายการจะถูกเพิ่มเข้าไปในยอดหนี้ของบัญชีของคุณใน สกุลเงินที่ใช้ชำระราคาตามที่ตกลงกันในสัญญาของคุณ คุณจะชำระเงินตามใบแจ้งหนี้ตามข้อตกลงของคุณ
  • บัญชีของคุณจะมี วงเงินสินเชื่อ ตราบใดที่ยอดหนี้ที่ต้องชำระยังอยู่ภายในวงเงิน คำสั่งซื้อจะได้รับการอนุมัติแม้จะมียอดเงินฝากเป็นศูนย์ก็ตาม
  • มีการเรียกเก็บเงินเฉพาะบริการที่ส่งมอบสำเร็จเท่านั้น คำสั่งซื้อที่ถูกปฏิเสธหรือไม่ได้ดำเนินการจะไม่มีค่าใช้จ่าย
  • หากจำเป็นต้องเปิดใช้งานที่อยู่ผู้รับ การเปิดใช้งานจะเป็นส่วนหนึ่งของคำสั่งซื้อเดียวกันและจะถูกเรียกเก็บเงินเป็นรายการแยกต่างหาก

ระบบเรียกเก็บเงินแบบชำระเงินภายหลังจะเปิดใช้งานโดย Netts ตามคำขอของบัญชี ทุกการตอบกลับจะบอกคุณว่าคำสั่งซื้อนั้นชำระอย่างไร: paymentMode คือ postpaid หรือ prepaid

ฟิลด์คำขอเพิ่มเติม ​

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
testค่าความจริงไม่true — คำนวณราคาเท่านั้น ไม่มีการสั่งซื้อ ส่งมอบ หรือเรียกเก็บเงินใดๆ
freezePriceค่าความจริงไม่true — ตรึงราคาภายใต้สัญญาของคุณเป็นเวลา 60 วินาที ไม่มีการสั่งซื้อหรือเรียกเก็บเงินใดๆ
quoteIdข้อความไม่สร้างคำสั่งซื้อตามราคาของใบเสนอราคาที่ออกโดย freezePrice
priceCurrencyข้อความไม่TRX (ค่าเริ่มต้น) หรือสกุลเงินตามสัญญาของคุณ เช่นใน settlement.asset สำหรับบัญชีแบบชำระเงินภายหลัง จำนวนเงินในสกุลเงินตามสัญญาของคุณจะรวมอยู่ด้วยเสมอ

quoteId ไม่สามารถใช้ร่วมกับ test หรือ freezePrice ได้ ฟิลด์อื่นๆ ในเนื้อหาคำขอจะถูกปฏิเสธ

การตรวจสอบราคา (test: true) ​

json
{
    "amount": 65000,
    "receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
    "test": true
}
json
{
    "detail": {
        "code": 10010,
        "msg": "Test calculation",
        "data": {
            "amount": 65000,
            "unitPriceSun": "19",
            "discount": null,
            "energyTRX": "1.235000",
            "activationTRX": "1.100000",
            "wouldCostTRX": "2.335000",
            "paidTRX": 0,
            "paymentMode": "postpaid",
            "activationCheck": "inactive",
            "alt": {"USDC": {"energy": "0.409088", "activation": "0.364370", "total": "0.773458"}},
            "fxAt": "2026-10-19T07:16:12.548894+00:00"
        }
    }
}
ฟิลด์คำอธิบาย
unitPriceSunราคาต่อหน่วย Energy ในหน่วย SUN รวมส่วนลดส่วนบุคคลของคุณแล้วหากมี
discountส่วนลดส่วนบุคคลของคุณ (type, value) หรือ null
energyTRX / activationTRX / wouldCostTRXEnergy, การเปิดใช้งาน (หากที่อยู่นั้นจำเป็นต้องใช้) และยอดรวม ในหน่วย TRX
activationCheckinactive — ที่อยู่จะได้รับการเปิดใช้งานและเรียกเก็บเงิน; active — ไม่มีการเปิดใช้งาน; unknown — ไม่สามารถตรวจสอบได้ในขณะนี้
alt.<currency>จำนวนเงินเดียวกันในสกุลเงินตามสัญญาของคุณ
fxAtเวลาของอัตราแลกเปลี่ยนที่ใช้สำหรับจำนวนเงินในสกุลเงินตามสัญญาของคุณ

ใบเสนอราคาแบบคงที่ (freezePrice: true) ​

ใช้ใบเสนอราคาเพื่อตรึงราคาภายใต้สัญญาของคุณก่อนที่คุณจะทำการสั่งซื้อ

  1. ส่งคำสั่งซื้อพร้อม "freezePrice": true การตอบกลับจะมีรหัส 10011 (Quote issued), ฟิลด์เดียวกันกับการตรวจสอบราคา พร้อมด้วย quoteId และ expiresAt
  2. ภายใน 60 วินาที ให้ส่งคำสั่งซื้อพร้อม "quoteId": "<quoteId>" และ amount รวมถึง receiveAddress เดิม
  3. คำสั่งซื้อจะถูกเรียกเก็บเงินตามราคาที่เสนอ — ราคาภายใต้สัญญาของคุณ ณ เวลาที่ออกใบเสนอราคา — แม้ว่าราคาจะเปลี่ยนแปลงหลังจากนั้นก็ตาม

ใบเสนอราคาสามารถใช้งานได้ ครั้งเดียว และสำหรับผลิตภัณฑ์ประเภทเดียวกันเท่านั้น: ใบเสนอราคาแบบ 5 นาทีไม่สามารถนำไปชำระสำหรับคำสั่งซื้อแบบ 1 ชั่วโมงได้ ใบเสนอราคาที่หมดอายุหรือถูกใช้ไปแล้วจะถูกปฏิเสธและจะไม่มีการสั่งซื้อเกิดขึ้น

json
{
    "amount": 65000,
    "receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
    "quoteId": "q_4f540f16a2c94b7f8e3d1a6b5c0e9d72"
}

คำสั่งซื้อสำเร็จ ​

json
{
    "detail": {
        "code": 10000,
        "msg": "Successful, 1.24 TRX service cost, postpaid",
        "data": {
            "orderId": "5M5f557d2fba",
            "paidTRX": 1.235,
            "hash": "c1fafd8ef7fb6b7fb8a729120756b26e611f401275cb4f7a04fe2bafd75b13da",
            "delegateAddress": "TR3qZsdmkFcvP729Md3PwXzktFQkMoUzjg",
            "energy": 65000,
            "paymentMode": "postpaid",
            "energyTRX": "1.235000",
            "activationTRX": "0.000000",
            "totalTRX": "1.235000"
        }
    }
}
ฟิลด์คำอธิบาย
paidTRXค่าบริการในหน่วย TRX สำหรับบัญชีแบบชำระเงินภายหลังจะ ไม่ ถูกหักออกจากเงินฝาก
paymentModepostpaid
energyTRX / activationTRX / totalTRXจำนวนเงินที่แน่นอน ทศนิยม 6 ตำแหน่ง
quoteId, altจะแสดงเมื่อคำสั่งซื้อถูกส่งด้วยใบเสนอราคา: รหัสใบเสนอราคาและจำนวนเงินตามใบเสนอราคา

ฟิลด์อื่นๆ ทั้งหมดเหมือนกับคำสั่งซื้อแบบชำระเงินล่วงหน้า (Prepaid)

วงเงินสินเชื่อเต็ม (402) ​

json
{
    "detail": {
        "code": 1004,
        "msg": "Postpaid credit limit reached.",
        "paymentMode": "postpaid",
        "reason": "limit_reached"
    }
}

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

รหัสข้อผิดพลาดของระบบชำระเงินภายหลัง ​

รหัสHTTPคำอธิบาย
10010200ผลลัพธ์การตรวจสอบราคา (test)
10011200ออกใบเสนอราคาแล้ว (freezePrice)
1004402วงเงินสินเชื่อของระบบชำระเงินภายหลังเต็ม
4100400คำขอไม่ถูกต้อง
4101400ไม่รองรับ priceCurrency
4102400มีการใช้ quoteId ร่วมกับ test หรือ freezePrice
4103409ใบเสนอราคาถูกใช้งานไปแล้ว
4104409ใบเสนอราคาหมดอายุ
4105409คีย์ Idempotency ถูกใช้ไปแล้วสำหรับคำขออื่น
4106404ไม่พบใบเสนอราคา
4107409พารามิเตอร์ของคำสั่งซื้อแตกต่างจากในใบเสนอราคา
4108400รูปแบบ quoteId ไม่ถูกต้อง
4109422ไม่สามารถใช้งานได้สำหรับบัญชีย่อย
5032503ราคาไม่พร้อมใช้งานชั่วคราว
5033503อัตราแลกเปลี่ยนไม่พร้อมใช้งานชั่วคราว
5034503ระบบเรียกเก็บเงินไม่พร้อมใช้งานชั่วคราว — คำสั่งซื้อไม่ได้รับการยอมรับ
5036503การตรวจสอบสินเชื่อไม่พร้อมใช้งานชั่วคราว — โปรดลองใหม่ภายหลัง

สำหรับการตอบกลับ 4xx และ 503 ทั้งหมดข้างต้น จะไม่มีการสั่งซื้อและไม่มีการเรียกเก็บเงินใดๆ

หมายเหตุ ​

  • Energy จะได้รับการส่งมอบทันทีเมื่อสั่งซื้อสำเร็จ (โดยทั่วไปภายใน 0.5-2 วินาที)
  • การหมดเวลาตอบกลับของ API: สูงสุด 10 วินาที (รวมความพยายามในการลองใหม่ภายในระบบ)
  • การเปิดใช้งานที่อยู่: หากที่อยู่ผู้รับยังไม่ได้เปิดใช้งาน Netts จะเปิดใช้งานให้ตามราคาทุน ค่าใช้จ่ายในการเปิดใช้งานจะถูกเรียกเก็บเพียงครั้งเดียวต่อที่อยู่
  • ระยะเวลา: คงที่ 5 นาที (300 วินาที)
  • จำนวน Energy ขั้นต่ำ: 61,000 หน่วย
  • จำนวน Energy สูงสุด: 650,000 หน่วยต่อคำสั่งซื้อ
  • Energy สำรองเพิ่มเติม: เพิ่ม +50 หน่วยโดยอัตโนมัติ (ไม่มีค่าใช้จ่าย)
  • รูปแบบ ID คำสั่งซื้อ: 5M{id} สำหรับการติดตามแบบรวมศูนย์
  • การกำหนดราคา: แบบไดนามิกตามช่วงเวลาของวันผ่าน Pricing API
  • การจำกัดอัตราการเรียกใช้งาน: 50 คำขอต่อวินาทีต่อที่อยู่ IP
  • พูลภายในเท่านั้น: หากพูลมีความจุเต็ม ให้ลองส่งใหม่หลังจากหน่วงเวลาสั้นๆ หรือใช้ เอนด์พอยต์ 1 ชั่วโมง เป็นทางเลือกสำรอง