1、 易盛国际金融衍生品交易分析系统 API使用说明 文件状态: 正在修改 3.0.1.0 版 本: 完成日期: 2013-12-26 易盛国际金融衍生品交易分析系统 API使用说明 文档变更日志 API 时间 作者 描述 备注 V3.0.1.0 2013-12-26 API使用说明 第一版 易盛国际金融衍生品交易分析系统 API使用说明 1系统简介.....................................................................................
2、 3 API介绍................................................................................................................................... 3 2体系结构.................................................................................................
3、 4 2.1 API架构 ............................................................................................................................. 4 2.2授权...............................................................................................................
4、 5 3开发接口....................................................................................................................................... 6 3.1初始化阶段.......................................................................................................................
5、 6 3.2功能调用阶段.................................................................................................................... 6 3.3授权码................................................................................................................................ 6 3.4 IEsunnyTradeSpi接口.
6、 6 3.4.1 OnOpen方法........................................................................................................... 7 3.4.2 OnClose()方法................................................
7、 7 3.4.3 OnLogin方法 .......................................................................................................... 7 3.4.4 OnInitFinished方法..........................................................................................
8、 8 3.4.5 OnLogOut方法 ....................................................................................................... 9 3.4.6 OnRspSetPassword方法 ......................................................................................... 9 3.4.7 OnRspSetOperPassword方法 ..............
9、 10 3.4.8 OnQryMoney方法 ................................................................................................ 11 3.4.9 OnRtnMoney方法...........................................................................................
10、 13 3.4.10 OnRspCashOperQry方法 ................................................................................... 13 3.4.11 OnRspCashAdjustQry方法................................................................................. 15 3.4.12 OnRspOrderInsert方法 ................................
11、 16 3.4.13 OnRspOrderModify方法 .................................................................................... 17 3.4.14 OnRspOrderDelete方法...................................................................................... 17 3.4.15
12、OnRspQryOrder方法.......................................................................................... 18 3.4.16 OnRspHistOrderQry方法 ................................................................................... 19 3.4.17 OnRtnOrderState方法.................................................
13、 20 3.4.18 OnRtnOrderInfo方法.......................................................................................... 21 3.4.19 OnRspMatchQry方法 ......................................................................................... 22 3.4.20 OnRtnMatch
14、State方法........................................................................................ 23 3.4.21 OnRtnMatchInfo方法 ......................................................................................... 24 3.4.22 OnRspHistMatchQry方法......................................................
15、 25 3.4.23 OnQryHold方法.................................................................................................. 26 3.4.24 OnRtnHold方法.................................................................................................. 27 3.4.25 OnQryExchangeS
16、tate方法.................................................................................. 27 3.4.26 OnRtnExchangeState方法 .................................................................................. 28 3.4.27 OnQryCommodity方法...................................................................
17、 29 3.4.28 OnQryContract方法............................................................................................ 30 3.4.29 OnQryClient方法................................................................................................ 31 3.4.30 OnRspHistCashOperQry方法...
18、 31 3.4.31 OnRspHistCashAdjustQry方法 .......................................................................... 32 3.4.32 OnRspAuthClient方法....................................................................................
19、 34 3.4.33 OnRspQryCurrency方法..................................................................................... 34 3.4.34 OnRtnExchangeRateMod方法............................................................................ 35 第 1页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 3.4.35 OnRtn
20、OrderRemove方法 ................................................................................... 36 3.4.36 OnRtnMatchRemove方法................................................................................... 36 3.4.37 OnRtnCommodityState方法 .....................................................
21、 37 3.4.38 OnRtnContractAdd方法 ..................................................................................... 37 3.5 IEsunnyTradeApi接口 ..................................................................................................... 38 3.5.1 SetSpi方法 .......
22、 38 3.5.2 Free方法................................................................................................................ 39 3.5.3 GetErrcodeDesc方法 ........................................
23、 39 3.5.4 Open方法.............................................................................................................. 39 3.5.5 Close方法......................................................................................................
24、 40 3.5.6 IsOpen方法........................................................................................................... 40 3.5.7 Login方法 ............................................................................................................. 40 3.5.8 LogOut方法 .............
25、 41 3.5.9 SetPassword方法 .................................................................................................. 42 3.5.10 SetOperPassword方法 ....................................................
26、 43 3.5.11 QryClients方法 ................................................................................................... 43 3.5.12 QryMoney方法 ................................................................................................... 43 3.5.13 QryO
27、rder方法 ..................................................................................................... 43 3.5.14 QryMatch方法 .................................................................................................... 44 3.5.15 QryHold方法 ............................................
28、 45 3.5.16 QryExchangeState方法....................................................................................... 46 3.5.17 QryCommodity方法 ........................................................................................... 46
29、3.5.18 QryContract方法................................................................................................. 47 3.5.19 OrderInsert方法 .................................................................................................. 48 3.5.20 OrderModify方法 ..............................
30、 49 3.5.21 OrderDelete方法................................................................................................. 49 3.5.22 QryHistOrder方法......................................................................................
31、 50 3.5.23 QryHistMatch方法.............................................................................................. 50 3.5.24 QryCashOpera方法............................................................................................. 51 3.5.25 QryCachAdjust方法......................
32、 52 3.5.26 QryHistCashOpera方法...................................................................................... 52 3.5.27 QryHistCachAdjust方法.................................................................................
33、 53 3.5.28 AuthClient方法 ................................................................................................... 53 3.5.29 QryCurrency方法................................................................................................ 54 3.5.30 GetCertCodeExpireDate方法..............
34、 54 3.6 extern "C"部分............................................................................................................. 55 3.6.1 GetEsunnyForeignApiVersion方法 ...........................................................
35、 55 3.6.2 CreateEsunnyForeignTradeApi方法..................................................................... 55 3.6.3 DelEsunnyForeignTradeApi方法 ......................................................................... 56 4开发示例.........................................................
36、 56 第 2页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 1系统简介 API介绍 易盛公司的交易行情系统都是开放的平台。易盛为每个平台都专门提供了接 入API(Application Programming Interface,应用程序编程接口),开发者可以 利用这些API,开发更适合自身业务需求的子系统。通过这些自我开发系统和易 盛后台服务的无缝链接,满足个性化交易需求。
37、交易API包括报单,改单,撤单,查询客户资金,查询客户委托,查询客户 成交,查询成交,查询持仓,查询出入金,查询资金调整等功能。 该API包含以下7个文件: 文件名 版本 V1.0 V1.0 V1.0 V1.0 V1.0 V1.0 V1.0 文件大小 9KB 文件描述 定义API的错误代码 定义API所用到的数据结构 定义API所用的数据类型 交易接口头文件 EsForeignApiErrCode.h EsForeignApiStruct.h EsForeignApiType.h EsunnyForeignApi.h ForeignTradeApi
38、dll ForeignTradeApi.lib ForeignTradeApi.pdb 26KB 31KB 30KB 127KB 3KB 动态链接库 导入库 1371KB 程序调试数据库 第 3页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 2 体系结构 2.1 API架构 易盛国际金融衍生品交易分析系统 API是通过向交易员提供一组函数,可以 向交易后台发送数据或报送请求,再由交易后台返回或推送相关的数据信息,其 基本架构如下: 下面是 API的基本处理逻辑: 第 4页共 62页
39、 易盛国际金融衍生品交易分析系统 API使用说明 2.2授权 为提高 API权限控制,必须申请得到相关的授权码,通过认证之后开发商才允许 进行 API连接。并且可以在外盘系统的柜台下,有客户 API授权管理,可以对 API用 户进行增加,修改,删除和查询操作。 详细申请流程可参考 API申请流程文档。 第 5页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 3 开发接口 3.1 初始化阶段 在正式使用 API功能之前,需要对交易 API进行初始化。 初始化操作包括: 1,CreateEsunnyForeignTra
40、deApi创建一个交易 API实例。 2,SetSpi设置回调数据接口。 3,Open连接交易服务器 4,IsOpen获取是否与交易服务器建立连接 5,Login登陆交易服务器,完成初始化阶段。 3.2 功能调用阶段 在功能调用阶段,用户可以通过 API,向易盛后台发送报单,改单,撤 单,查询客户资金,查询客户委托,查询客户成交,查询成交,查询持仓, 查询出入金,查询资金调整等请求,并获得相应的应答。 3.3 授权码 用户在创建 API实例的时候,传入申请的授权码之后,还需要在柜台配 置一下对应的明文编号,才能正常登陆。 3.4 IEsunnyTradeSpi
41、接口 IEsunnyTradeSpi接口实现了时间通知接口。用户必须派生 IEsunnyTradeSpi 接口,编写事件处理方法来处理感兴趣的事件。具体的结构定义,类型定义和错 误码参见 EsForeignApiStruct.h,EsForeignApiType.h和 EsForeignApiErrCode.h这 三个头文件。 第 6页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 3.4.1 OnOpen方法 与服务器建立连接时调用,此时还未登陆。 函数原形: void __cdecl OnOpen(); 参数:无 返
42、回值: void 3.4.2 OnClose() 方法 与服务器断开连接时调用 函数原形: void __cdecl OnClose(); 参数:无 返回值:无 3.4.3 OnLogin方法 发送 Login登陆成功时收到服务器登陆响应调用 函数原形: void __cdecl OnLogin(const TEsLoginRspField* rsp , int errCode , const int iReqID); 参数: rsp : 返回用户登录信息的地址 登录应答结构 struct TEsLoginRspField { //是否 CA
43、认证 TIsCaLoginType IsCaLogin; 第 7页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 //是否强制修改密码 TIsForcePasswordType //登录号 IsForcePwd; TLoginNoType LoginNo; //登录端帐号简称 TLoginNameType LoginName; //客户预留信息,客户自己识别后台系统 TReservedInfoType //上次登录时间 TDateTimeType //上次登出时间 TDateTimeType //上次登录 ip
44、 ReservedInfo; LastLoginDateTime; LastLogoutDateTime; LastLoginIp; TIpType //上次登录 port TPortType LastLoginPort; LastLoginMachineInfo; ServerDateTime; //上次登录机器信息 TMachineInfoType //系统当前时间(客户端校时) TDateTimeType }; errCode: 返回的错误代码,当 errCode=0,表示登陆成功(详细可查错误代码 表)。 iReqID: 返回用户登录请求的 I
45、D,对应发送请求的 ID。 返回值: 无 3.4.4 OnInitFinished方法 发送 Login成功后,收到 OnLogin应答成功后收到初始化操作完成。所 有的业务操作需要在本响应 errCode为 0(成功)后可进行 函数原形: void __cdecl OnInitFinished(int errCode); 参数: 第 8页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 errCode返回初始化过程中的错误码(详细可查错误代码表)。 返回值: 无 3.4.5 OnLogOut方法 收到登出应答调用 函
46、数原形: void __cdecl OnLogOut(int errCode , const int iReqID); 参数: errCode : 返回登出过程的错误码,当 errCode等于 0的时候,表示正常退出。 iReqID : 返回用户登出请求的 ID,对应发送请求的 ID。 返回值: 无 3.4.6 OnRspSetPassword方法 修改客户密码时调用 函数原形: void __cdecl OnRspSetPassword(const TEsClientPasswordModifyRspField* rsp ,int errCode , co
47、nst int iReqID); 参数: rsp : 返回信息包括客户号和修改的密码类型,其中密码类型包含修改的密码 是交易密码,行情密码,还是认证密码。 客户密码修改应答结构 struct TEsClientPasswordModifyRspField 第 9页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 { //客户号 TClientNoType //密码类型 TPasswordTypeType }; ClientNo; PasswordType; errCode : 返回修改密码时的错误码,当 errCode
48、等于 0的时候,表示修改成功。 iReqID : 返回用户登出请求的 ID,对应发送请求的 ID。 返回值: 无 3.4.7 OnRspSetOperPassword方法 修改操作员密码时应答 函数原形: void __cdecl OnRspSetOperPassword(const TEsOperatorPasswordModifyRspField* rsp, int errCode, const int iReqID); 参数: rsp: 返回操作员号 操作员密码修改应答结构 struct TEsOperatorPasswordModifyRspField
49、{ //操作员号 TOperatorNoType OperatorNo; 第 10页共 62页 易盛国际金融衍生品交易分析系统 API使用说明 }; errCode : 返回修改密码时的错误码,当 errCode等于 0的时候,表示修改成功。 iReqID : 返回用户登出请求的 ID,对应发送请求的 ID。 返回值: 无 3.4.8 OnQryMoney方法 资金查询的应答,可以用来获得对应客户号下的今资金,今权益,今可 提,手续费,保证金和出入金等资金状况。 函数原形: void __cdecl OnQryMoney(c
50、onst TEsMoneyQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID); 参数: rsp: 查询完成时,指针为空,未完成时包含查询结果。 资金查询应答结构 struct TEsMoneyQryRspField { TClientNoType ClientNo; CurrencyNo; YAvailable; YCanCashOut; YMoney; //客户号 TCurrencyNoType TMoneyValueType TMoneyValueType TM






