تیم Quickex
۹ شهریور ۱۴۰۴
~3 دقیقه خوانده شده
سناریوهای استفاده
در زیر سناریوهای عملی برای یکپارچهسازی با Quickex API آورده شده است.
برای یکپارچهسازیهای جدید توصیه میشود از API v2 (امضای درخواستها، فهرست سفید IP) استفاده کنید.
برای دادههای عمومی ویترین و پیگیری سفارشها، روشهای مناسب API v1 در دسترس هستند.
نرخهای بهدستآمده از یک نسخه API را هنگام ایجاد تراکنش در نسخه دیگر مخلوط نکنید.
۱) یکپارچهسازی صرافی در وبسایت
هدف
افزودن فرم تبادل به وبسایت با انتخاب ارزها/شبکهها، اعتبارسنجی آدرس و ایجاد سفارش.
اندپوینتها
- 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ها را از طریق فهرست سفید محدود کنید.
۲) دریافت و نمایش نرخها
هدف
نمایش نرخهای بهروز برای جفت انتخابی به کاربر.
اندپوینتها
- v1:
GET /api/v1/rates/public/one— نرخ عمومی به صورت JSON.
روند کار
- هنگام انتخاب جفت توسط کاربر — نرخ عمومی را از طریق
rates/public/oneدرخواست کنید. - نرخ، مقادیر حداقل/حداکثر (در صورت بازگشت)، و زمان اعتبار را نمایش دهید.
- (اختیاری) اعمال «markup» بصری به نرخ نمایشدادهشده در ویترین (به سناریوی ۴ مراجعه کنید)، اما از نرخ اصلاحشده برای ایجاد واقعی سفارش در نسخه دیگر API استفاده نکنید.
توصیهها
- پاسخها را برای ۱۰–۳۰ ثانیه کش کنید تا بار کاهش یابد.
- زمان آخرین بهروزرسانی و دکمه «بهروزرسانی نرخ» را به کاربر نشان دهید.
۳) ایجاد و پیگیری سفارشها
هدف
ایجاد سفارش و ارائه وضعیت اجرای شفاف به کاربر.
اندپوینتها
- 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را در بکاند ذخیره کرده و به جلسه کاربر متصل کنید.- برای کاربران تأییدشده از
GET /api/v1/orders/public/list(برچسب auth) بهعنوان داشبورد شخصی سفارشها استفاده کنید.
۴) بررسی وضعیت تراکنشها
هدف
ایجاد شفافیت برای کاربر در مورد پیشرفت واریز و برداشت.
اندپوینتها
- 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دریافت کرده و وضعیت «بازپرداخت در حال انجام/تکمیلشده» را نمایش دهید.
توصیهها
- بازههای پرسوجو ۵–۱۵ ثانیه، با backoff در صورت 429/5xx.
- پیوندی به کاوشگر بلاکچین بر اساس
txIdبه کاربر نشان دهید، در صورت موجود بودن. - برای آدرسهایی که memo/tag نیاز دارند، هشدارهای بصری اضافه کنید.