Сценарії використання

Author profile photo
Команда Quickex
31 серпня 2025 р.
~2 хв. читання

Сценарії використання

Нижче наведено практичні сценарії інтеграції з Quickex API.
Для нових інтеграцій рекомендується API v2 (підпис запитів, whitelist 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. (Опціонально) додати email до замовлення: 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. Запропонувати «Додати email»: 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) як особистий кабінет замовлень.

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.
  • Показуйте користувачу посилання на блокчейн-експлорер за txId, якщо доступно.
  • Для адрес із memo/tag додавайте візуальні попередження.
Поділитись статтею: