กรณีการใช้งาน
ด้านล่างนี้เป็นกรณีการผสานการทำงานจริงกับ Quickex API
สำหรับการผสานใหม่ แนะนำให้ใช้ API v2 (การเซ็นคำขอ, รายการ IP ที่อนุญาต)
สำหรับข้อมูลหน้าร้านสาธารณะและการติดตามคำสั่งซื้อ มีวิธีการที่สะดวกใน API v1
อย่าผสมอัตราที่ได้รับจาก API เวอร์ชันหนึ่งเมื่อสร้างธุรกรรมในอีกเวอร์ชันหนึ่ง
1) การผสานตัวแลกเปลี่ยนเข้ากับเว็บไซต์
วัตถุประสงค์
เพิ่มฟอร์มแลกเปลี่ยนบนเว็บไซต์พร้อมตัวเลือกสกุลเงิน/เครือข่าย การตรวจสอบที่อยู่ และการสร้างคำสั่งซื้อ
เอนด์พอยต์
- v2:
POST /api/v2/instruments/public/validate-address,POST /api/v2/instruments/public/one,GET /api/v2/instruments/public,POST /api/v2/orders/public/create,POST /api/v2/orders/public/set-email - v1 (เพิ่มเติมหากต้องการสถานะ/หน้าร้าน):
GET /api/v1/instruments/public,GET /api/v1/instruments/public/one,POST /api/v1/instruments/public/validate-address
ขั้นตอนการทำงาน
- โหลดรายการเครื่องมือที่ใช้งานอยู่ (สกุลเงิน + เครือข่าย) เพื่อสร้างรายการ “ส่ง/รับ”
- เมื่อผู้ใช้เลือก ให้เรียกดูรายละเอียดเครื่องมือ “รับ” (ความละเอียด, memo/tag, ข้อจำกัด)
- ตรวจสอบที่อยู่ปลายทางผ่าน
validate-address - สร้างคำสั่งซื้อ:
POST /api/v2/orders/public/create(แนะนำ v2) บันทึกorderIdและแสดงdepositAddressให้ผู้ใช้ - (ไม่บังคับ) เพิ่มอีเมลให้กับคำสั่งซื้อ:
POST /api/v2/orders/public/set-email— สำหรับการแจ้งเตือนผู้ใช้ - แสดงหน้าจอพร้อมคำแนะนำการชำระเงินไปที่
depositAddressและตัวจับเวลา
ข้อผิดพลาดและความปลอดภัย
- บล็อกการส่งฟอร์มจนกว่าจะตรวจสอบที่อยู่เรียบร้อย
- ตรวจสอบ
requiresMemo/tag— ขอให้ผู้ใช้กรอก memo/tag หากจำเป็น - สำหรับ v2 — เซ็นทุกคำขอและจำกัด IP ผ่าน whitelist
2) การดึงและแสดงอัตราแลกเปลี่ยน
วัตถุประสงค์
แสดงอัตราแลกเปลี่ยนล่าสุดให้กับผู้ใช้สำหรับคู่ที่เลือก
เอนด์พอยต์
- v1:
GET /api/v1/rates/public/one— อัตราแลกเปลี่ยนสาธารณะในรูปแบบ JSON
ขั้นตอนการทำงาน
- เมื่อผู้ใช้เลือกคู่สกุลเงิน — เรียกอัตราแลกเปลี่ยนสาธารณะผ่าน
rates/public/one - แสดงอัตรา, จำนวนขั้นต่ำ/สูงสุด (ถ้ามี), เวลาที่อัปเดตล่าสุด
- (ไม่บังคับ) ใช้ “markup” เชิงภาพกับอัตราที่แสดงบนหน้าร้าน (ดูกรณี 4) แต่ห้ามใช้อัตราที่แก้ไขแล้วสำหรับการสร้างคำสั่งซื้อจริงในอีกเวอร์ชันของ API
คำแนะนำ
- แคชการตอบสนอง 10–30 วินาทีเพื่อลดภาระโหลด
- แสดงเวลาที่อัปเดตล่าสุดและปุ่ม “รีเฟรชอัตรา”
3) การสร้างและติดตามคำสั่งซื้อ
วัตถุประสงค์
สร้างคำสั่งซื้อและให้ผู้ใช้ได้รับสถานะการดำเนินการที่เข้าใจง่าย
เอนด์พอยต์
- v2:
POST /api/v2/orders/public/create,POST /api/v2/orders/public/set-email - v1:
POST /api/v1/orders/public/create,GET /api/v1/orders/public-info,GET /api/v1/orders/public/latest,POST /api/v1/orders/public/accept-rate-mode-change,POST /api/v1/orders/public/request-refund,GET /api/v1/orders/order-refund-info
ขั้นตอน (v2 — แนะนำให้ใช้สำหรับการสร้าง)
- ตรวจสอบข้อมูลที่ป้อนและที่อยู่ปลายทาง
- สร้างคำสั่งซื้อ:
v2/orders/public/create→ รับorderId,depositAddress - เสนอ “เพิ่มอีเมล”:
v2/orders/public/set-email - แสดงคำแนะนำการฝากเงินให้ผู้ใช้
การติดตามสถานะ (หน้าร้านและบัญชีผู้ใช้)
- หน้าร้าน “การแลกล่าสุด”:
GET /api/v1/orders/public/latest - รายละเอียดคำสั่งซื้อเฉพาะ:
GET /api/v1/orders/public-info?orderId=...&destinationAddress=...— อาร์เรย์deposits/withdrawals,confirmations,txId,networkFee - เปลี่ยนโหมดอัตราตามคำขอ:
POST /api/v1/orders/public/accept-rate-mode-change - การคืนเงิน:
POST /api/v1/orders/public/request-refund→ รายละเอียดผ่านGET /api/v1/orders/order-refund-info
หมายเหตุ
- จัดเก็บ
orderIdใน backend ของคุณและเชื่อมโยงกับเซสชันผู้ใช้ - สำหรับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ ใช้
GET /api/v1/orders/public/list(แท็ก auth) เป็นแดชบอร์ดคำสั่งซื้อส่วนตัว
4) การตรวจสอบสถานะธุรกรรม
วัตถุประสงค์
ให้ความโปร่งใสแก่ผู้ใช้เกี่ยวกับความคืบหน้าของการฝากและการถอน
เอนด์พอยต์
- v1:
GET /api/v1/orders/public-info,GET /api/v1/orders/order-refund-info
ขั้นตอนการทำงาน
- สอบถาม
public-infoเป็นระยะตามorderIdและdestinationAddress - ในบล็อก
deposits[0]วิเคราะห์isPending,confirmations,txId,depositAddress - เมื่อการฝากได้รับการยืนยัน — แสดงข้อมูลการถอนจากอาร์เรย์
withdrawals(จำนวน,networkFee,txId) - ในกรณีการคืนเงิน — ดึงรายละเอียดผ่าน
order-refund-infoและแสดงสถานะ “กำลังคืนเงิน/เสร็จสิ้น”
คำแนะนำ
- ตั้งช่วงการสอบถาม 5–15 วินาที พร้อม backoff หากเจอ 429/5xx
- แสดงลิงก์ไปยัง blockchain explorer ตาม
txIdหากมี - เพิ่มคำเตือนเชิงภาพสำหรับที่อยู่ที่ต้องการ memo/tag