กรณีการใช้งาน

Author profile photo
ทีม Quickex
31 สิงหาคม 2568
~1 นาทีในการอ่าน

กรณีการใช้งาน

ด้านล่างนี้เป็นกรณีการผสานการทำงานจริงกับ 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

ขั้นตอนการทำงาน

  1. โหลดรายการเครื่องมือที่ใช้งานอยู่ (สกุลเงิน + เครือข่าย) เพื่อสร้างรายการ “ส่ง/รับ”
  2. เมื่อผู้ใช้เลือก ให้เรียกดูรายละเอียดเครื่องมือ “รับ” (ความละเอียด, memo/tag, ข้อจำกัด)
  3. ตรวจสอบที่อยู่ปลายทางผ่าน validate-address
  4. สร้างคำสั่งซื้อ: POST /api/v2/orders/public/create (แนะนำ v2) บันทึก orderId และแสดง depositAddress ให้ผู้ใช้
  5. (ไม่บังคับ) เพิ่มอีเมลให้กับคำสั่งซื้อ: POST /api/v2/orders/public/set-email — สำหรับการแจ้งเตือนผู้ใช้
  6. แสดงหน้าจอพร้อมคำแนะนำการชำระเงินไปที่ depositAddress และตัวจับเวลา

ข้อผิดพลาดและความปลอดภัย

  • บล็อกการส่งฟอร์มจนกว่าจะตรวจสอบที่อยู่เรียบร้อย
  • ตรวจสอบ requiresMemo/tag — ขอให้ผู้ใช้กรอก memo/tag หากจำเป็น
  • สำหรับ v2 — เซ็นทุกคำขอและจำกัด IP ผ่าน whitelist

2) การดึงและแสดงอัตราแลกเปลี่ยน

วัตถุประสงค์

แสดงอัตราแลกเปลี่ยนล่าสุดให้กับผู้ใช้สำหรับคู่ที่เลือก

เอนด์พอยต์

  • v1: GET /api/v1/rates/public/one — อัตราแลกเปลี่ยนสาธารณะในรูปแบบ JSON

ขั้นตอนการทำงาน

  1. เมื่อผู้ใช้เลือกคู่สกุลเงิน — เรียกอัตราแลกเปลี่ยนสาธารณะผ่าน rates/public/one
  2. แสดงอัตรา, จำนวนขั้นต่ำ/สูงสุด (ถ้ามี), เวลาที่อัปเดตล่าสุด
  3. (ไม่บังคับ) ใช้ “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 — แนะนำให้ใช้สำหรับการสร้าง)

  1. ตรวจสอบข้อมูลที่ป้อนและที่อยู่ปลายทาง
  2. สร้างคำสั่งซื้อ: v2/orders/public/create → รับ orderId, depositAddress
  3. เสนอ “เพิ่มอีเมล”: v2/orders/public/set-email
  4. แสดงคำแนะนำการฝากเงินให้ผู้ใช้

การติดตามสถานะ (หน้าร้านและบัญชีผู้ใช้)

  • หน้าร้าน “การแลกล่าสุด”: 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

ขั้นตอนการทำงาน

  1. สอบถาม public-info เป็นระยะตาม orderId และ destinationAddress
  2. ในบล็อก deposits[0] วิเคราะห์ isPending, confirmations, txId, depositAddress
  3. เมื่อการฝากได้รับการยืนยัน — แสดงข้อมูลการถอนจากอาร์เรย์ withdrawals (จำนวน, networkFee, txId)
  4. ในกรณีการคืนเงิน — ดึงรายละเอียดผ่าน order-refund-info และแสดงสถานะ “กำลังคืนเงิน/เสร็จสิ้น”

คำแนะนำ

  • ตั้งช่วงการสอบถาม 5–15 วินาที พร้อม backoff หากเจอ 429/5xx
  • แสดงลิงก์ไปยัง blockchain explorer ตาม txId หากมี
  • เพิ่มคำเตือนเชิงภาพสำหรับที่อยู่ที่ต้องการ memo/tag
แชร์บทความนี้: