Appearance
订单WebSocket服务订阅与返回事件数据说明
连接WebSocket
使用JS连接WebSocket服务如下
js
var host=”ws//127.0.0.1:8080”
var socket=new WebSocket(host);
连接成功响应报文
json
{
"success": true,//连接状态
"type": "connection",//响应类型
"id": "7d0b6ca8-d022-4423-99fd-aa8863c7b577"//连接ID
}
盘口最新价格
请求报文
js
{
"method": "pst_bicitem",//订阅盘口基本信息
"data": "7-3,7-4,10-7,11-7,12-7,9-7,17-9"//要订阅哪些盘口(主币-副币)
}
响应报文
json
{
"type": "event",
"event": "pst_bicitem",
"data": {
//盘口为KEY
"7-3": [
0,//开
0,//高
0,//低
0,//最新
0,//成交量
],
"17-9": [
0,
0,
0,
0,
0
]
}
}
盘口基本信息
请求报文
js
{
"method": "pst_basic",//基本信息事件
"data": "7-4",//订阅那个盘口
"userid": "1"//用户的USERID如果没有登录可以为0
}
响应报文
json
{
"type": "event",
"event": "pst_basic",//响应事件
"data": {
"7-4": [
0.6053,//开盘价
2,//最高价
0.0001,//最低价
0.3932,//最新价
10959.0317//日成交量
]
}
}
盘口档区
请求报文:因为当连接的时候已订阅了盘口(pst_basic事件所有不用再次请求任何报文)
响应报文
json
{
"type": "event",
"event": "pst_queue_s",//档区事件
"data": {
"0": [//0是买的
[
0.1404,//价格
0.4625//数量
],
[
0.3932,
0.5004
]
],
"1": [//1是卖的
[
0.4796,//价格
0.3804//数量
],
[
0.7609,
0.2751
]
]
}
}
实时交易数据(pst_trade_s)
请求报文:因为当连接的时候已订阅了盘口(pst_basic事件所有不用再次请求任何报文)
响应报文:只拿 最近的100条交易数据
json
{
"type": "result",
"event": "pst_trade_s",
"data": [
[
1527154922,//UTC时间
1,//数据类型:1是卖0是买
0.7471,//价格
0.2635//成交数量
],
[
1527154923,
0,
0.5402,
0.0157
],
[
1527154923,
0,
0.7476,
0.0465
]
]
}
用户余额
说明:只有在用户的订单成交的时候如果该用户在线则推送数据
请求报文 因为当连接的时候已订阅了盘口(pst_basic事件所有不用再次请求任何报文)
响应报文
json
{
"type": "event",
"event": "user_pst_wallet",//用户余额事件
"data": {
"4": [//4表示是币种的ID
9644.46289828,//用户的总余额
387.02494842//冻结余额
],
"7": [//7表示币种的ID,因为一个盘口有2个币组成以这数据为列(7-4)盘口
9544.127656,
4074.85083745
]
}
}
用户订单
说明:只有在用户的订单成交的时候如果该用户在线则推送数据
请求报文 因为当连接的时候已订阅了盘口(pst_basic事件所有不用再次请求任何报文)
响应报文
json
{
"type": "event",
"event": "user_pst_entrust_list",//订单成交事件
"data": [
40863,//订单ID
1,//订单型号1卖0买
0.7609,//下单价格
0.8748,//下单数据
0.5997,//成交数据
0,//状态0(未成交/部分成功),1完全成交
1527154911//下单时间UTC
0.2313,//成交总金额--------------------新增
0.1 //如果是买单的话,此值为需要补充的差价。例如,下单加2元,成交价1元,一般会多扣了。
]
}
其它分析说明
编号1:百分比算法=本身数量/取卖的最大的数量*100%
编号2:累计=当位置的数量+下级位置的数量总各 (如:当位置位在3档那么。累计=1+2+3)
增加撤销单事件推送
说明 只有在用户的订单成交的时候如果该用户在线则推送数据
请求报文 因为当连接的时候已订阅了盘口(pst_basic事件所有不用再次请求任何报文)
响应报文
json
{
"type": "event",
"event": "revertorder", //订单成交事件
"id": "1", //订单编号
“success”: true, //撤销成功
“content”: ”执行结果信息”, //撤销成功
}
增加关闭Qrcode事件
下委托单或是撤销委托单成功后,关闭pc端二维码窗体
请求报文
js
{
"sub": "closeqrcode",
"address": "钱包地址"
}
响应报文
json
{
"type": "event",
"event": "close_qrcode_order_interface",
"data": []
}
增加关闭推送最新订单和余额的事件
csharp
/// <summary>
/// 前端未成交数据获取确认事件
/// </summary>
public class LastUnsettleOrderReceiveComfirmRequestInfo
{
/// <summary>
/// 盘口id
/// </summary>
public string HandicapId { get; set; }
/// <summary>
/// 事件类型
/// wallet,order
/// enum ComfirmEventType
/// </summary>
public string EventType { get; set; }
/// <summary>
/// 钱包地址
/// </summary>
public string WalletId { get; set; }
}