├── Markdown编写接口文档示例.md
└── README.md
/Markdown编写接口文档示例.md:
--------------------------------------------------------------------------------
1 |
2 | # AA公司BC平台接口文档 v3.2.0
3 |
4 | ## 1 规范说明
5 |
6 | ### 1.1 通信协议
7 |
8 | HTTPS协议
9 |
10 | ### 1.2 请求方法
11 | 所有接口只支持POST方法发起请求。
12 |
13 | ### 1.3 字符编码
14 | HTTP通讯及报文BASE64编码均采用UTF-8字符集编码格式。
15 |
16 | ### 1.4 格式说明
17 | 元素出现要求说明:
18 |
19 | 符号 |说明
20 | :----: |:---
21 | R |报文中该元素必须出现(Required)
22 | O |报文中该元素可选出现(Optional)
23 | C |报文中该元素在一定条件下出现(Conditional)
24 |
25 | ### 1.5 报文规范说明
26 |
27 | 1. 报文规范仅针对交易请求数据进行描述;
28 |
29 | 2. 报文规范中请求报文的内容为Https请求报文中RequestData值的明文内容;
30 |
31 | 3. 报文规范分为请求报文和响应报文。请求报文描述由发起方,响应报文由报文接收方响应。
32 |
33 | ### 1.6 请求报文结构
34 | 接口只接收两个参数 **RequestData** 和 **SignData** ,其中RequestData的值为请求内容,SignData的值为签名内容。
35 |
36 | #### 1.6.1 参数说明
37 | **RequestData(请求内容):** 其明文为每次请求的具体参数,采用 JSON 格式,依次经过 DES 加密(以UTF-8编码、BASE64编码输出结果)和 URLEncode 后,作为 RequestData 的值。
38 |
39 | **SignData(签名内容):** 请求参数(明文)的MD5加密字符串,用于校验RequestData是否合法。
40 |
41 | #### 1.6.2 请求内容(RequestData)明文结构说明
42 |
43 | 采用JSON格式,其中包含Header(公有参数)、Body(私有参数)节点:
44 |
45 | 名称 |描述 |备注
46 | :-- |:-- |:--
47 | 公共参数 |每个接口都包含的通用参数,以JSON格式存放在Header属性 |详见以下公共参数说明
48 | 私有参数 |每个接口特有的参数,以JSON格式存放在Body属性 |详见每个接口定义
49 |
50 | **公共参数说明:**
51 |
52 | 公共参数(Header)是用于标识产品及接口鉴权的参数,每次请求均需要携带这些参数:
53 |
54 | 参数名称 |类型 |出现要求 |描述
55 | :---- |:--- |:------ |:---
56 | Token |string |R |用户登录后token,没有登录则为空字符串
57 | Version |string |R |接口版本号
58 | SystemId |int |R |机构号,请求的系统Id
59 | Timestamp |long |R |当前UNIX时间戳
60 |
61 |
62 | #### 1.6.3 校验流程:
63 | 服务端接收到请求后首先对RequestData进行DES解密出JSON字符串,然后对JSON字符串进行MD5加密,加密后的值与请求中的SignData值进行对比,如对比通过,视为合法请求,否则视为非法请求。
64 |
65 | **DES加密/解密函数示例:**
66 |
67 | C#版:
68 |
69 | ```
70 | ///
71 | /// 进行DES加密。
72 | ///
73 | /// 要加密的字符串。
74 | /// 密钥,且必须为8位。
75 | /// 以Base64格式返回的加密字符串。
76 | public static string DesEncrypt(string decryptString, string secretKey)
77 | {
78 | using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
79 | {
80 | byte[] inputByteArray = Encoding.UTF8.GetBytes(decryptString);
81 | des.Key = Encoding.ASCII.GetBytes(secretKey);
82 | des.IV = Encoding.ASCII.GetBytes(secretKey);
83 | MemoryStream ms = new MemoryStream();
84 | using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
85 | {
86 | cs.Write(inputByteArray, 0, inputByteArray.Length);
87 | cs.FlushFinalBlock();
88 | cs.Close();
89 | }
90 | string str = Convert.ToBase64String(ms.ToArray());
91 | ms.Close();
92 | return str;
93 | }
94 | }
95 |
96 | ///
97 | /// 进行DES解密。
98 | ///
99 | /// 要解密的以Base64
100 | /// 密钥,且必须为8位。
101 | /// 已解密的字符串。
102 | public static string DesDecrypt(string encryptedString, string secretKey)
103 | {
104 | byte[] inputByteArray = Convert.FromBase64String(encryptedString);
105 | using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
106 | {
107 | des.Key = Encoding.ASCII.GetBytes(secretKey);
108 | des.IV = Encoding.ASCII.GetBytes(secretKey);
109 | MemoryStream ms = new MemoryStream();
110 | using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
111 | {
112 | cs.Write(inputByteArray, 0, inputByteArray.Length);
113 | cs.FlushFinalBlock();
114 | cs.Close();
115 | }
116 | string str = Encoding.UTF8.GetString(ms.ToArray());
117 | ms.Close();
118 | return str;
119 | }
120 | }
121 | ```
122 |
123 | JAVA版:
124 |
125 | ```
126 | /* DES解密 */
127 | public static String decrypt(String message, String key) throws Exception {
128 |
129 | byte[] bytesrc = Base64.decode(message);
130 | //convertHexString(message);
131 | Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
132 | DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
133 | SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
134 | SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
135 | IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
136 | cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
137 | byte[] retByte = cipher.doFinal(bytesrc);
138 | return new String(retByte);
139 | }
140 |
141 |
142 | /* DES加密 */
143 | public static byte[] encrypt(String message, String key) throws Exception {
144 | Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
145 | DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
146 | SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
147 | SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
148 | IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
149 | cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
150 | return cipher.doFinal(message.getBytes("UTF-8"));
151 | }
152 | ```
153 |
154 | #### 1.6.4 DES密钥
155 |
156 | 测试环境:az2ih1uY
157 |
158 | 生产环境:另外提供。
159 |
160 | #### 1.6.5 请求报文示例
161 | 请求内容明文:
162 |
163 | ```
164 | {
165 | "Header":{
166 | "Token":"2366CF921FAD44CCBB07FF9CD02FC90E",
167 | "Version":"3.2.0",
168 | "SystemId":100,
169 | "Timestamp":1502870664
170 | },
171 | "Body":{
172 | "Mobile":"18520322032",
173 | "Password":"acb000000"
174 | }
175 | }
176 |
177 | ```
178 |
179 | 请求报文示例:
180 |
181 | ```
182 | url?RequestData=UFAYIRF21XzGoaAaEU54qoDBYaFkT2KbRpWxKZuqqltApdIneF7AjlEArPLsg3%2Fo1Pu7FHFmsKZn%0A9KJb%2BGuwx0P%2F3jzv2TgwUpVtgwEdfd0vIRfqEF4jCouldaxxVBjbHvd%2F08pUoYJDNZJLvNrJ%2BsK4%0A79de92T0Cyu4hKNMUPtVI7Tp0IC%2BBw%3D%3D&SignData=0865c7d625f90d3bb5457f5d9ac3725d
183 | ```
184 |
185 | ### 1.7 响应报文结构
186 | #### 1.7.1 结构说明
187 | 所有接口响应均采用JSON格式,如无特殊说明,每次请求的返回值中,都包含下列字段:
188 |
189 | 参数名称 |类型 |出现要求 |描述
190 | :---- |:--- |:------ |:---
191 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
192 | Msg |string |R |响应描述
193 | Data |object |R |每个接口特有的参数,详见每个接口定义
194 |
195 |
196 | #### 1.7.2 响应报文示例
197 |
198 | ```
199 | {
200 | "Code":200,
201 | "Msg":"调用成功",
202 | "Data":{
203 | "Channel":"A10086",
204 | "Type":7004
205 | }
206 | }
207 | ```
208 |
209 |
210 | ## 2. 接口定义
211 |
212 | ### 2.1 密码登录
213 | - **接口说明:** 密码登录
214 | - **接口地址:** /account/signin
215 |
216 | #### 2.1.1 请求参数
217 |
218 | 参数名称 |类型 |出现要求 |描述
219 | :---- |:--- |:------ |:---
220 | Header | |R |请求报文头
221 | Token |string |R |用户登录后token,没有登录则为空字符串
222 | Version |string |R |接口版本号
223 | SystemId |int |R |机构号,请求的系统Id
224 | Timestamp |long |R |当前UNIX时间戳
225 | Body | |R |
226 | Mobile |string |R |手机号
227 | Password |string |R |密码
228 |
229 |
230 | 请求示例:
231 |
232 | ```
233 | {
234 | "Header":{
235 | "Token":"",
236 | "Version":"3.2.0",
237 | "SystemId":100,
238 | "Timestamp":1502870664
239 | },
240 | "Body":{
241 | "Mobile":"18520322032",
242 | "Password":"acb000000"
243 | }
244 | }
245 |
246 | ```
247 |
248 |
249 | #### 2.1.2 返回结果
250 |
251 | 参数名称 |类型 |出现要求 |描述
252 | :---- |:--- |:------ |:---
253 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
254 | Msg |string |R |
255 | Data |object |R |
256 | UserId |string |R |用户Id
257 |
258 | 示例:
259 |
260 | ```
261 | {
262 | "Code":200,
263 | "Msg":"登录成功",
264 | "Data":{
265 | "UserId":"7D916C7283434955A235C17DD9B71C64"
266 | }
267 | }
268 | ```
269 |
270 |
271 |
272 | ### 2.2 获取登录用户信息
273 | - **接口说明:** 获取登录用户信息
274 | - **接口地址:** /account/profile
275 |
276 | #### 2.2.1 请求参数
277 |
278 | 参数名称 |类型 |出现要求 |描述
279 | :---- |:--- |:------ |:---
280 | Header | |R |请求报文头
281 | Token |string |R |用户登录后token,没有登录则为空字符串
282 | Version |string |R |接口版本号
283 | SystemId |int |R |机构号,请求的系统Id
284 | Timestamp |long |R |当前UNIX时间戳
285 | Body | |R |
286 |
287 |
288 |
289 | 请求示例:
290 |
291 | ```
292 |
293 | {
294 | "Header":{
295 | "Token":"CA64A439E7C344B0BA7F5C825E17C7AB",
296 | "Version":"3.2.0",
297 | "SystemId":100,
298 | "Timestamp":1502870664
299 | },
300 | "Body":null
301 | }
302 |
303 | ```
304 |
305 |
306 | #### 2.2.2 返回结果
307 |
308 | 参数名称 |类型 |出现要求 |描述
309 | :---- |:--- |:------ |:---
310 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
311 | Msg |string |R |
312 | Data |object |R |
313 | UserId |string |R |用户Id
314 | RealName |string |R |姓名
315 | ImageUrl |string |R |头像
316 | Score |int |R |积分
317 | Nickname |string |R |昵称
318 | Sex |int |R |性别:0-未知、1-男、2-女
319 | Title |string |R |头衔
320 |
321 |
322 | 示例:
323 |
324 | ```
325 | {
326 | "Code":200,
327 | "Msg":"处理成功",
328 | "Data":{
329 | "UserId":"7D916C7283434955A235C17DD9B71C64",
330 | "RealName":"张三",
331 | "ImageUrl":"https://img.xx.net/afdicew8751.png",
332 | "Score":4732,
333 | "Nickname":"张冠李戴",
334 | "Sex":1,
335 | "Title":"侠客Lv4"
336 | }
337 | }
338 | ```
339 |
340 |
341 | ## 3 附录A 响应码说明
342 |
343 | 响应码 |说明
344 | :---- |:---
345 | 200 |处理成功
346 | 301 |解析报文错误
347 | 302 |无效调用凭证
348 | 303 |参数不正确
349 | 500 |系统内部错误
350 | 999 |处理失败
351 |
352 |
353 | ## 4 附录B 币种
354 |
355 | 币种 |说明
356 | :---- |:---
357 | RMB |人民币
358 | HKD |港币
359 | JPY |日元
360 | TWD |新台币
361 | USD |美元
362 | VND |越南盾
363 | THB |泰铢
364 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AA公司BC平台接口文档 v3.2.0
2 |
3 |
4 | ## 1 规范说明
5 |
6 | ### 1.1 通信协议
7 |
8 | HTTPS协议
9 |
10 | ### 1.2 请求方法
11 | 所有接口只支持POST方法发起请求。
12 |
13 | ### 1.3 字符编码
14 | HTTP通讯及报文BASE64编码均采用UTF-8字符集编码格式。
15 |
16 | ### 1.4 格式说明
17 | 元素出现要求说明:
18 |
19 | 符号 |说明
20 | :----: |:---
21 | R |报文中该元素必须出现(Required)
22 | O |报文中该元素可选出现(Optional)
23 | C |报文中该元素在一定条件下出现(Conditional)
24 |
25 | ### 1.5 报文规范说明
26 |
27 | 1. 报文规范仅针对交易请求数据进行描述;
28 |
29 | 2. 报文规范中请求报文的内容为Https请求报文中RequestData值的明文内容;
30 |
31 | 3. 报文规范分为请求报文和响应报文。请求报文描述由发起方,响应报文由报文接收方响应。
32 |
33 | ### 1.6 请求报文结构
34 | 接口只接收两个参数 **RequestData** 和 **SignData** ,其中RequestData的值为请求内容,SignData的值为签名内容。
35 |
36 | #### 1.6.1 参数说明
37 | **RequestData(请求内容):** 其明文为每次请求的具体参数,采用 JSON 格式,依次经过 DES 加密(以UTF-8编码、BASE64编码输出结果)和 URLEncode 后,作为 RequestData 的值。
38 |
39 | **SignData(签名内容):** 请求参数(明文)的MD5加密字符串,用于校验RequestData是否合法。
40 |
41 | #### 1.6.2 请求内容(RequestData)明文结构说明
42 |
43 | 采用JSON格式,其中包含Header(公有参数)、Body(私有参数)节点:
44 |
45 | 名称 |描述 |备注
46 | :-- |:-- |:--
47 | 公共参数 |每个接口都包含的通用参数,以JSON格式存放在Header属性 |详见以下公共参数说明
48 | 私有参数 |每个接口特有的参数,以JSON格式存放在Body属性 |详见每个接口定义
49 |
50 | **公共参数说明:**
51 |
52 | 公共参数(Header)是用于标识产品及接口鉴权的参数,每次请求均需要携带这些参数:
53 |
54 | 参数名称 |类型 |出现要求 |描述
55 | :---- |:--- |:------ |:---
56 | Token |string |R |用户登录后token,没有登录则为空字符串
57 | Version |string |R |接口版本号
58 | SystemId |int |R |机构号,请求的系统Id
59 | Timestamp |long |R |当前UNIX时间戳
60 |
61 |
62 | #### 1.6.3 校验流程:
63 | 服务端接收到请求后首先对RequestData进行DES解密出JSON字符串,然后对JSON字符串进行MD5加密,加密后的值与请求中的SignData值进行对比,如对比通过,视为合法请求,否则视为非法请求。
64 |
65 | **DES加密/解密函数示例:**
66 |
67 | C#版:
68 |
69 | ```
70 | ///
71 | /// 进行DES加密。
72 | ///
73 | /// 要加密的字符串。
74 | /// 密钥,且必须为8位。
75 | /// 以Base64格式返回的加密字符串。
76 | public static string DesEncrypt(string decryptString, string secretKey)
77 | {
78 | using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
79 | {
80 | byte[] inputByteArray = Encoding.UTF8.GetBytes(decryptString);
81 | des.Key = Encoding.ASCII.GetBytes(secretKey);
82 | des.IV = Encoding.ASCII.GetBytes(secretKey);
83 | MemoryStream ms = new MemoryStream();
84 | using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
85 | {
86 | cs.Write(inputByteArray, 0, inputByteArray.Length);
87 | cs.FlushFinalBlock();
88 | cs.Close();
89 | }
90 | string str = Convert.ToBase64String(ms.ToArray());
91 | ms.Close();
92 | return str;
93 | }
94 | }
95 |
96 | ///
97 | /// 进行DES解密。
98 | ///
99 | /// 要解密的以Base64
100 | /// 密钥,且必须为8位。
101 | /// 已解密的字符串。
102 | public static string DesDecrypt(string encryptedString, string secretKey)
103 | {
104 | byte[] inputByteArray = Convert.FromBase64String(encryptedString);
105 | using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
106 | {
107 | des.Key = Encoding.ASCII.GetBytes(secretKey);
108 | des.IV = Encoding.ASCII.GetBytes(secretKey);
109 | MemoryStream ms = new MemoryStream();
110 | using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
111 | {
112 | cs.Write(inputByteArray, 0, inputByteArray.Length);
113 | cs.FlushFinalBlock();
114 | cs.Close();
115 | }
116 | string str = Encoding.UTF8.GetString(ms.ToArray());
117 | ms.Close();
118 | return str;
119 | }
120 | }
121 | ```
122 |
123 | JAVA版:
124 |
125 | ```
126 | /* DES解密 */
127 | public static String decrypt(String message, String key) throws Exception {
128 |
129 | byte[] bytesrc = Base64.decode(message);
130 | //convertHexString(message);
131 | Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
132 | DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
133 | SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
134 | SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
135 | IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
136 | cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
137 | byte[] retByte = cipher.doFinal(bytesrc);
138 | return new String(retByte);
139 | }
140 |
141 |
142 | /* DES加密 */
143 | public static byte[] encrypt(String message, String key) throws Exception {
144 | Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
145 | DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
146 | SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
147 | SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
148 | IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
149 | cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
150 | return cipher.doFinal(message.getBytes("UTF-8"));
151 | }
152 | ```
153 |
154 | #### 1.6.4 DES密钥
155 |
156 | 测试环境:az2ih1uY
157 |
158 | 生产环境:另外提供。
159 |
160 | #### 1.6.5 请求报文示例
161 | 请求内容明文:
162 |
163 | ```
164 | {
165 | "Header":{
166 | "Token":"2366CF921FAD44CCBB07FF9CD02FC90E",
167 | "Version":"3.2.0",
168 | "SystemId":100,
169 | "Timestamp":1502870664
170 | },
171 | "Body":{
172 | "Mobile":"18520322032",
173 | "Password":"acb000000"
174 | }
175 | }
176 |
177 | ```
178 |
179 | 请求报文示例:
180 |
181 | ```
182 | url?RequestData=UFAYIRF21XzGoaAaEU54qoDBYaFkT2KbRpWxKZuqqltApdIneF7AjlEArPLsg3%2Fo1Pu7FHFmsKZn%0A9KJb%2BGuwx0P%2F3jzv2TgwUpVtgwEdfd0vIRfqEF4jCouldaxxVBjbHvd%2F08pUoYJDNZJLvNrJ%2BsK4%0A79de92T0Cyu4hKNMUPtVI7Tp0IC%2BBw%3D%3D&SignData=0865c7d625f90d3bb5457f5d9ac3725d
183 | ```
184 |
185 | ### 1.7 响应报文结构
186 | #### 1.7.1 结构说明
187 | 所有接口响应均采用JSON格式,如无特殊说明,每次请求的返回值中,都包含下列字段:
188 |
189 | 参数名称 |类型 |出现要求 |描述
190 | :---- |:--- |:------ |:---
191 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
192 | Msg |string |R |响应描述
193 | Data |object |R |每个接口特有的参数,详见每个接口定义
194 |
195 |
196 | #### 1.7.2 响应报文示例
197 |
198 | ```
199 | {
200 | "Code":200,
201 | "Msg":"调用成功",
202 | "Data":{
203 | "Channel":"A10086",
204 | "Type":7004
205 | }
206 | }
207 | ```
208 |
209 |
210 | ## 2. 接口定义
211 |
212 | ### 2.1 密码登录
213 | - **接口说明:** 密码登录
214 | - **接口地址:** /account/signin
215 |
216 | #### 2.1.1 请求参数
217 |
218 | 参数名称 |类型 |出现要求 |描述
219 | :---- |:--- |:------ |:---
220 | Header | |R |请求报文头
221 | Token |string |R |用户登录后token,没有登录则为空字符串
222 | Version |string |R |接口版本号
223 | SystemId |int |R |机构号,请求的系统Id
224 | Timestamp |long |R |当前UNIX时间戳
225 | Body | |R |
226 | Mobile |string |R |手机号
227 | Password |string |R |密码
228 |
229 |
230 | 请求示例:
231 |
232 | ```
233 | {
234 | "Header":{
235 | "Token":"",
236 | "Version":"3.2.0",
237 | "SystemId":100,
238 | "Timestamp":1502870664
239 | },
240 | "Body":{
241 | "Mobile":"18520322032",
242 | "Password":"acb000000"
243 | }
244 | }
245 |
246 | ```
247 |
248 |
249 | #### 2.1.2 返回结果
250 |
251 | 参数名称 |类型 |出现要求 |描述
252 | :---- |:--- |:------ |:---
253 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
254 | Msg |string |R |
255 | Data |object |R |
256 | UserId |string |R |用户Id
257 |
258 | 示例:
259 |
260 | ```
261 | {
262 | "Code":200,
263 | "Msg":"登录成功",
264 | "Data":{
265 | "UserId":"7D916C7283434955A235C17DD9B71C64"
266 | }
267 | }
268 | ```
269 |
270 |
271 |
272 | ### 2.2 获取登录用户信息
273 | - **接口说明:** 获取登录用户信息
274 | - **接口地址:** /account/profile
275 |
276 | #### 2.1.1 请求参数
277 |
278 | 参数名称 |类型 |出现要求 |描述
279 | :---- |:--- |:------ |:---
280 | Header | |R |请求报文头
281 | Token |string |R |用户登录后token,没有登录则为空字符串
282 | Version |string |R |接口版本号
283 | SystemId |int |R |机构号,请求的系统Id
284 | Timestamp |long |R |当前UNIX时间戳
285 | Body | |R |
286 |
287 |
288 |
289 | 请求示例:
290 |
291 | ```
292 |
293 | {
294 | "Header":{
295 | "Token":"CA64A439E7C344B0BA7F5C825E17C7AB",
296 | "Version":"3.2.0",
297 | "SystemId":100,
298 | "Timestamp":1502870664
299 | },
300 | "Body":null
301 | }
302 |
303 | ```
304 |
305 |
306 | #### 2.1.2 返回结果
307 |
308 | 参数名称 |类型 |出现要求 |描述
309 | :---- |:--- |:------ |:---
310 | Code |int |R |响应码,代码定义请见“附录A 响应吗说明”
311 | Msg |string |R |
312 | Data |object |R |
313 | UserId |string |R |用户Id
314 | RealName |string |R |姓名
315 | ImageUrl |string |R |头像
316 | Score |int |R |积分
317 | Nickname |string |R |昵称
318 | Sex |int |R |性别:0-未知、1-男、2-女
319 | Title |string |R |头衔
320 |
321 |
322 | 示例:
323 |
324 | ```
325 | {
326 | "Code":200,
327 | "Msg":"处理成功",
328 | "Data":{
329 | "UserId":"7D916C7283434955A235C17DD9B71C64",
330 | "RealName":"张三",
331 | "ImageUrl":"https://img.xx.net/afdicew8751.png",
332 | "Score":4732,
333 | "Nickname":"张冠李戴",
334 | "Sex":1,
335 | "Title":"侠客Lv4"
336 | }
337 | }
338 | ```
339 |
340 |
341 | ## 3 附录A 响应码说明
342 |
343 | 响应码 |说明
344 | :---- |:---
345 | 200 |处理成功
346 | 301 |解析报文错误
347 | 302 |无效调用凭证
348 | 303 |参数不正确
349 | 500 |系统内部错误
350 | 999 |处理失败
351 |
352 |
353 | ## 4 附录B 币种
354 |
355 | 币种 |说明
356 | :---- |:---
357 | RMB |人民币
358 | HKD |港币
359 | JPY |日元
360 | TWD |新台币
361 | USD |美元
362 | VND |越南盾
363 | THB |泰铢
364 |
--------------------------------------------------------------------------------