Загальна інформація про WebSocket API

  • Основна URL-адреса: wss://api-adapter.backend.currency.com/connect
  • Основна URL-адреса, демо обліковий запис: wss://demo-api-adapter.backend.currency.com/connect
  • Усі кінцеві точки повертають або об’єкт JSON, або масив.
  • Усі поля, пов’язані з часом і міткою часу, подано в мілісекундах.
  • З’єднання Websocket API закривається, якщо API не перевіряється протягом 30 секунд.
  • Усі токенізовані активи, крім токенів компаній, токенізованих облігацій, токенів «KARMA.cx» і токенізованих активів із ринків Гонконгу, доступні в першій версії (v1) нашого API. У другій версії API (v2) також стали доступними ринки Гонконгу.
  • Список активів, доступних для торгівлі кредитним плечем в API, можна знайти тут.
  • Зверніть увагу, що в API WebSocket не передбачено певної частоти оновлень. Частота оновлень залежить від відповідної ринкової пари.

!Примітка. Для успішного створення підпису відсортуйте параметри в корисному навантаженні запиту відповідно до алфавітного порядку.

Зверніться до частини API WebSocket у Swagger, щоб отримати необхідну інформацію. Більше прикладів використання можна знайти тут.

Troubleshooting

Метод підписки

 
const ws = new WebSocket ('wss://api-adapter.backend.currency.com/connect', {perMessageDeflate: true}); let responseList = []; let request, response = Object();

Зворотні виклики

 
await ws.on('open', async function open() { console.log("connected"); }); ws.on('close', async function close() { console.log('disconnected'); }); ws.on('error', async function error(data) { console.log('error'); console.log(data); }); ws.on('message', async function incoming(data) { response = JSON.parse(data); responseList.push(response); });

Ідентифікатор кореляції

Цей ідентифікатор потрібен для відображення асинхронної відповіді із запитом

request.correlationId = request.correlationId + 1;

Модель запиту

 
//Destination request.destination = "/api/v1/leverageSettings"; //Request payload request.payload = {"symbol": ETH/USD, "timestamp": Date.now(), "apiKey": apiKey}; request.payload.signature = getHash(request); function getHash(request) { let payload = ""; Object.keys(request.payload).sort().forEach(function(key) { payload += key + "=" + request.payload[key] + "&"; }); payload = payload.substring(0, payload.length - 1); console.log(payload); let hash = CryptoJS.HmacSHA256(payload, apiSecret).toString(); console.log(hash); return hash; } //Send request message = JSON.stringify(request); ws.send(message); await sleep(5000); index = responseList.findIndex(i => i.correlationId === request.correlationId.toString()); console.log('============================'); console.log('index: ' + index); console.log(responseList[index]); console.log('============================');

Опис параметра 'Symbol'

Як для біржового, так і для кредитного режимів торгівлі параметр 'symbol' може бути перевірений у потоці exchangeInfo.
Режим біржової торгівлі: використовувати символ потоку exchangeInfo;
Режим торгівлі з кредитним плечем: подивіться на 'symbol' із потоку exchangeInfo. Якщо в назві 'symbol' є валюти, слід використовувати такий формат: «BTC%2FUSD_LEVERAGE». Якщо 'symbol' має лише назву активу, правильний такий формат: «Oil%20-%20Brent».

ENUM визначення

Типи ордерів (orderTypes, тип):

  • LIMIT
  • MARKET
  • STOP

Напрям ордера (сторона):

  • BUY
  • SELL

Час чинності (timeInForce):

  • GTC
  • IOC
  • FOK

Інтервали графіка Kline/Candlestick:
m -> хвилини; h -> години; d -> дні; w -> тижні

  • 1m
  • 5m
  • 15m
  • 30m
  • 1h
  • 4h
  • 1d
  • 1w

Зверніть увагу, що якщо при використанні кінцевої точки wss:OHLCMarketData.subscribe не вказано значення "intervals", то за замовчуванням встановлюється значення '1хв'.