WebSocket

WebSocket

General

Websocket es un nuevo protocolo HTML5. Logra una transmisión de datos full-duplex entre el cliente y el servidor, lo que permite que los datos se transfieran de manera efectiva en ambas direcciones. Con solo un apretón de manos, se establece la conexión entre el cliente y el servidor. Luego, el servidor podrá enviar datos al cliente de acuerdo con las reglas preestablecidas. Sus ventajas incluyen:

  • El encabezado de solicitud de WebSocket para la transmisión de datos entre el cliente y el servidor es de aproximadamente 2 bytes solamente

  • El cliente o el servidor pueden iniciar una transmisión de datos

  • Como no es necesario crear y eliminar la conexión TCP repetidamente, ahorra recursos tanto para el ancho de banda como para el servidor.

Recomendamos encarecidamente a los desarrolladores que utilicen la API de WebSocket para recuperar datos de mercado y profundidad del libro de pedidos.

Ws informacion

  • Los datos devueltos se comprimirán de forma binaria, excepto los datos de latidos (el usuario debe descomprimirlos mediante el algoritmo Gzip)

Formato de comando

event

channel

description

sub

market_$symbol_depth_step0

Subscribe depth

unsub

market_$symbol_depth_step0

Unsubscribe depth

sub

market_$symbol_trade_ticker

Subscribe to real-time trade

unsub

market_$symbol_trade_ticker

Unsubscribe real-time trade

sub

market_$symbol_ticker

Subscribe to 24h market data

unsub

market_$symbol_ticker

Unsubscribe 24h market data

sub

market_$symbol_kline_1min

Subscribe to 1min k-line information

req

market_$symbol_kline_1month

Request 1 month historical bar record

Heartbeat

De vez en cuando, el servidor enviará un mensaje PING. El cliente debe responder al mensaje PONG, de lo contrario, el servidor cerrará la conexión.

  • ping

{
    "ping": 1535975085052
}
  • pong

{
    "pong": 1535975085052
}

Subscription Full Depth

  • Estructura del mensaje de suscripción

{
    "event":"sub",
    "params":{
        "channel":"market_$symbol_depth_step0", // $symbol E.g. btcusdt
        "cb_id":"1" // Business ID is not required
    }
}
  • Payload

{
    "channel":"market_btcusdt_depth_step0",
    "ts":1506584998239,
    "tick":{ //A maximum of 30 orders are returned
        "asks":[ //asks
            [10000.19,0.93],
            [10001.21,0.2],
            [10002.22,0.34]
        ],
        "buys":[ //buy
            [9999.53,0.93],
            [9998.2,0.2],
            [9997.19,0.21]
        ]
    }
}

Suscripción Comercio en tiempo real

  • Estructura del mensaje de suscripción

{
    "event":"sub",
    "params":{
        "channel":"market_$symbol_trade_ticker", // $symbol E.g. btcusdt
        "cb_id":"1" // Business ID is not required
    }
}
  • Payload

{
    "channel":"market_$symbol_trade_ticker",
    "ts":1506584998239,//request time
    "tick":{
        "data":[
            {
                "side":"buy",//buy,sell
                "price":32.233,
                "vol":232,
                "amount":323,
                "ds":'2017-09-10 23:12:21'
            }
        ]
    }
}

Suscripción Mercado Kline

Estructura del mensaje de suscripción

{
    "event":"sub",
    "params":{
        "channel":"market_$symbol_kline_[1min/5min/15min/30min/60min/1day/1week/1month]", // $symbol E.g. btcusdt 
        "cb_id":"1" // Business ID is not required
    }
}
  • Payload

{
    "channel":"market_$symbol_kline_1min", //1min is for 1 minute
    "ts":1506584998239,//request time
    "tick":{
        "id":1506602880,//kline start time
        "vol":1212.12211,
        "open":2233.22,//open price
        "close":1221.11,//close price
        "high":22322.22,//high price
        "low":2321.22//low price
    }
}

Tickers de mercado de suscripción

Estructura del mensaje de suscripción

{
    "event":"sub",
    "params":{
        "channel":"market_$symbol_ticker", // $symbol E.g. btcusdt 
        "cb_id":"1" // Business ID is not required
    }
}
  • Payload

{
    "channel":"market_$symbol_ticker",
    "ts":1506584998239,//request time
    "tick":{
        "amount":123.1221,
        "vol":1212.12211,
        "open":2233.22,//open price
        "close":1221.11,//close price
        "high":22322.22,//high price
        "low":2321.22,//low price
        "rose":-0.2922,//increase
    }
}

Solicitar datos de historial de Kline

Estructura del mensaje de suscripción

{
    "event":"req",
    "params":{
        "channel":"market_$symbol_kline_[1min/5min/15min/30min/60min/1day/1week/1month]",
        "cb_id":"1",
        "endIdx":"1506602880", //Return pageSize data before endIdx Not required
        "pageSize":100 // Not required
    }
}
  • Payload

{
    "event_rep":"rep","channel":"market_$symbol_kline_5min",
    "ts":1506584998239,//request time
    "data":[ //up to 300
        {
            "id":1506602880,//kline start time
            "amount":123.1221,
            "vol":1212.12211,
            "open":2233.22,//open price
            "close":1221.11,//close price
            "high":22322.22,//high price
            "low":2321.22//low price
        },
        {
            "id":1506602880,//kline start time
            "amount":123.1221,
            "vol":1212.12211,
            "open":2233.22,//open price
            "close":1221.11,//close price
            "high":22322.22,//high price
            "low":2321.22//low price
        }
    ]
}

Solicitar Historial Comercio

Estructura del mensaje de suscripción

{
    "event":"req",
    "params":{
        "channel":"market_$symbol_trade_ticker", // $symbol E.g. btcusdt 
        "cb_id":"1" // Business ID is not required
    }
}
  • Payload

{
    "event_rep":"rep","channel":"market_$symbol_trade_ticker",
    "ts":1506584998239,"status":"ok",
    "data":[
        {
            "side":"buy",//buy,sell
            "price":32.233,//trade price
            "vol":232,//trade vol
            "amount":323//trade amount
        },
        {
            "side":"buy",//buy,sell
            "price":32.233,//trade price
            "vol":232,//trade vol
            "amount":323//trade amount
        }
    ]
}

Last updated