سناریوهای استفاده

Author profile photo
تیم 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

روند کار

  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ها را از طریق فهرست سفید محدود کنید.

۲) دریافت و نمایش نرخ‌ها

هدف

نمایش نرخ‌های به‌روز برای جفت انتخابی به کاربر.

اندپوینت‌ها

  • v1: GET /api/v1/rates/public/one — نرخ عمومی به صورت JSON.

روند کار

  1. هنگام انتخاب جفت توسط کاربر — نرخ عمومی را از طریق rates/public/one درخواست کنید.
  2. نرخ، مقادیر حداقل/حداکثر (در صورت بازگشت)، و زمان اعتبار را نمایش دهید.
  3. (اختیاری) اعمال «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 — توصیه‌شده برای ایجاد)

  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 را در بک‌اند ذخیره کرده و به جلسه کاربر متصل کنید.
  • برای کاربران تأییدشده از GET /api/v1/orders/public/list (برچسب auth) به‌عنوان داشبورد شخصی سفارش‌ها استفاده کنید.

۴) بررسی وضعیت تراکنش‌ها

هدف

ایجاد شفافیت برای کاربر در مورد پیشرفت واریز و برداشت.

اندپوینت‌ها

  • 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 دریافت کرده و وضعیت «بازپرداخت در حال انجام/تکمیل‌شده» را نمایش دهید.

توصیه‌ها

  • بازه‌های پرس‌وجو ۵–۱۵ ثانیه، با backoff در صورت 429/5xx.
  • پیوندی به کاوشگر بلاکچین بر اساس txId به کاربر نشان دهید، در صورت موجود بودن.
  • برای آدرس‌هایی که memo/tag نیاز دارند، هشدارهای بصری اضافه کنید.
این مقاله را به اشتراک بگذارید: