总体规范

总体概述

数据对接采用http请求,默认为post方式。返回的数据结果封装为json格式。

规范约定

字段名统一为小写,方便解析值可以为空的字段,用””代替null

接口统一采用UTF-8编码字段中碰到双引号、冒号、回车应该进行转义。

全局参数

二维火提供的接口请求都需要传入的参数:

字段说明 字段名 类型 举例 可空
签名数字 sign String

默认签名方式见表格后的sign生成流程说明,

eg:0155efdb16b065441a40d7d4513956c9
N
用户key appkey String 由二维火分配给合作方,如:1112123 N
时间戳 timestamp String 当前时间(单位:毫秒),System.currentTimeMillis(),eg:1369638257423 N
版本号 v float 1.0 N
调用的方法 method String   N
应用Id号 appId String 应用Id号, 如:81059038 Y
sessionId sessionId String

登录成功后分配的sessionId,某些方法需要登录后调用,此时在调用

登录方法后会回传sessionId,在后续的方法中传入本字段即可

Y

数字签名sign参数生成流程:

每个客户均由二维火分配给一个appkey和一个secret

Map<String,String> map; //map中为请求中的参数及值,均为key-value形式(包含上述所有参数及值,剔除“sign”、“sessionId”、“callback”、”_“ 四个参数)

map.sortByKey; //对map按key字幕顺序排序

String orignString = map.key1+map.value1+...+map.keyn+map.valuen; //将所有的key和value拼接成一个大的字符串

String secretString = secret + orignString + secret; //头尾加上secretkey

String sign = uppercase(hex(sha1(secretString)); //对sceretString作加密运算,并转大写,得到数字签名串

签名会校验时间戳以及sign,如果(当前时间 - 时间戳)大于有效期(30分钟),则认为URL过时。请确保计算签名时使用的timestamp和form内的timestamp值相同,否则会签名校验不通过。

返回数据格式

字段说明 字段名 类型 可空(Y/N) 举例
状态 success Bool N true/false
数据结果 model T Y 数据结果json中,接口对应的相应结果
错误消息 message String Y 接口返回的错误信息提示
错误码 resultCode String Y 接口返回的错误码提示

例子:

返回成功:

{“success”:true,”model”:[{“orderVo”:{“orderId”:”9918007957b7ecfe0157b80540810029”,”entityId”:”3344”,”openTime”:20161012163222000,”peopleCount”:2,”code”:7,”simpleCode”:”7300102022”,”endTime”:20161013095752000,”orderFrom”:2,”orderType”:1,”planName”:”打包”,”planFee”:1.0}}],”totalRecord”:0}

返回失败: {“success”:false,”resultCode”:”42”,”message”:”服务方法(dfire.shop.order.list:1.0)使用了非法的店铺编号:33441”,”totalRecord”:0}