WebSocket订单及资产

接入说明

WebSocket域名

wss://wss.hotcoinfin.com/trade/multiple

数据压缩

WebSocket行情接口返回的所有数据进行了GZIP压缩,客户端在收到数据之后需要解压。

心跳消息

当用户的Websocket客户端连接到Hotcoin服务器后,Hotcoin服务器会定期(当前设为5秒)向其发送ping消息,如下: {"ping": "ping"}

当用户的Websocket客户端接收到此心跳消息后,应返回pong消息,如下: {"pong": "pong"}

Websocket登录

请求参数

参数 数据类型 是否必须 描述
accessKey String 访问key
timestamp String 时间戳
signature String 签名

订单和资产WebSocket签名与Rest接口签名步骤相似。

签名前最后生成的字符串如下:

POST
wss.hotcoinfin.com
signin
accessKey=75a14b37736c4da4a33e4d37694ef389&timestamp=1720935778689

Request

    {
      "signin": 
        {
          "accessKey": "75a14b37736c4da4a33e4d37694ef389",
          "timestamp": "1720935275818"
          "signature": "CMkZzGwxdougZrTcPzk4k9I8moj257IteNTdYWQOwU="
	    }
    }

Response

    {
      "status": "ok",
      "ts": 1632878832006
    }

订阅主题

成功建立与Websocket服务器的连接后,Websocket客户端发送请求以订阅特定主题: {"sub": "topic to subscribe"}

比如:{"sub": "market.btc_usdt.trade.depth"}

成功订阅后,Websocket客户端将收到确认消息:

Response

    {
      "ch": "market.trade.entrust.change",
      "code": 200,
      "msg": "SUCCESS",
      "status": "ok",
      "ts": 1632878832006
    }

之后, 一旦所订阅的主题有数据更新,热币服务器将向Websocket客户端推送更新消息。

取消订阅

取消订阅的格式如下:{"unsub": "topic to unsubscribe"}

取消订阅成功确认。

订阅订单更新

订单的更新推送由任一以下事件触发: - 订单创建(eventType=created) - 订单成交(eventType=trade) - 订单撤销(eventType=canceled)

请求数据:{"sub":"market.trade.entrust.change"}

取消订阅:{"unsub":"market.trade.entrust.change"}

  • 订阅成功或者取消订阅后,服务器返回数据:

订阅成功Response

    {
        "ch": "market.trade.entrust.change",
        "code": 200,
        "code": 200,
        "msg": "SUCCESS",
        "status": "ok",
        "ts": 1720990327128
    }

当订单创建/成交/撤销时:

订单变更Response

{
	"msg": "SUCCESS",
	"code": 200,
	"data": {
		"types": "Bid",
		"fees": "0.0001221",
		"count": "1",
		"tradecount": 0.08140000000000000000,
		"successamount": "4900.226276",
		"eventType": "trade",
		"source": "WEB",
		"type": 0,
		"tradeamount": 4900.22627600000000000000,
		"successcount": "0.0814",
		"price": "60200",
		"eventTime": 1720991326416,
		"buysymbol": "USDT",
		"id": "2407101552042660247",
		"time": 1720991326286,
		"sellsymbol": "BTC",
		"tradeprice": 60199.34000000000000000000,
		"tradetime": 1720991326325,
		"statusCode": 2,
		"status": "Partial fill"
	},
	"ch": "market.trade.entrust.change",
	"status": "ok",
	"ts": 1720991326416
}
参数 数据类型 描述 备注
eventType String 事件类型 有效值:created / trade / canceled
eventTime Long 事件时间戳  
tradeprice Number 成交价格 当eventType为trade时有效
tradecount Number 成交数量 当eventType为trade时有效
tradeamount Number 成交金额 当eventType为trade时有效
tradetime Long 成交时间 当eventType为trade时有效
id Bigint 委单id  
time String 下单时间戳  
types String 委单类型 买单、卖单
source String 订单来源 WEB/ANDROID/API/H5/IOS/SYSTEM
price String 下单价格  
count String 下单数量  
successcount String 成交数量  
successamount String 成交金额  
fees String 手续费  
statusCode Integer 委单状态 未成交、部分成交、完全成交、撤单处理中、已撤销、部分成交已撤销
status String 委单状态 1-未成交、2-部分成交、3-完全成交、4-撤单处理中、5-已撤销、8-部分成交已撤销
type Integer 委单类型 0( "买单"), 1( "卖单")
buysymbol String 计价币 如:USDT
sellsymbol String 标的币 如:BTC
clientOrderId String 自定义订单ID 如有

订阅资产更新

请求数据:{"sub":"market.trade.asset.balance"}

取消订阅:{"unsub":"market.trade.asset.balance"}

  • 订阅成功或者取消订阅后,服务器返回数据:

订阅成功Response

    {
        "ch": "market.trade.asset.balance",
        "code": 200,
        "code": 200,
        "msg": "SUCCESS",
        "status": "ok",
        "ts": 1720990327128
    }

当资产余额变更时:

资产变更Response

{
	"msg": "SUCCESS",
	"code": 200,
	"data": {
		"assets": [{
			"total": "88888889177.244123",
			"price": "3245.98000000000000000000",
			"fullName": "以太坊",
			"frozen": "3.547458",
			"currency": "ETH",
			"free": "88888889173.696665"
		}],
		"estBtc": "5758127912.12792281",
		"estUsdt": "350382083452984.102991"
	},
	"ch": "market.trade.asset.balance",
	"status": "ok",
	"ts": 1721001849882
}
参数 数据类型 描述 备注
estUsdt String 总资产折合USDT  
estBtc String 总资产折合BTC  
assets[n].currency String 资产简称 比如:BTC
assets[n].fullName String 资产全称 比如:Bitcoin
assets[n].free String 可用数量  
assets[n].frozen String 冻结数量  
assets[n].total String 资产总量  
assets[n].price String 资产价格折合USDT