Сценарии использования
Ниже приведены практические сценарии интеграции с Quickex API.
Для новых интеграций рекомендуется API v2 (подпись запросов, IP whitelist).
Для публичных витринных данных и отслеживания заказов доступны удобные методы 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пользователю. - (Опционально) добавить email к заказу:
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. - Предложить «Добавить email»:
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) как личный кабинет заказов.
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 секунд, с бэкоффом при 429/5xx.
- Показывайте пользователю ссылку на обозреватель блокчейна по
txId, если доступно. - Для адресов с memo/tag добавляйте визуальные предупреждения.