看穿式监管交易终端信息采集(CTP主席)客户测试流程
1. 尊敬的客户,请首先填写测试申请表。(表见附录一)。
注意事项:如果您的终端是其他软件商,请详细填写软件商的名称和联系方式(我司提供的交易软件除外),我司将协同您一起和软件商完成此项工作。 2. 请将填写好的申请表发送给与您对应的我司业务经理;
3. 我司根据申请单内容准备测试环境,发送客户终端测试授权码给您。(客户APPID的命名见附录二)
4. 请您根据测试授权码和测试环境信息进行连接和交易测试。 (具体的CTPAPI连接函数见附录三)
5. 我司在收到测试信息后,完成测试反馈报告,业务经理将及时把测试反馈报告通知您。
6. 注意:上述测试环境中使用的测试授权码仅在测试环境中有效!对于测试通过的交易终端,我司将统一发放正式生产环境授权码,用于您的交易终端接入生产环境,请及时关注我司的官网通知。
附录一:测试申请表
客户填写 交易终端名称 客户账号 终端类型 □自开发 □其他软件商 (软件商名字、联系方式) 客户使用终端ID (AppID/RelayAppID) 终端连接方式 □直连类型终端 □多对多类型中继 □多对一类型中继 业务部门填写 业务部门确认 信息技术部填写 终端授权码 测试的账号信息 测试的IP地址和端口 测试反馈 授权码测试结果 看穿式信息收集测试结 果 备注:
1. 多对多类型中继指的是为每个客户终端,建立CTP API实例,每个用户独占一个交易API实例的中继服务器。客户需要使用自己的账户名密码登录。
2. 多对一类型中继指为多个客户终端,建立一个CTP API实例,使用操作员为
多个客户进行交易的中继服务器。一般为境外中介采用方式。
附录二:AppID/RelayAppID的生成规范
范例:
个人开发终端:client_abcdf_1.0.0 第三方终端:pobo_iee_1.4.0.0 中继厂商:poboAPP_isssle_2.0.0.0
附录三:CTP-API实例说明
6.3.15_API接口说明.chm
穿透式监管数据采集说明
■ 6.3.15_API接口说明
└◆ 穿透式监管数据采集说明
◇ 1.定义
术语 采集API链接库 直连类型终端 中继类型终端
术语说明 负责采集终端信息的动态链接库,只有连接中继服务器的终端需要调用,直连模式或中继服务器无需调用 直接连接到CTP交易系统的客户交易终端
先连接到中继服务器,中继服务器再调用TraderAPI连接到CTP交易系统的客户交易终端
多对多类型中继为每个客户终端,建立CTP API实例,每个用户独占一个交服务器 易API实例的中继服务器 多对一类型中继为多个客户终端,建立一个CTP API实例,使用操作员为多服务器 个客户进行交易的中继服务器 AppID RelayAppID
每个期货终端软件需要向期货公司申请自己的AppID 中继服务器软件需要向期货公司申请自己的RelayAppID
AppID和RelayAppID必须符合监控中心的格式要求。见监控中心官网技术规范。
◇ 2.说明
期货公司确认终端软件集成了正确的数据采集模块后,为该AppID的终端软件分配授权码。终端软件需要保护好自己的AppID和授权码,防止被其他软件盗用。CTP对终端的认证流程如下:
?
直连终端认证流程
对于直接连接期货公司交易柜台的终端,期货公司确认终端软件集成了正确的数据采集模块后。给该终端软件(根据AppID)分配一个授权码。这个授权码和AppID是绑定的,当终端试图登录期货公司交易软件的时候,交易后台会验证该终端是否持有合法的AppID和授权码。
?
中继和中继下属终端的认证流程
对于使用中继服务器连接期货公司交易柜台的终端,期货公司确认终端软件集成了正确的数据采集模块和确认中继可以正常报送终端信息后。期货公司给该终端软件(根据AppID)分配一个授权码,给中继服务器(根据RelayAppID) 分配一个授权码。当终端登录中继服务器时,中继服务器负责验证终端的合法性;当中继服务器登录期货公司交易软件的时候,交易后台会验证该中继服务器是否持有合法的RelayAppID和授权码。
◇ 3.相关接口
///客户端认证请求
virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; ///客户端认证响应
virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
///上报用户终端信息,用于中继服务器操作员登录模式 ///操作员登录后,可以多次调用该接口上报客户信息
virtual int SubmitUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) = 0;
///注册用户终端信息,用于中继服务器多连接模式 ///需要在终端认证成功后,用户登录前调用该接口
virtual int RegisterUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) = 0;
◇ 4.示例代码
每个类型的终端调用流程不同,请注意区分!
◇ 4.1.直连终端的采集使用流程示例代码:
Step 1 在API连接后发起认证 void CUser::OnFrontConnected() {