一、调用介绍
到家通过HTTP协议POST方式调用商家接口。
性能要求: TP99 <200ms,TPS>1000, 最长响应时间超时阀值为3s。
注:本文档中定义的接口,仅限于京东秒送APP 1.4(含) 以后版本终端应用。
对于京东秒送APP 1.4以前版本的终端用户,商家需要通过开放平台订单查询接口获取订单,不需要回执订单服务状态(接单、开始服务、结束服务)操作。
到家通过HTTP协议POST方式调用商家接口。
性能要求: TP99 <200ms,TPS>1000, 最长响应时间超时阀值为3s。
注:本文档中定义的接口,仅限于京东秒送APP 1.4(含) 以后版本终端应用。
对于京东秒送APP 1.4以前版本的终端用户,商家需要通过开放平台订单查询接口获取订单,不需要回执订单服务状态(接单、开始服务、结束服务)操作。
环境入口释义:调用API时,需要传入如下地址,获取相应环境下的数据。
http调用入口地址:http://xxx.xxx.xxx/xxx/接口名,(其中红色部分商家自定义)。
商家侧开发消息接收接口,须严格按照开放平台签名规则开发,以下签名示例,仅供参考。
调用API时,必须传入系统级参数和对应的应用级参数。各个API的输入参数和返回结果详见API文档。
①系统级参数
字段 |
类型 |
是否必须 |
描述 |
token |
String |
是 |
采用OAuth授权方式为必填参数。 |
app_key |
String |
是 |
应用的app_key |
sign |
String |
是 |
签名 |
timestamp |
String |
是 |
时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2011-06-16 13:23:30。京东API服务端允许客户端请求时间误差为6分钟 |
format |
String |
是 |
暂时只支持json |
v |
String |
是 |
API协议版本,可选值:1.0. |
②如下为应用级参数拼装(拼装示例 ,仅供参考)
字段 |
描述 |
|
示例值 |
jd_param_json |
String |
标准json 类型 |
{ |
调用API时需要对请求参数进行签名,服务器端会验证请求参数是否合法。
加密规则
①
所有请求参数按照字母先后顺序排列
例如:将token,app_key,timestamp,format,v
排序为app_key,format,timestamp,token,v
② 把所有参数名和参数值进行拼装
例如:app_keyxxxformatxxxxtimestampxxxxxxtokenxxxvx
③
把appSecret夹在字符串的两端
例如:appSecret+XXXX+appSecret
④ 使用MD5进行加密,再转化成大写
示例(以下示例只体现逻辑)
调用http://xxxx.xxx.xxx/xxx/接口名
,假设app_key=yourappkey、appSecret=yourappSecret、token=yourtoken
1) 输入参数
token=yourtoken
app_key=yourappkey
timestamp=2011-07-20
11:10:04
format=json
v=1.0
jd_param_json=
{
"itemCode":"10023351",
"cityCode ":"10,
"longitude":
"116.46",
"latitude":"39.92",
}
2) 把参数按照字母顺序排列
app_key=yourappkey
format=json
jd_param_json=
{
"cityCode":"10",
"itemCode":"10023351",
"latitude":
"39.92",
"longitude":"116.46",
}
timestamp=2011-07-20 11:10:04
token=yourtoken
v=1.0
3) 连接参数名与参数值,并在首尾加上appSecret
4) MD5加密后转成大写:EDBE87FB9640EDD681FEBC79D858AAC0
注:
①以上字符串不允许有跨行,粘贴时请特别注意,除日期和时间中间的空格之外,不允许在其它位置出现空格。
②时间戳 timestamp最好就填写当前时间的前几分钟(必须在6分钟之内)
③反向签名验证时,在接收到的jd_param_json值,当成普通字符串,不要解析成array,然后直接参与签名运算
• 所有的API请求和响应数据编码皆为UTF-8格式(切勿转成unicode编码),如采用Get方式请求,URL里的所有参数值在发送请求时请做UrlEncoder处理。
• API请求的应用级参数需要转换成json格式,例如:jd_param_json={"return_id":"20032","trade_no":"20032"}
• json格式应为标准的json
• 目前只支持返回结果是json格式
• 所有API请求和响应内的日期格式都为yyyy-MM-dd HH:mm:ss,注意小时格式是24小时制,例如:2011-07-21 20:23:30
• 签名方式为 md5(appsecret + key+ value .... key + value+appsecret)然后转大写字母,其中key、value对是除签名所有请求参数按key做的升序排列,value无需编码。
错误码 | 描述 |
0 | 操作成功 |
-1 | 操作失败 |
10005 | 必填项参数未填 |
10013 | 无效Token令牌 |
10014 | 无效Sign签名 |
10015 | API参数异常 |
10018 | 不存在的方法名 |
10090 | 不存在的服务 |
10091 | 不存在的城市 |
10092 | 不存在的服务范围 |
10093 | 不支持购物车模式 |
10099 | 获取供应商手艺人失败 |
10100 | 获取供应商库存失败 |
10101 | 锁定库存失败 (指定时间无库存) |
10102 | 锁定库存失败(指定手艺人不可用) |
10103 | 锁定库存失败(订单重复,此事件地点已确认此服务) |
10104 | 锁定库存失败 (其它) |
10105 | 解锁库存失败 |
10106 | 确认订单失败(订单超过锁定时间) |
10107 | 确认订单失败(指定时间无库存) |
10108 | 确认订单失败(指定手艺人不可用) |
10109 | 确认订单失败 (其它) |
10110 | 重复锁定库存 |
10111 | 重复解锁库存 |
10112 | 重复确认订单 |