Información general de la API de WebSocket

  • La URL base: wss: //api-adapter.backend.currency.com/connect
  • La URL base, cuenta demo: wss: //demo-api-adapter.backend.currency.com/connect
  • Todos los puntos finales devuelven un objeto JSON o una matriz.
  • Todos los campos relacionados con la hora y la marca de tiempo están en milisegundos.
  • La conexión de la API de Websocket se cierra en caso de que no se haga ping a la API durante un intervalo de tiempo de 30 segundos.
  • Todos los activos tokenizados, excepto los tokens de empresas, los bonos tokenizados, los tokens “KARMA.cx” y los activos tokenizados de los mercados de Hong Kong, están disponibles en la primera versión (v1) de nuestra API. En la segunda versión de API (v2), los mercados de Hong Kong también estuvieron disponibles.
  • La lista de activos disponibles para el comercio de apalancamiento dentro de API se puede encontrar aquí.

!Nota. Para una generación exitosa de la firma, ordene los parámetros en la carga útil de la solicitud de acuerdo con el orden alfabético.

Por favor, consulte la parte API de WebSocket dentro de Swagger para obtener la información necesaria. Se pueden encontrar más ejemplos de uso aquí .

Troubleshooting

Método de suscripción

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

Devoluciones de llamada

 
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 de correlación

Este ID es necesario para mapear la respuesta asincrónica con la solicitud.

request.correlationId = request.correlationId + 1;

Modelo de solicitud

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

Descripción del parámetro 'Símbolo'

Tanto para el parámetro 'símbolo' de los modos de negociación de intercambio como de apalancamiento se pueden verificar en el flujo de ExchangeInfo.

Modo de comercio de intercambio: use el símbolo del flujo de información de intercambio;

Modo de negociación de apalancamiento: busque en el 'símbolo' del flujo de información de intercambio. En caso de que el "símbolo" tenga monedas en su nombre, se debe utilizar el siguiente formato:

"BTC% 2FUSD_LEVERAGE". En caso de que 'símbolo' tenga solo un nombre de activo, entonces el siguiente formato es correcto: 'Oil% 20-% 20Brent' ".

Definiciones ENUM

Tipos de orden (orderTypes, type):

  • LÍMITE
  • MERCADO
  • DETENER

Lado del pedido (lateral):

  • COMPRAR
  • VENDER

Tiempo en vigor (timeInForce):

  • GTC
  • COI
  • FOK

Intervalos del gráfico Kline / Candlestick: m -> minutos; h -> horas; d -> días; w -> semanas

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

Tenga en cuenta que en caso de que no se mencione ningún valor para el parámetro "intervalos" al utilizar el punto final wss: OHLCMarketData.subscribe, el valor '1m' se establece de forma predeterminada.