会话管理 API

获取OKCoin会话管理 API数据
接口 描述
LOGON(A) 登入

接口描述

LOGON(A)是用户发送至交易所的第一条消息,用于发起会话。如果认证成功,交易所返回消息给用户。如果认证失败,则交易所返回一条附加可能原因的LOGOUT(5)消息。

请求参数

标记 名称 必填 说明

108  

HeartBtInt

  是  

用于声明产生心跳的超时间隔秒数(双方使用同一数值)。这个数值需要被双方取得一致意见,并被会话发起者声明,并被会话接受者答应返回。默认30

141

ResetSeqNumFlag

声明双方是否需要重置顺序值

553

Username

从OKCoin申请的apiKey

554

Password

从OKCoin申请的secretKey

LOGOUT(5) 退出

接口描述

LOGOUT(5)可能来自于任何一方,别用来终结一次会话。这个发送方需要在关闭socket之前等待注销请求的返回应答。任何以其它方式关闭连接均被认为是非法操作。

请求参数

标记 名称 必填 说明

58

Text

自由文本字符串用于声明注销原因

8500

LogoutReason

注明注销原因。这个字段非必要,建议在发送注销原因给客户端时注明注销原因。
0 -- 用户发起注销
1 -- 无效凭证
2 -- 超时
3 -- 服务器错误

HEARTBEAT(0) 心跳

接口解释

当一个FIX连接两端中的一个在[HeartBtInt]秒(在LOGON(A)消息中的指定的)内没有发送或接收任何,它将发送一个HEARTBEAT(0)数据。当一个FIX连接两端中的一个在[HeartBtInt]秒内没有接收任何数据,它将发送一个测试请求消息(1)。如果仍然没有回应,这个会话将被视为丢失,并启动相应的操作。

请求参数

标记 名称 必填 说明

112

TextReqID

当心跳是测试请求(1)消息结果时请求

553

Username

当心跳请求时必须带上此Tag,内容为apiKey

554

Password

当心跳请求时必须带上此Tag,内容为secretKey

TEST REQUEST(1) 测试请求

接口描述

TEST REQUEST(1)消息强制对方程序发送一个心跳。对方程序通过一个HEARTBEAT(0)回应,并包含原始的TestReqID。

请求参数

标记 名称 必填 说明

112

TextReqID

监视原始的请求ID

RESEND REQUEST(2) 重发请求

接口描述

连接双方的任何一方需要启动消息重传时需要发送RESEND REQUEST(2)消息。如果检测到一个序列号的差值,或如果接收程序丢失一条消息,就会调用这个函数。

请求参数

标记 名称 必填 说明

7

BeginSeqNo

16

EndSeqNo

REJECT(3) 拒绝

接口描述

当一个消息被接收但违反了会话级别或数据结构规则而不能妥善处理时,REJECT(3)消息就会被发送。一个合适的拒绝例子是:消息成功通过了加密检查,CheckSum<10>和BodyLength<9>,但基本数据的格式不对(例如:丢失了标记)。通常,消息应该推送至交易平台从而获得商业级别的拒绝。

请求参数

标记 名称 必填 说明

45

RefSeqNum

拒绝消息的MsgSeqNum

371

RefTagID

FIX文件被引用的标记值

372

RefMsgType

FIX消息被引用的MsgType<35>

373

SessionRejectReason

查询拒绝原因代码:
0 = 无效标记值
1 = 要求的标记丢失
2 = 该标记没有在该消息类型下定义
3 = 未定义的标记
4 = 标记未声明值
5 = 标记值错误
6 = 错误数据格式
7 = 加密问题
8 = 签名<89>问题
9 = CompID问题
10 = 发送时间<52>准确性问题
11 = 无效 MsgType<35>
12 = XML赋值错误
13 = 标记出现超过一次
14 = 指定标记顺序错误
15 = 重复组字段顺序错误哦
16 = 重复组的错误 NumInGroup 计数
17 = 无数据包含定义字段(SOH字符)
99 = 其它

58

Text

用文字解释拒绝的原因。

行情 API

获取OKCoin最新行情数据
接口 描述
MARKET DATA REQUEST(V) 市场数据请求

接口描述

交易平台可以使用市场数据请求MARKET DATA REQUEST (V)来请求快照或增量形式的市场数据。
OKCoin一般使用三种配置来发送消息:
      1.订单更新请求(深度)(NoMDEntryTypes<267> = 2, MDEntryType<269>是0和1)
      2.活动交易流请求(订单记录)(NoMDEntryTypes<267>=1, MDEntryType<269>是2)
      3.二十四小时行情更新请求(NoMDEntryTypes<267> =6, MDEntryType<269>是 4,5,7,8,9,B)

请求示例

如果要请求一个订单买卖双方的快照,后面接一个BTC/USD对的订单,OKCoin会发送如下消息:
8=FIX.4.4|9=144|35=V|34=2|49=234abcxyzc|52=20140411-13:49:41.295|56=EXCHANGE|262=md1397224181279|263=1|264=100|146=1 |55=BTC/CNY|267=2|269=0|269=1|10=249| 

请求参数

标记 名称 必填 说明

146

< NoRelatedSym >

重复组 NoRelatedSym,一直为1。

=>55

Symbol

请求的货币符号信息,BTC/CNY或LTC/CNY

262

MDReqID

指配给该请求的唯一ID。

263

SubscriptionRequestType

0 = 快照模式
1 = 快照+订阅
2 取消订阅

264

MarketDepth

只在订单更新请求时有用,其他情况忽略。0 = 全部订单

265

MDUpdateType

订阅类型
0 全部刷新
1 增量刷新
备注:
订单更新请求(MDUpdateType<265>是0或1)
活动交易流请求(MDUpdateType<265>是1)
二十四小时行情更新请求(MDUpdateType<265>是0)

267

< NoMDEntryTypes >

重复组NoMDEntryTypes。请求中实体类别的数量。

=>269

MDEntryType

OKCoin会依据下列不同组合条件判断请求消息类型:
0 = 出价(订单的出价方);
1 = 要价(订单的要价方);
2 = 交易(实时交易);
4 = 开盘价<44>;
5 = 收盘价<44>;
7 = 交易日高价<44>;
8 = 交易日低价<44>;
9 = 交易日最高最低平均价<44>;
B = 交易额

MARKET DATA REQUEST REJECT(Y) 市场数据请求拒绝

接口描述

如果市场数据请求MARKET DATA REQUES(V)没有被接受,交易所应该返回一个市场数据请求拒绝消息 MARKET DATA REQUEST REJECT (Y)。

请求参数

标记 名称 必填 说明

58

Text

一般返回错误提示信息

262

MDReqID

原始请求的ID。

281

MDReqRejReason

被拒绝的原因:
0 = 未知的符号
1 = 重复的MDReqID <262>
2 = 带宽不足
3 = 权限不够
4 = 不支持的SubscriptionRequestType <263>
5 = 不支持的MarketDepth <264>
6 = 不支持的MDUpdateType <265>
7 = 不支持的AggregatedBook <266>
8 = 不支持的 MDEntryType <269>

MARKET DATA SNAPSHOT/FULL REFRESH (W) 市场行情数据刷新

接口描述

根据请求数据刷新市场行情数据,可用来交换成交订单信息,交易应该被划分成三部分,与请求消息结构类似

请求参数

标记 名称 必填 说明

42

OrigTime

返回数据时服务器时间

55

Symbol

请求的货币符号信息

262

MDReqID

重复组< NoMDEntries >。指定组中实体的个数。

268

< NoMDEntries >

指定成组的标签属性数量

=>269

MDEntryType

OKCoin会依据下列不同组合条件判断请求消息类型:
0 = 出价(订单的出价方);
1 = 要价(订单的要价方);
2 = 交易(实时交易);
4 = 开盘价<44>;
5 = 收盘价<44>;
7 = 交易日高价<44>;
8 = 交易日低价<44>;
9 = 交易日最高最低平均价<44>;
B = 交易额

=>270

MDEntryPx

所有交易价格数据

=>271

MDEntrySize

所相应价格下的数量

=>54

Side

交易方向(1买/2卖)

交易 API

用OKCoin进行交易
接口 描述
NEW ORDER SINGLE(D) 下单交易

接口描述

NEW ORDER SINGLE(D)用于用户端向交易所提交新订单。

请求参数

标记 名称 必填 说明

1

Account

账户编号。为了区别用户内部账户而要求(例如,apiKey,secretKey)。

11

ClOrdID

用户分配的每个订单唯一编号。

38

OrderQty

订单数量

40

OrdType

OKCoin支持的订单类型: 1 = 市价单 2 = 限价单

44

Price

价格,如果OrdType<40> = 2(限价)代表操作单价。 如果OrdType<40> = 1并且Side<54> = 1 时代表购入多少钱的币如果OrdType<40> = 1并且Side<54> = 2 时代表卖出多少钱的币

54

Side

OKCoin支持的操作: 1 = 买2 = 卖

55

Symbol

本地/交易所标签。BTC/CNY 或 LTC/CNY

59

TimeInForce

60

TransactTime

这个订单由客户端发起请求的时间

99

StopPx

126

ExpireTime

EXECUTION REPORT(8) 新订单请求/拒绝

接口描述

在接到新订单后,交易所应该返回EXECUTION REPORT(8)消息通知订单是否接收或拒绝。根据FIX协议工作形式,这个消息里有许多监控原始订单的有价值信息。

请求参数

标记 名称 必填 说明

6

AvgPx

平均执行价格。不管ExecType<150> = 0 或 8,总是返回0

11

ClOrdID

交易所应该根据用户在新单委托信息(D)里的原始值填充该字段。FIX并不必须要求,但是在OKCoin是。

14

CumQty

总计执行数量。不管ExecType<150> = 0 或 8,总是返回0

17

ExecID

由交易所分配的执行消息的唯一编码。

37

OrderID

交易所分配的订单号

38

OrderQty

委托数量

39

OrdStatus

0 = 新 8 = 拒绝

54

Side

1 = 买 2 = 卖

55

Symbol

本地/交易所标识。BTC/CNY 或 LTC/CNY

58

Text

自由格式文本字符串,一般返回错误信息

60

TransactTime

成交返回消息发送的时间

103

OrdRejReason

150

ExecType

描述这个消息 0 = 新 8 = 拒绝

 151

LeavesQty

  否  

可用数量。如果 OrdStatus<39> = 8(拒绝)则为 0

ORDER CANCEL REQUEST(F) 取消订单

接口描述

ORDER CANCEL REQUEST(F)消息请求对特定的订单执行取消。如果一个订单已经被部分成交,则只有剩余的数量可以被取消。这个请求只有在一个订单能成功被取消并不再会被执行后才能被接受。

请求参数

标记 名称 必填 说明

11

ClOrdID

这个请求的唯一编码

41

OrigClOrdID

被取消订单的原始编码

54

Side

原始订单的方向

55

Symbol

原始订单的标识。BTC/CNY 或 LTC/CNY

60

TransactTime

用户提交这个请求的时间

ORDER CANCEL REJECT(9) 拒绝取消

接口描述

ORDER CANCEL REJECT(9)是由交易所接收到ORDER CANCEL REQUEST(F)消息后发出。

请求参数

标记 名称 必填 说明

11

ClOrdID

撤销请求的ID

37

OrderID

不能撤销订单的原始交易所分配的ID

39

OrdStatus

撤销拒绝应用后OrdStatus<39>值

41

OrigClOrdID

不能被撤销订单的原始客户编号

54

Side

原始订单方向

58

Text

自由格式文本字符串,通常返回错误提示信息

60

TransactTime

拒绝发送的时间

434

CxlRejResponseTo

判别回复请求消息的类型。1 = 订单撤销请求

EXECUTION REPORT(8) 订单取消确认

接口描述

EXECUTION REPORT(8)是在交易所成功执行撤销操作后发送。

请求参数

标记 名称 必填 说明

6

AvgPx

到订单取消时平均执行价格

11

ClOrdID

交易所按用户在新单委托消息里的原始值填充

14

CumQty

到订单取消时总计执行数量

17

ExecID

交易所分配的执行消息唯一编码

37

OrderID

交易所分配的订单号

38

OrderQty

原始订单数量

39

OrdStatus

当前订单状态 4 = 撤销

54

Side

1 = 买2 = 卖

55

Symbol

本地/交易所 标识

58

Text

自由格式文本字符串

60

TransactTime

执行报告产生的时间

150

ExccType

形容这份报告 4 = 取消

151

LeavesQty

将来执行的数量。在这个用例中应该为0。

EXECUTION REPORT(8) 交易报告

接口描述

交易报告是EXECUTION REPORT(8)消息发送的。交易报告提供订单交易的所有信息,包括:平均价格,总交易数量,订单数量,交易时间,交易日期等。

请求参数

标记 名称 必填 说明

6

AvgPx

平均执行价格

11

ClOrdID

交易所按用户在新单委托消息里的原始值填充

14

CumQty

总计执行数量

17

ExecID

交易所分配的执行消息唯一编码

31

LastPx

最近成交金额

32

LastQty

最近成交数量

37

OrderID

交易所分配的订单号

38

OrderQty

原始订单数量

39

OrdStatus

当前订单状态 1 = 部分成交 2 = 完全成交

40

OrdType

OKCoin支持的订单类型: 1 = 市价单 2 = 限价单

44

Price

价格,如果OrdType<40> = 2(限价)代表操作单价。 如果OrdType<40> = 1并且Side<54> = 1 时代表购入多少钱的币如果OrdType<40> = 1并且Side<54> = 2 时代表卖出多少钱的币

54

Side

1 = 买 2 = 卖

55

Symbol

本地/交易所 标识

58

Text

自由格式文本字符串

60

TransactTime

执行报告产生的时间

150

ExccType

形容这份报告F = 交易

151

LeavesQty

将来执行的数量。

ORDER MASS STATUS REQUEST(AF) 请求订单状态

接口解释

ORDER MASS STATUS REQUEST(AF)消息请求当前订单状态。交易所将回复一系列EXECUTION REPORT(8)详细描述打开订单。关闭/撤销/已完成订单将不会被报告。

请求参数

标记 名称 必填 说明

1

Account

账户信息。无论是否忽略,只有登入账户的订单会被返回

584

MassStatusReqID

请求者自定义编号(或者为订单ORDERID)

585

MassStatusReqType

指定请求的批量状态范围。 1 = 指定订单状态(Tag584为订单ORDERID) 7 = 所有订单状态

EXECUTION REPORT(8) 报告订单状态

接口描述

当用户请求当前订单状态,交易所应该对每个激活的订单通过一系列特定的EXECUTION REPORT(8)进行回答。

请求参数

标记 名称 必填 说明

1

Account

账户ID。回答ORDER MASS STATUS REQUEST(AF)消息时登入的ID。

6

AvgPx

平均执行价格

11

ClOrdID

返回客户请求的MassStatusReqID的值

14

CumQty

总计执行数量

17

ExecID

交易所分配的执行消息唯一编码

37

OrderID

交易所返回的订单号

38

OrderQty

原始订单数量

39

OrdStatus

订单状态 A = 未成交 1 = 部分成交 2 = 完全成交 4 = 已撤销 6 = 撤单处理中

40

OrdType

复制原始订单的值

44

Price

指定原始订单时需要

54

Side

1 = 买 2 = 卖

55

Symbol

本地/交易所标记

58

Text

自由格式文本字符串

60

TransactTime

执行报告产生的时间

99

StopPx

指定原始订单时需要

150

ExecType

描述当前报告:A = 未成交 1 = 部分成交 2 = 完全成交 4 = 已撤销 6 = 撤单处理中

151

LeavesQty

将来执行的数量。

911

TotNumReports

在返回的这次报告内标识执行的消息总数量。回答ORDER MASS STATUS REQUEST(AF)时需要。

TRADE CAPTURE REPORT REQUEST(AD) 请求交易历史

接口描述

Trade Capture Report Request(AD)消息能被买方用于请求一个账户的一条历史交易信息。

请求参数

标记 名称 必填 说明

1

Account

账户信息。无论是否忽略,只有登录账户的订单会被返回

55

Symbol

标识符BTC/cny 或 LTC/cny

568

TradeRequestID

请求者自定义编号

569

TradeRequestType

OKCoin将总会发送:
1 = 最近7天成交的数

TRADE HISTORY RESULT- TRADE CAPTURE REPORT(AE) 交易历史结果 – 交易资产报告

接口描述

每个满足在原始Trade Capture Report Request(AD)消息中指定标准的交易都将发送一系列Trade Capture Report(AE)给客户端。OKCoin期望一个交易一条消息。

请求参数

标记 名称 必填 说明

31

LastPx

与此相关的价格

32

LastQty

与此相关的交易数量

38

OrderQty

与此相关的原始订单数量

55

Symbol

交易标识。BTC/CNY 或 LTC/CNY(FIX未要求但OKCoin要求)

60

TransactTime

交易时间

75

TradeDate

交易日期

552

< NoSides >

NoSides重复组:这个一直为1,因为OKCoin发送每一个交易一条消息

=>54

Side

1 = 买 2 = 卖

=>37

OrderID

交易所分配的与这次交易相关的订单ID

=>11

ClOrdID

客户端所分配的与这次交易相关的订单ID

=>1

Account

这次交易相关的账户ID

570

previouslyReported

被OKCoin忽略

571

TradeReportID

本次报告的唯一ID

ACCOUNT INFO REQUEST(Z1000) 账户信息请求

接口描述

Account Info Request(Z1000)是一个被OKCoin使用的非标准FIX消息,用于处理与用户账户相关的信息。标识 35 = Z1000。

请求参数

标记 名称 必填 说明

1

Account

账户信息。无论是否忽略,只有登入账户的订单会被返回

8000

AccReqID

本次请求的客户端唯一ID

ACCOUNT INFO RESPONSE(Z1001) 账户信息回答

接口描述

Account Info Response(Z1001)是一个被OKCoin使用的非标准FIX消息,用于处理与用户账户相关的信息。标识 35 = Z1001。

请求参数

标记 名称 必填 说明

1

Account

账户apiKey

15

Currency

当前账户的基本货币CNY/BTC/LTC

8000

AccReqID

原始请求的客户端ID。如果主动不是必须的

8001

Balance

基础货币下的账户余额(可用余额,不包括冻结金额)

8101

FreeBtc

账户可用Btc

8102

FreeLtc

账户可用Ltc

8103

FreeCny

账户可用Cny

8104

FrozenBtc

账户冻结Btc

8105

FrozenLtc

账户冻结Ltc

8106

FrozenCny

账户冻结Cny

ORDERSINFO AFTER SOMEID REQUEST(Z2000) 查询历史订单信息

接口描述

OrdersInfo After SomeID Request(Z2000)是一个被OKCoin使用的非标准FIX消息,用于获取用户的历史订单信息。标识 35 = Z2000。

请求参数

标记 名称 必填 说明

37

OrderID

交易所分配的订单号。返回该id后的十条数据。

39

OrdStatus

当前订单状态。0=未完成 1=完全成交

55

Symbol

本地/交易所标签。BTC/CNY或LTC/CNY

568

TradeRequestID

标识本次请求的唯一编号

提示

请先登录

客服400-888-6636
在线咨询 在线咨询
在线留言 发起提问
聊天室
OKCoin聊天室
请遵守聊天室规则!详情>>
客服400-888-6636
聊天室规则 X