平安科技智能投顾接口设计说明书_陆基金 v1.0.5

平安科技

智能投顾项目

RBPAA接口设计说明书
(for 陆基金)

第1.0.4版

平安科技(深圳)有限公司
创新品牌体验团队智能投顾组

二○一七年十月

版本控制信息

版本 日期 拟稿和修改 作者 说明
1.0 2018-4-25 初稿 陈培镇


目录
1 概述 1
2 接口约定 1
3 接口列表 1
4 接口组成 1
5 接口描述 2
5.1 基金领域 2
5.1.1 基金盘中实时估值接口(F100) 2
5.1.2 基金最新估值查询接口(F101) 3
5.1.3 基金基础信息查询接口(F102) 3
5.1.4 基金历史净值查询接口(F103) 5
6 附录 5
6.1 CLIENT API 说明(供参考) 5

1 概述
本文目的是定义并描述“智能投顾系统”(以下简称“RBPAA系统”)与陆基金的联机接口规范。
2 接口约定
接口报文编码格式为“UTF-8”,数据交换格式为JSON,字段类型均为字符串,传输方式为 POST,访问地址为 https://ip:port/app/$tranCode
3 接口列表
接口类型 接口编号 接口名称 是否令牌认证 是否查询类
基金领域 F100 基金盘中实时估值接口 否 是
F101 基金最新估值查询接口 否 是
F102 基金基础信息查询接口 否 是
F103 基金历史净值查询接口 否 是
4 接口组成
接口报文由两部份组成,报文头和报文体;报文头说明在该小节定义,报文体根据每个接口编号在各自小节中定义。
请求报文头:
数据项 数据域 是否必填 说明
orgId 机构代号 是 310002
tranCode 接口编号 是
version 版本号 是 100
reqChl 请求渠道 是 03
reqTime 请求时间 是 yyyyMMddHHmmssfff
serNum 请求流水号 否 空字符串
token 令牌 否 空字符串
sign 加签值 是 SHA256withRSA2048
响应报文头:
数据项 数据域 说明
tranCode 接口编号
respTime 响应时间 yyyyMMddHHmmssfff
respCode 响应码 00-成功,01-处理中,其他-失败
respMsg 响应消息 接口响应描述信息
sign 加签值 SHA256withRSA2048

5 接口描述
5.1 基金领域
5.1.1 基金盘中实时估值接口(F100)
接口编号: F100
返回码说明:详见报文头说明。
接口说明:根据时间范围获取盘中估值明细。
接口请求:
数据项 数据域 是否必填 说明
valuationDate 估值日期 是 yyyyMMdd
dateType 日期类型 是 D – 自然日
T – 交易日
startTime 起始时间 是 HHmmss
endTime 结束时间 否 HHmmss
如果为空,默认为235959
fundId 基金代码 是
decimalDigits 估值小数位数 否 默认:4,范围:4-12

接口返回:
数据项 数据域 说明
fundEvalCount 基金估值明细数量
fundEvalList 基金估值明细列表 List<DtlF1001>
<多笔返回明细>
DtlF1001
数据项 数据域 说明
valuationTime 估值时间 yyyyMMddHHmmss
valuation 基金估值
valuationOrg 估值机构 00-平安科技

报文示例:
请求报文:
{"valuationDate":"20180425","endTime":"153000","fundId":"000008","lang":null,"orgId":"310002","reqChl":"03","reqTime":"20170705090130123","serNum":"1234567890","sign":"QWERTYUIOPQWERTYUIOPQWERTYUIOPSC","startTime":"113000","token":"D688D2555ED94C7285D26BDF4B13D08F","tranCode":"F003","version":"100"}
响应报文:
{"fundEvalCount":"1","fundEvalList":[{"valuation":"1.6424","valuationOrg":"00","valuationTime":"20180425113000"}],"respCode":"00","respMsg":"success","respTime":"20170705090130123","sign":"QWERTYUIOPQWERTYUIOPQWERTYUIOPSC","tranCode":"F003"}

5.1.2 基金最新估值查询接口(F101)
接口编号: F101
返回码说明:详见报文头说明。
接口说明:根据基金代码查询最新的估值信息。

接口请求:
数据项 数据域 是否必填 说明
fundId 基金代码 是

接口返回:
数据项 数据域 说明
valuationTime 估值时间 yyyyMMddHHmmss
valuation 基金最新估值 精确到4位小数
pchg 涨跌幅 精确到4位小数,单位:%
chg 涨跌值 精确到4位小数

报文示例:

5.1.3 基金基础信息查询接口(F102)
接口编号: F102
返回码说明:详见报文头说明。
接口说明:根据基金代码查询基金基础信息,包括基金类型、上一个交易日净值及涨跌幅,是否支持估值、估值系数等。

接口请求:
数据项 数据域 是否必填 说明
fundId 基金代码 是

接口返回:
数据项 数据域 说明
fundName 基金名称
valuationFlag 是否支持估值 0 – 否
1 – 是
rcResult 估值回归系数
rcDate 估值系数所属日期 yyyyMMdd
fundType 基金类型 2201 - 股票型
2202 - 混合型
2203 - 债券型
2205 - 货币型
2206 - QDII基金
2210 - FOF
2204 - 其他基金
exchange 所属市场 HS – 沪深市场
earlyOpenTime 早盘开盘时间 HHmmss
earlyCloseTime 早盘闭盘时间 HHmmss
afterOpenTime 午盘开盘时间 HHmmss
afterCloseTime 午盘闭盘时间 HHmmss
prevDate 上一个交易日日期 yyyyMMdd
prevNav 上一个交易日单位净值
prevNavAcc 上一个交易日累计净值
prevChg 上一个交易日涨跌值
prevPchg 上一个交易日涨跌幅
pchgM1 近一月涨跌幅
pchgM3 近三月涨跌幅
pchgM6 近半年涨跌幅
pchgY1 近一年涨跌幅

报文示例:

5.1.4 基金历史净值查询接口(F103)
接口编号: F103
返回码说明:详见报文头说明。
接口说明:根据基金代码和时间范围获取基金净值明细。

接口请求:
数据项 数据域 是否必填 说明
fundId 基金代码 是
startDate 查询起始日期 是
endDate 查询结束日期 否 yyyyMMdd;
如果为空,默认为当前时间
navType 净值类型 是 U - 单位净值
A - 累计净值

接口返回:
数据项 数据域 说明
fundType 基金类型 2201 - 股票型
2202 - 混合型
2203 - 债券型
2205 - 货币型
2206 - QDII基金
2210 - FOF
2204 - 其他基金
navCount 净值明细数量
navList1 货币基金净值明细列表 List<DtlF1031>
navList2 除货币外其他基金净值明细列表 List<DtlF1032>
<多笔返回明细>
DtlF1031
数据项 数据域 说明
navDate 基金查询时间 yyyyMMdd
prdRate 每万份收益率
annuRate 7日年化收益率
return1M 近一月回报
return3M 近三月回报
return6M 近六月回报
return1Y 近一年回报
returnYtd 今年以来回报
returnStd 成立以来回报

DtlF1032
数据项 数据域 说明
navDate 基金查询时间 yyyyMMdd
nav 基金净值
return1W 近一周回报
return1M 近一月回报
return3M 近三月回报
return6M 近六月回报
return1Y 近一年回报
returnYtd 今年以来回报
returnStd 成立以来回报
navgr1D 当日净值增长率
chg 涨跌
pchg 涨跌幅

报文示例:
6 附录
6.1 Client API 说明(供参考)br/>测试环境地址(公网地址):https://103.28.215.253:10094/app/
示例代码:
@Test
public void test8001() {
// 秘钥文件
String privateKeyPath = "d:/app/rbpaa/etc/310001/stg-lu-private.key";
String publicKeyPath = "d:/app/rbpaa/etc/310001/stg-rbpaa-public.key";
String algorithm = "SHA256withRSA";

    // 请求报文
    Req8001 request = new Req8001();
    request.setOrgId("310001");
    request.setVersion("100");
    request.setReqChl("02");
    request.setReqTime("20171016120000999");

    request.setTranCode("8001");
    request.setQueryDate("20171208");
    request.setJudgeCycle("005");

    try {
        // 秘钥(建议系统启动时读取到静态变量中,只需加载一次)
        Object obj = FileUtil.readFileByInputStream(privateKeyPath);
        PrivateKey privateKey = (PrivateKey) obj;

        obj = FileUtil.readFileByInputStream(publicKeyPath);
        PublicKey publicKey = (PublicKey) obj;

        // 创建客户端对象
        ApiClient<Req8001, Resp8001> client = new ApiClient<Req8001, Resp8001>(testUrl, algorithm, privateKey, publicKey, 10000);

        // 请求服务端并获取响应对象
        Resp8001 response = client.call(request, Resp8001.class, LogEnum.SYSOUT, null);
        System.out.println( response.getRespCode() );

    } catch(Exception e) {
        e.printStackTrace();
    }
}

API请求依赖包:
后续给出。

猜你喜欢

转载自blog.51cto.com/7952376/2363793