# 保函通用接口

# 统一参数对象定义

请求数据类型:application/json

接口描述:

该对象以json格式,返回string,所有接口使用RESTful接口

调用示例:


{
appId:"gpms",
txCode:"LG101",
createDate:"1578295697528",
data: "940130578260D82212541E51674895B4E3F2DA0E05E92FFF51337A90A07D096813305C38E7AE1984D9C3267DD1BB94D208D475190A2019D3D733496A8BA18EBDE19969911826321C4B0A1F51307CBFA373D54C7E4926595F354D0ACD8857EFC57240168F25B84A98B9001140AA3AC5889FDF3C6CE2474CF9DB557D0A73411D990967400054E15B25D4C3CCF7485B3C16A45F8E2D950A53187F95CCE8522E51CAEEDD0F8EF7E75A365036A96B61F0FF44A4202A31C458E0C9089AADDEA5BDBA97C94CCF152D9EDA95”,
mac:"260e3cbeb4a215b66a56f1e36fd78d02"}

参数对象属性:

参数名称 参数说明 请求类型 是否必须 数据类型 模式
appId appId,系统编码 true string
mac 传输信息摘要:appId+txCode+timestamp+data+mk5key字段的信息摘要 true string
data 相应接口所需数据,报文体的根据私钥经过SM4加密后生成。数据请求及数据返回均需此结构 true array object
createDate 接口调用时间戳 true string
txCode 交易码(例:LG101) true string

# 统一返回对象定义

请求数据类型:application/json

接口描述:

该对象以json格式,返回string,所有接口使用RESTful接口

调用示例:


{
appId:"gpms",
txCode:"LG101",
"createDate": "1578295697528",
"mac": "987654348etw8745323iy543",
"data": {
"status": "0",
"message": "成功",
"infoData": {"orgguid:3243645,orgname: “公安局”……}
}  

参数对象属性:

参数名称 参数说明 请求类型 是否必须 数据类型 模式
appId appId,系统编码 true string
mac 传输信息摘要:appId+txCode+timestamp+data+mk5key字段的信息摘要 true string
data 相应接口所需数据,报文体的根据私钥经过SM4加密后生成。数据请求及数据返回均需此结构 true array object
createDate 接口调用时间戳 true string
txCode 统一交易码,用于接口标识 true string

统一状态码定义:

状态码STATUS返回值及描述定义如下

状态码 描述
0 返回成功
-1 接口校验异常
-2 接口参数异常
-3 无接口权限
-4 访问评率过高,系统拒绝访问
-5 访问IP受限
-6 内部数据库错误
-7 其它错误

# 加密方式

加密方式:

消息采用的SM4加密算法规则如下: 1.密钥是一个长度16、随机字符组成的字符串,如:1234567890123456 2.实际加密模式选择SM4-CBC,填充方式PAD_PKCS5,偏移量16位,字符集utf-8; 3.经过SM4加密后的数据通过BASE64编码转换为明文的字符串。

# 信息摘要算法

信息摘要算法:

1.传输报文在用SM4加密后,与appId等做SM3信息摘要,做SM3前的格式为(appId+txCode+timestamp+传输报文在用SM4加密+mk5key),将生成的结果字节数组通过Base64转换为16进制的字符串作为摘要结果,放入传输报文和处理结果报文mac字段中,随报文一起传输。 2.接收方接收到请求后,将接收到的报文进行SM3摘要,比对接收到的摘要信息结果,若相同说明报文传输安全,若不同说明报文经过篡改,传输不安全。