接入说明

WEBSOCKET API

wss://ws.xt.com/websocket

数据压缩

WebSocket API 的所有数据都 GZIP 压缩之后再进行 Base64.encode() 编码并使用二进制方式返回,需要 client 在收到二进制数据之后进行解码解压。

心跳消息

当用户的Websocket客户端连接到Ubiex Websocket服务器后,服务器会定期(当前设为5秒)向其发送ping消息并包含一个时间戳,

当用户接收到此心跳消息后,应及时返回pong消息并包含同一时间戳,格式如:

{"ping": 1562979600}{"pong": 1562979600}

当Websocket服务器连续三次发送了ping消息却没有收到任何一次pong消息返回后,服务器将主动断开与此客户端的连接。

当然,用户连接到服务器后,也可以主动向服务器发送消息ping,当服务器接到信息为ping字符串后主动返回一个pong的字符串。

断开连接

用户主动断开或者主动向Ubiex Websocket服务器发送消息close

订阅主题

成功建立与Websocket服务器的连接后,Websocket客户端应发送如下请求以订阅特定主题:


{"channel":"ex_single_market","market":{Market},"event":"addChannel"}{"channel":"ex_group_market","group":{Group},"event":"addChannel"}{"channel":"ex_last_trade","market":{Market},"since":{Since},"event":"addChannel"}{"channel":"ex_depth_data","market":{Market},"event":"addChannel"}{"channel":"ex_chart_update","market":{Market},"since":{Since},"interval":{Interval},"event":"addChannel"}

成功订阅后,Websocket客户端将收到对应主题返回的全量数据,

之后, 一旦所订阅的主题有更新,Websocket客户端将收到服务器推送的更新消息(push):

取消订阅

取消订阅的格式如下:

{"channel":"ex_single_market","market":{Market},"event":"removeChannel"}{"channel":"ex_group_market","group":{Group},"event":"removeChannel"}{"channel":"ex_depth_data","market":{Market},"event":"removeChannel"}{"channel":"ex_last_trade","market":{Market},"event":"removeChannel"}{"channel":"ex_chart_update","market":{Market},"interval":{Interval},"event":"removeChannel"}

K线数据

订阅

{"channel":"ex_chart_update","market":{Market},"since":{Since},"interval":{Interval},"event":"addChannel"}

退订

{"channel":"ex_chart_update","market":{Market},"interval":{Interval},"event":"removeChannel"}

请求参数

参数 数据类型 是否必须 默认值 描述 取值范围
market string true N/A 交易市场 btc_usdt, eth_usdt…
interval string true N/A K线类型 1min,5min,15min,30min,1hour,6hour,1day,7day,30day
since integer true 0 时间条件 0或需要的时间节点的时间戳,10位秒级

响应数据

//[时间戳,开盘价,最高价,最低价,收盘价,成交量,成交额]
{"code":200,"data":{"market":"eth_usdt","records":[[1562987700,101.0,101.0,101.0,101.0,4.0,404.0]], "channel":"ex_chart_update","interval":"15min","isFull":true,"since":1562987700},"info":"success"
}

说明:用户订阅成功之后,会返回一次根据since过滤的全量数据,并且在data里有一个isFull为true的字段做为标识,之后, 一旦有更新,Websocket客户端将收到服务器推送的增量消息。

聚合行情(Ticker)

订阅

{"channel":"ex_single_market","market":{Market},"event":"addChannel"}

退订

{"channel":"ex_single_market","market":{Market},"event":"removeChannel"}

请求参数

参数 数据类型 是否必须 默认值 描述 取值范围
market string true N/A 交易市场 btc_usdt, eth_usdt…

响应数据

// [市场名称,市场分组,当前价格,涨跌幅,最高价,最低价,成交量,成交额]
{"code":200,"data":{"market":"eth_usdt","records":[["eth_usdt",1,101.00,1.98,101.00,101.00,4.0000,404.000000]],"channel":"ex_single_market"},"info":"success"
}

分组聚合行情(Tickers)

订阅

{"channel":"ex_group_market","group":{Group},"event":"addChannel"}

退订

{"channel":"ex_group_market","group":{Group},"event":"removeChannel"}

请求参数

参数 数据类型 是否必须 默认值 描述 取值范围
group string false all 分组类型 all或交易区(如:usdt)或交易对(如:btc_usdt)

响应数据

// [市场名称,市场分组,当前价格,涨跌幅,最高价,最低价,成交量,成交额]
{"code":200,"data":{"records":[["eth_usdt",1,103.00,1.9800,103.00,101.00,7.0000,711.000000]],"channel":"ex_group_market","group":"usdt"},"info":"success"
}

市场深度

订阅

{"channel":"ex_depth_data","market":{Market},"event":"addChannel"}

退订

{"channel":"ex_depth_data","market":{Market},"event":"removeChannel"}

请求参数

参数 数据类型 是否必须 默认值 描述 取值范围
market string true N/A 交易市场 btc_usdt, eth_usdt…

响应数据

{"code":200,"data":{"market":"eth_usdt","depth":"0","last":301.22,"asks":[[101.00,2.0000],[102.00,1.0000],[103.00,1.0000]],"bids":[[100.00,1.0000],[99.00,1.0000],[98.00,1.0000]],"channel":"ex_depth_data","isFull":true},"info":"success"
}

说明:用户订阅成功之后,会返回一次全量数据,并且在data里会有一个isFull为true的字段做为标识,之后, 一旦有更新将以增量方式返回。增量数据每个价格档位都是最新的数据,如果数量为0表示这个价格档位已经被成交或取消。

市场最新成交

订阅

{"channel":"ex_last_trade","market":{Market},"since":0,"event":"addChannel"}

退订

{"channel":"ex_last_trade","market":{Market},"event":"removeChannel"}

请求参数

参数 数据类型 是否必须 默认值 描述 取值范围
market string true N/A 交易市场 btc_usdt, eth_usdt…
since integer true 0 时间条件 0或需要的时间节点的时间戳,13位毫秒级

响应数据

// [时间戳,成交价,成交数量,交易类型,记录ID]
{"code":200,"data":{"market":"eth_usdt","records":[[1561697199380,301.22,0.1407,"bid",156169718700197],[1561697198572,301.18,4.0000,"bid",156169718600146],[1561697198302,301.18,0.9883,"ask",156169718400145]],"channel":"ex_last_trade","isFull":true},"info":"success"
}

说明:用户订阅成功之后,会返回一次根据since过滤的全量数据,并且在data里有一个isFull为true的字段做为标识,之后, 一旦有更新,Websocket客户端将收到服务器推送的增量消息。

XT交易所Websocket API相关推荐

  1. XT交易所API接口文档

    XT API接入说明 REST API https://api.xt.com 鉴于延迟高和稳定性差等原因,不建议通过代理的方式访问API. 请求头信息请设置为:Content-Type=applica ...

  2. WebSocket API简介

    WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chr ...

  3. okcoinapi开发代码_比特币程序化交易入门(5):WebSocket API

    与REST API最大的不同是,websocket API可以实现订阅消息,以账户信息为例,REST请求一次,获得一次账户信息,而websocket订阅以后,每当账户信息有变动,就会推送消息,无变化是 ...

  4. WildFly上具有AngularJS的Java EE 7和Java WebSocket API(JSR 356)

    这篇博客文章描述了用于WebSocket协议的Java API(JSR 356) (这是Java EE 7平台的四个最新JSR之一),并提供了部署在WildFly 8上并可以在OpenShift上在线 ...

  5. 【转】WebSocket API总结

    NCU.卓越141.chenyuchao 一.检查 WebSocket 支持 var host = "ws://localhost:8080/mychat"; var ws; if ...

  6. WebSocket API使用篇检测浏览器是否支持WebSocket(4)

    WebSocket API是下一代客户端-服务器的异步通信方法.前面有三篇文章已经对WebSocket有了一些介绍,这里我总结了一下.我在使用WebSockets API过程中遇到的问题. 1.检测浏 ...

  7. apache 配置 wss websocket打开握手超时_「Web应用架构」WebSocket介绍和WebSocket API

    WebSocket支持在客户端和服务器之间双向的.面向消息的文本和二进制数据流.它是浏览器中最接近原始网络套接字的API.除了WebSocket连接也不仅仅是一个网络套接字,因为浏览器在一个简单的AP ...

  8. WebSocket API 学习笔记

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...

  9. Java 编程问题:十三、HTTP 客户端和 WebSocket API

    原文:Java Coding Problems 协议:CC BY-NC-SA 4.0 贡献者:飞龙 本文来自[ApacheCN Java 译文集],自豪地采用谷歌翻译. 本章包括 20 个问题,旨在介 ...

最新文章

  1. mysql和oracle执行计划_mysql explain执行计划详解
  2. arcgis9.2系列下载
  3. AppCompat DayNight theme
  4. 一二三系列之状压DP——Max Correct Set(一)Neko Rules the Catniverse (Large Version)(二)Make It Ascending(三)
  5. python如何读二进制文件_python怎么读二进制文件
  6. html移除click事件绑定,带你了解JQuery中绑定事件(bind())和移除事件(unbind())...
  7. CentOS中VMware tools的安装以及安装失败的解决办法,java架构师视频课程
  8. android 微信支付过程,android 微信 支付 接入流程总结
  9. Docker系列教程06-实战:修改Nginx首页
  10. MyBatis 拦截器 (实现分页功能)
  11. 博文视点架构师成长书单,5本书助你少走弯路
  12. Java 经纬度转UTM投影
  13. 模拟电子_热敏电阻PTC和NTC的区别与作用
  14. 指令引用的内存不能为written怎么解决
  15. 半圆形进度条(小程序)
  16. 科大讯飞,百度,思必驰,云知声四款识别引擎降噪算法性能对比
  17. 好有成就感。。。又编了一个扫雷
  18. 手把手教你编写网页图形验证码识别工具
  19. 小小突击队服务器维护多久,《小小突击队》08月06日更新公告
  20. 北京信息科技大学计算机学院研究生怎么样,北京信息科技大学考研难吗?一般要什么水平才可以进入?...

热门文章

  1. 网络安全基础第五版pdf下载_关于征集网络安全在线培训课件的通知
  2. vue做混合式app_Vue Cordova教程-Vue+Cordova打造跨平台可安装的混合APP视频教程(大地)...
  3. 计算机二级答题题库云计算,2018年计算机二级考试MSOffice试题及答案三
  4. 魔术表演的核心秘密(五)——障眼法视角下的魔术核心秘密
  5. linux下的dns代理
  6. 星起航:抖音小店dsr评分有哪些考核维度?
  7. ubuntu下 vi编辑器使用手册
  8. keepass安卓版哪一款好_公认五大最好用的安卓手机系统,你用过哪些,哪个才最好用呢?...
  9. C++课程设计之我的小游戏欢乐小鱼
  10. 16进制颜色透明度计算方法