Thông tin chung về WebSocket

  • URL cơ sở: wss://api-adapter.backend.currency.com/connect
  • URL cơ sở, tài khoản demo: wss://demo-api-adapter.backend.currency.com/connect
  • Tất cả các endpoint trả về một đối tượng hoặc mảng JSON.
  • Tất cả các phần liên quan đến thời gian và dấu thời gian đều tính bằng mili giây.
  • Kết nối API Websocket bị đóng trong trường hợp API không có tín hiệu trong khoảng thời gian 30 giây.
  • All the tokenised assets except companies tokens, tokenized bonds, tokens “KARMA.cx” and tokenised assets from Hong Kong markets  are available in the first version (v1) of our API. In the second API version (v2) Hong Kong markets became also available.
  • Bạn có thể tìm thấy danh sách các tài sản có sẵn để giao dịch đòn bẩy trong API tại đây.

!Lưu ý.  Để tạo chữ ký thành công, vui lòng sắp xếp các tham số trong payload yêu cầu theo thứ tự bảng chữ cái.

Vui lòng tham khảo phần API WebSocket trong Swagger để nhận thông tin cần thiết. Các ví dụ cách sử dụng khác có thể được tìm thấy ở đây.

Troubleshooting

Phương pháp đăng ký

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

Hàm 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); });

ID tương quan

ID này là cần thiết để chỉ ra phản hồi không đồng bộ với yêu cầu

request.correlationId = request.correlationId + 1;

Mô hình yêu cầu

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

Mô tả thông số của ‘symbol’

Cả tham số 'symbol' của chế độ giao dịch đòn bẩy và giao dịch trao đổi đều có thể được kiểm tra trong luồng exchangeInfo.
Chế độ giao dịch trao đổi: sử dụng symbol từ luồng exchangeInfo;
Chế độ giao dịch đòn bẩy: kiểm tra 'symbol' từ luồng exchangeInfo. Trong trường hợp ‘symbol’ có các đơn vị tiền tệ trong tên của nó thì định dạng sau nên được sử dụng: ‘BTC%2FUSD_LEVERAGE’. Trong trường hợp ‘symbol’ chỉ có tên tài sản thì định dạng sau là đúng: ‘Oil%20-%20Brent.’

Định nghĩa ENUM

Các loại đơn đặt hàng (orderTypes, type):

  • LIMIT (GIỚI HẠN)
  • MARKET (THỊ TRƯỜNG)
  • STOP (DỪNG)

Bên đặt hàng (side)

  • BUY (MUA)
  • SELL (BÁN)

Thời gian có hiệu lực (timeInForce):

  • GTC
  • IOC
  • FOK

Khoảng thời gian của biểu đồ Kline/Candlestick: p -> phút; h -> giờ; ng -> ngày; t -> tuần

  • 1p
  • 5p
  • 15p
  • 30p
  • 1h
  • 4h
  • 1ng
  • 1t

Xin lưu ý rằng trong trường hợp không có giá trị nào cho thông số "intervals" (khoảng thời gian) được đề cập khi sử dụng endpoint wss:OHLCMarketData.subscribe thì giá trị '1p' được đặt theo mặc định.