Impormasyon ng Pangkalahatang WebSocket API
- Ang batayang URL: wss://api-adapter.backend.currency.com/connect
- Ang batayang URL, demo account: wss://demo-api-adapter.backend.currency.com/connect
- Ang lahat ng mga endpoint ay nagbabalik ng JSON object o array.
- Ang lahat ng mga patlang na nauugnay sa oras at timestamp ay nasa milisegundo.
- Ang koneksyon sa Websocket API ay isasara kung sakaling hindi ma-ping ang API sa loob ng 30 segundong agwat ng oras.
- Lahat ng tokenized asset maliban sa mga token ng kumpanya, tokenised bond, token na "KARMA.cx" at tokenised asset mula sa mga merkado ng Hong Kong ay magagamit sa unang bersyon (v1) ng aming API. Sa pangalawang bersyon ng API (v2) magagamit din ang mga merkado ng Hong Kong.
- Matatagpuan ang listahan ng mga magagamit na asset para sa leverage trading sa loob ng API dito.
!Tandaan. Para sa matagumpay na pagbuo ng lagda, paki-uri ang mga parametro sa payload ng kahilingan ayon sa pagkakasunod-sunod ng alpabeto.
Mangyaring, sumangguni sa bahagi ng WebSocket API sa loob ng Swagger para makuha ang kinakailangang impormasyon. Higit pang mga halimbawa ng paggamit ang makikita dito.
Troubleshooting
Paraan ng pag-subscribe
const ws = new WebSocket
('wss://api-adapter.backend.currency.com/connect',
{perMessageDeflate: true});
let responseList = [];
let request, response = Object();
Mga 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
Ang ID na ito ay kailangan para sa pagmamapa ng asynchronous na tugon na may kahilingan
request.correlationId = request.correlationId + 1;
Modelo ng hiling
//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('============================');
Paglalarawan ng parametrong ‘Symbol’
Para sa palitan at mga mode ng trading ng leverage, ang 'simbolo' ay maaaring suriin sa loob ng exchangeInfo stream.
Trading mode ng palitan: gamitin ang simbolo mula sa exchangeInfo stream;
Trading mode ng leverage: tingnan ang 'simbolo' mula sa exchangeInfo stream. Kung sakaling ang 'simbolo' ay may pera sa pangalan nito, ang sumusunod na format ay dapat gamitin: 'BTC%2FUSD_LEVERAGE'. Kung sakaling ang 'simbolo' ay may pangalan lamang ng asset, tama ang sumusunod na format: 'Oil%20-%20Brent.'
Mga paglalarawan ng ENUM
Mga uri ng order (orderTypes, type):
- LIMITAHAN
- MERKADO
- ITIGIL
Panig ng order (side):
- BUMILI
- MAGBENTA
Ipinatutupad na oras (timeInForce):
- GTC
- IOC
- FOK
Kline/Mga pagitan ng candlestick na tsart:
m -> minutes; h -> hours; d -> days; w -> weeks
- 1m
- 5m
- 15m
- 30m
- 1o
- 4o
- 1a
- 1l
Pakitandaan na kung sakaling walang nabanggit na halaga para sa parametro na "intervals" kapag ginagamit ang wss:OHLCMarketData.subscribe endpoint, samakatuwid ang '1m' na value ay itatakda bilang default.