引言 接口对接步骤 通讯协议 Token/Key说明 规则详情 对接解决方案 接口Post地址 接口报错自查 字典表集合1 字典表集合2

请求体与响应体

请求体(RequestBody)

1、请求体包含四个必填参数项,分别是token,date,sign,requestJson。

2、token:token为接口接入编号。可以是公司类Token,也可以是项目类Token。不同请求接口要求不同的Token,详见Token/Key说明

3、date:date为当前请求接口的时间戳。格式为“4位年+2位月+2位日+2位小时(24小时制)+2位分+2位秒”,简缩:YYYY-MM-DD HH:MM:SS,例如:"2018-08-18 11:00:39"。

4、sign:sign为签名后的字符串。详情见签名规则。

5、requestJson:requestJson为具体请求接口的参数对象的Json字符串。

请求体之requestJson处理示例

1、若requestJson对象参数中,包含有经过DES加密、图片转Base64编码处理后的字段,值中可能包含特殊字符,需要额外进行UrlEncode后再赋值。

2、比如身份证号经过DES加密后为 var identityCode_Des ="l4k9HtGdbqVKy2Wfp+OCyM0LmEYXYNJL";需要额外进行UrlEncode后,再赋值为具体字段。var identityCode = HttpUtility.UrlEncode("l4k9HtGdbqVKy2Wfp+OCyM0LmEYXYNJL", System.Text.Encoding.UTF8);

RequestBody示例

1、var requestBody ="{'token': 'token','date': 'date','sign': 'sign','requestJson': 'requestJson'}";

2、具体可参考下接口中的demo示例。

响应体(ResponseBody)

1、响应体是Json格式的字符串,可以使用Json工具包对其进行解析。

2、响应体包含两个必填参数项,分别是rstCode,rstMsg,data。

3、rstCode:为业务结果标识。必返。具体含义见字典表集合的结果码字典表。

4、rstMsg:为业务结果描述说明。必返。

5、data:为业务结果附带的返回数据。data参数是否必返,看具体接口的响应体说明。

ResponseBody示例

1、var ResponseBody ="{'rstCode': rstCode,'rstMsg': 'rstMsg','data': 'data'}";

2、处理成功:{"rstCode":200,"rstMsg":"处理成功","data":null}

3、处理失败:{"rstCode":101,"rstMsg":"签名错误","data":null}

32MD5

32MD5规则

1、编码为UTF8。

2、做转小写的16进制字符串处理。即ToString("x2"),变成32位字符串。

3、需要进行32MD5的会在参数备注中标有‘MD5’标识。

32MD5示例

32MD5("6512bd43d9caa6e02c990b0a82652dca"+"F11B6231"+"2018-08-18 11:00:39")

最后结果 var MD5result="59c0baf9f8f41898aeef53711a9ab5ea"

签名规则

签名说明

1、把对应请求体的token、key、date的字符串拼接起来,后进行MD5处理。

2、即sign=32MD5(token+key+date);

签名示例

var token = "6512bd43d9caa6e02c990b0a82652dca";

var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//假设值为:2018-08-18 11:00:39

var sign = 32MD5(token + key + date),即sign = 32MD5("6512bd43d9caa6e02c990b0a82652dca"+"F11B6231"+"2018-08-18 11:00:39");

最后签名字符串 sign = "59c0baf9f8f41898aeef53711a9ab5ea";

DES加解密

DES加解密说明

1、接口参数中,敏感信息如:身份证号、银行卡号等需要加密传输的值后再传输数据。加密方式采用DES加密,需要加密的参数字段会在备注中标有‘DES’标识。

2、加解密Key有两种。当调用的接口为公司类接口的具体接口时(即当前请求Token为公司Token),则请求体的敏感字段的加解密的Key等于公司key; 当调用的接口为项目类接口的具体接口时(即当前请求Token为项目Token),则请求体的敏感字段的加解密的Key等于项目key。

DES加解密规则

编码=UTF8。

算法密钥=接入密钥key。(公司key/项目key)

算法的初始化向量(IV)= 接入密钥KEY。

加密模式(Mode)=CBC。

填充模式(PaddingMode)=PKCS7。

数据块大小(BlockSize)=64。

加密后的字节数组转为base64字符串。

简略说明:加密密文 var DES_Encrypt_String = DES_Encrypt(info, key).ToBase64()。

简略说明:解密密文后字符串 var DES_Decrypt_String = DES_Decrypt(DES_Encrypt_String, key)。

DES加解密示例

例如,身份证号为:5113011990010181111,假设接入密钥key:B9B8035F,则密文 DES_Encrypt_String = "kjYNvdl1aQy30SIJg5dEdu5OabM6W8NX"。

更多DES加解密测试,可参考网址:DES加解密在线测试

图片转Base64编码

图片转Base64说明

1、请求参数中,图片参数若无特殊说明,均为符合kb大小的图片base64字符串。有无前缀均可。

2、有无前缀均可。如当jpeg格式的图片转base64字符串后,传输"data:image/jpeg;base64,具体的base64字符串"或者是"具体的base64字符串"均可。

3、图片支持格式为:".jpg",".png",".jpeg",".bmp"。

4、base64后字符串的格式,可参考图片转Base64编码