交易系统API SERVER接口文档.docx
《交易系统API SERVER接口文档.docx》由会员分享,可在线阅读,更多相关《交易系统API SERVER接口文档.docx(14页珍藏版)》请在冰点文库上搜索。
交易系统APISERVER接口文档
交易系统APISERVER接口文档
文档名称
交易系统APISERVER接口文档
文件编号
受控编号
版次
修改状态
总页数
正文
附录
密级
作者:
日期:
批准:
日期:
审核:
日期:
(版权所有,翻版必究)
目录
1.目的2
2.适用范围2
3.规范性制定标准。
2
4.术语、定义和缩略语3
5.交易系统处理流程图3
6.接口定义3
6.1消息结构3
6.2URL定义4
6.3请求信息头4
6.4请求消息体5
6.5业务代码列表8
6.6应答代码列表9
7.样例9
7.1.请求9
7.2.应答10
1.目的
规范通过各子系统与交易系统通讯交互,增强交易系统接口的安全性。
特写此文档。
2.适用范围
本规范对与交易系统交互的接口提出规定。
文交所合作伙伴使用。
用于在业务开展中通过交易系统API交互提供技术依据。
3.规范性制定标准。
本接口规范依据下列规范标准而制定:
[1]
接口协议标准(Q/LEADTONE-WI-RD-35)
4.术语、定义和缩略语
下列术语、定义和缩略语适用于本标准:
词语
解释
MD5
message-digestalgorithm5(信息-摘要算法)
DES
DataEncryptionStandard,
HTTP
HypertextTransferProtocol(超文本传输协议)
URL
UniformResourceLocators
XML
ExtensibleMark-upLanguage
BASE64
一种编码方式,将二进制数据表示为文本以便于传输设计的
5.交易系统处理流程图
6.接口定义
通信接口采用http+post+xml方式。
以Http为载体,POST作为请求方式,XML作为传输数据格式。
XML包中包括两个部分,消息头和消息体。
客户端使用HTTPPOST方法向交易系统发送服务端提供的URL发送请求数据,交易系统服务端作为HTTP服务器返回应答。
6.1消息结构
所有接口的消息协议数据单元(PDU)由消息头(header)和消息体(body)组成。
消息头和消息体在xml中的表现形式如下:
1)请求head:
最开始是XML版本描述,请求head部分以Top标签起头
xmlversion=”1.0”encoding=”utf-8”?
>
数字签名
时间戳
2)请求报文Body部分描述
Body部分以Body标签起头,其中元素标签由各业务端自定义
业务
参数1
参数2
参数3
参数n
3)响应head:
响应时间
响应码
6.2URL定义
请求URL部分字段描述:
字段
说明
数据类型
存在情况
mKey
数据有效性签名,MD5(Key+TimeStamp),其中Key是约定的密匙,TimeStamp为时间戳(注:
“+”号为合并意思,不包含在被加密的字符串中)
string
必选
说明:
mKey:
采用MD5方式对特征字段进行加密而生成,用于服务端验证传递过来的数据的有效性,由业务端自定义加密密钥,请求端密钥修改需要及时通知到服务端。
如:
http:
//localhost:
8080/Tradingapi/Tradingsend?
mkey=XXXXXXXXXXXXXXXX
6.3请求信息头
请求报文header部分描述:
字段
说明
数据类型
存在情况
Signature
数字签名
string
必选
TimeStamp
时间戳,为long整形整数。
(格式:
1147322323000)
string
必选
说明:
6.4请求消息体
请求报文Body部分描叙:
信息单元
说明
数据类型
存在情况
Subject
交易系统处理业务,业务对应内容参数(业务代码列表),最大长度256
String
必备
DataInfo
交易系统内容信息参数(DataInfo)(1-n个)
子类型
必备
(1-n个)
说明:
如果计费,对发送方计费。
如果是群发,在状态报告栏里请填写不需要状态报告。
交易系统发送内容子元素DataInfo :
以下是对DataInfo元素的说明
1.开户
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
PassWord
密码
String
必备
UserName
姓名
String
必备
2.修改密码
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
PassWord
密码
String
必备
3.获取账户信息
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
4.获取用户股票信息
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
CommodityCode
股票代码
String
必备
5.获取股票信息
信息单元
说明
数据类型
存在情况
DataInfo
CommodityCode
股票代码
String
必备
6.委托卖出股票
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
CommodityCode
股票代码
String
必备
EntrustNum
委托卖出股票数量
int
必备
EntrustPrice
委托卖出股票价格
money
必备
7.委托买入股票
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
CommodityCode
股票代码
String
必备
EntrustNum
委托卖出股票数量
int
必备
EntrustPrice
委托卖出股票价格
money
必备
8.委托查询
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
EntrustNo
委托编号
String
必备
9.取消委托
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
EntrustNo
委托编号
String
必备
应答消息
Header部分参数描述:
字段
说明
数据类型
存在情况
ResTime
回复响应包时间
例:
2009-01-1514:
36:
33
string
必备
ResultCode
参见应答码列表
string
必备
交易系统返回内容子元素DataInfo :
以下是对DataInfo元素的说明
1.开户
信息单元
说明
数据类型
存在情况
DataInfo
Msg
返回信息
String
必备
2.修改密码
信息单元
说明
数据类型
存在情况
DataInfo
Msg
返回信息
String
必备
3.获取账户信息
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
UserName
姓名
String
必备
CreateTime
开户时间
String
必备
UCapitalRemainingSum
可用余额
money
必备
4.获取用户股票账户信息
信息单元
说明
数据类型
存在情况
DataInfo
PartnerAccountName
用户名
String
必备
CommodityCode
股票代码
String
必备
CreateTime
持仓
String
必备
UCapitalRemainingSum
可卖数量
money
必备
5.获取股票信息
信息单元
说明
数据类型
存在情况
DataInfo
CommodityCode
股票代码
String
必备
CommodityName
股票名称
String
必备
LatestPrice
当前价格
money
必备
HPrice
今日最高价格
money
必备
LPrice
今日最低价格
money
必备
YPrice
昨收价
money
必备
6.委托卖出股票
信息单元
说明
数据类型
存在情况
DataInfo
Msg
返回信息
String
可选(失败返回失败信息)
EntrustNo
委托编号
String
可选(委托成功返回委托编号)
7.委托买入股票
信息单元
说明
数据类型
存在情况
DataInfo
Msg
返回信息
String
可选(失败返回失败信息)
EntrustNo
委托编号
String
可选(委托成功返回委托编号)
8.委托查询
信息单元
说明
数据类型
存在情况
DataInfo
EntrustNo
委托编号
String
必备
EntrustTime
委托时间
String
必备
EntrustType
委托类型(S为卖出,B为买入)
String
必备
CommodityCode
股票编号
String
必备
EntrustNum
委托数量
int
必备
EntrustPrice
委托价格
money
必备
ClinchDealNum
成交数量
int
必备
ClinchDealPrice
成交价格
money
必备
ClinchDeaAmount
成交金额
money
必备
9.取消委托
信息单元
说明
数据类型
存在情况
DataInfo
Msg
返回信息
String
必备
6.5业务代码列表
代码
说明
KaiHu
开户
EditPwd
修改密码
GetPartnerAccount
获取账户信息
GetUserPositio
获取用户股票信息
GetCommodity
获取股票信息
GoSell
委托卖出股票
GoBuy
委托买入股票
SeachEntrust
委托查询
CancelEntrust
取消委托
6.6应答代码列表
代码
说明
0000
发送成功
1001
包过期
1002
数据签名错误
1003
业务出错。
1004
接收人为空
1005
字符过大(当前交易系统不能超过100K)
1006
参数为空
1007
处理请求失败
1008
异常错误
1009
报文格式错误
1010
客户端ID无效
1011
处理笔数大于100个
1012
不在交易时间内
1013
必选参数为空
1014
参数类型错误
1015
业务名称过长(不超过256)
9999
系统服务器错误
7.样例
7.1.请求
xmlversion=’1.0’encoding=’utf-8’?
>
sssssssssssssssss
1234567890
KaiHu
x201110001
testA
123456
7.2.应答
xmlversion=”1.0”encoding=”utf-8”?
>
2013-1-1817:
00:
00
00000
开户成功