Informasi Umum API WebSocket

  • Base URL: wss://api-adapter.backend.currency.com/connect
  • Base URL, akun demo: wss://demo-api-adapter.backend.currency.com/connect
  • Semua return endpoint berupa object atau array JSON.
  • Semua bidang yang berkaitan dengan waktu dan timestamp dinyatakan dalam milidetik.
  • Koneksi API Websocket ditutup jika API tidak di-ping dalam interval waktu 30 detik.
  • Semua token aset kecuali token perusahaan, token obligasi, token KARMA.cx, dan token aset dari pasar Hong Kong, tersedia di API versi pertama (v1). Dalam API versi kedua (v2), pasar Hong Kong sudah tersedia.
  • Daftar aset yang tersedia untuk trading leverage dalam API bisa ditemukan di sini.

!Catatan: untuk pembuatan signature yang berhasil, urutkan parameter di payload permintaan menurut abjad.
 
Silakan merujuk pada area API WebSocket di Swagger untuk mendapatkan informasi yang Anda butuhkan. Contoh penggunaan lainnya dapat ditemukan di sini.

Troubleshooting

Metode Subscribe

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

Callback

 
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); });

Correlation ID

ID ini dibutuhkan untuk memetakan respons yang tidak sinkron dengan permintaan

request.correlationId = request.correlationId + 1;

Model Permintaan

 
//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('============================');

Deskripsi Parameter ‘Symbol’

Baik untuk mode trading exchange maupun leverage, parameter 'symbol' dapat dilihat dalam stream exchangeInfo.
Mode trading exchange: gunakan 'symbol' dari stream exchangeInfo;
Mode trading leverage: lihat 'symbol' dari stream exchangeInfo. Apabila nama ‘symbol’ memuat mata uang, gunakan format: ‘BTC%2FUSD_LEVERAGE’. Apabila ‘symbol’ hanya memuat nama aset, gunakan format ini: ‘Oil%20-%20Brent.’

 

Definisi ENUM

Tipe order (orderTypes, type):

  • LIMIT
  • MARKET
  • STOP

Pemasangan order (side):

  • BUY
  • SELL

Waktu order aktif (timeInForce):

  • GTC
  • IOC
  • FOK

Internal grafik Kline/Candlestick: m -> menit; h -> jam; d -> hari; w -> minggu

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

Catatan: jika nilai parameter "intervals" disebutkan ketika menggunakan endpoint wss:OHLCMarketData.subscribe endpoint, maka default nilainya adalah '1m'.