# 基本信息

# 介绍

· 您的应用能与服务器建立起长链接,选择订阅的频道与主题,接受服务器推送的最新消息;

# 1. 频道

频道分公有频道与私有频道,每个频道包含不同主题,每个频道的资源、权限也有不同;

· 公有频道(PUBLIC): 通常为公开的数据信息,例如行情、盘口、实时成交等;

· 私有频道(PRIVATE): 通常为用户的私人数据信息,例如资产变更推送,成交消息推送等;会根据APP key 进行资源权限校验;

# 2. 主题

针对业务、模块的不同,Starex Open Websocket 开放了丰富的ws主题 , 以供开发者订阅,并且在持续更新中;

# 3 . 主题参数

每个主题订阅时会有不同的参数,以便开发者进行不同的业务展开;

# 接入指南

# 1 . 握手

​ · baseURL

ws://api.starex.com/ws

​ · 握手过程中,同样需要在请求头中传鉴权参数,包括STAREX-APP-KEY-V1、STAREX-TIMESTAMP、STAREX-SIGNATURE ;

​ · 如果你的应用不支持websocket请求头,也可以在param里面传;

​ · 收到服务器响应(httpStatus:101)后,代表握手成功,服务器会将你的请求升级为ws协议;

​ · 握手成功后,您与Starex Open Websocket服务器已经拥有一个长连接;您可以通过发送message向服务器发送指令;服务器也通过推送message来推送您所订阅的最新消息;

# 2 . 发起链接

向ws服务器发送message

{"method":"CONNECT"}

收到服务器响应

{"e":"CONNECTED"}

代表连接成功;

# 3 . 订阅

您需要订阅指定的频道,服务器才会主动向您推送消息;

# 限制

# 连接限制

每个App Key 最多允许保持5个连接;

# 订阅限制

每个连接最多允许订阅50个主题,请合理分配;

# 保持连接

每隔30分钟,服务器会向客户端发送PING的心跳,期望客户端返回PONG心跳,在10秒钟内未收到响应,则会主动断开链接;

# 消息格式

# 请求消息

参数 类型 是否必填 描述
method MethodTypeEnum 指令类型
subject String 主题,method为订阅(SUBSCRIBE)或取消订阅(UNSUBSCRIBE)时必填

MethodTypeEnum

类型 描述
CONNECT 链接
DISCONNECT 断开连接
SUBSCRIBE 订阅
UNSUBSCRIBE 取消订阅
PONG 心跳,通常为服务器主动向客户端发起PING时,在期望时间内,响应服务器一个PONG,来保持连接存活

示例

//发起连接
{"method":"CONNECT"}
//订阅BTC/USDT现货成交
{"method":"SUBSCRIBE","subject":"PUBLIC@SPOT_TRADE?BTC/USDT"}

# 消息推送

参数 类型 描述
e EventTypeEnum 推送事件类型 (event)
s String 主题 (subject),推送的消息通常都有主题,客户端可以通过该字段用来区分业务
d Object 数据 (data), 根据主题的不同,数据也不同,具体参考主题消息;

EventTypeEnum

类型 描述
PING 心跳,通常为服务器主动向客户端发起
CONNECTED 已连接
ERROR 错误

示例

//发起连接
{"e":"CONNECTED"}
//发起心跳
{"e":"PING"}