京东API接入流程文档 商家版.docx
- 文档编号:5696048
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:18
- 大小:495.03KB
京东API接入流程文档 商家版.docx
《京东API接入流程文档 商家版.docx》由会员分享,可在线阅读,更多相关《京东API接入流程文档 商家版.docx(18页珍藏版)》请在冰豆网上搜索。
京东API接入流程文档商家版
JOS接入流程文档(商家专用)
一、应用申请流程
1.注册成为开发者
请访问:
沙箱环境地址:
正式环境地址:
(1)访问开发者中心,点击”申请成为开发者“,开始申请流程
(2)用京东账户登录,没有京东账户则注册一个京东账户
(3)登录成功后,完善注册信息
(4)提交,申请成功!
(5)然后进入我的开发中心
2.创建应用
(1)在开发者中心,点击“创建应用”
(2)填写应用名称,选择应用类型
通用应用:
此应用ISV和商家都可以使用(针对的ISV的应用需要商家进行授权,商家不需要提供用户名和密码给第三方开发者)
商家应用:
此应用只有商家可以使用
(3)保存成功,可申请上线
1.通用应用:
2.商家应用说明:
(请选择您所需要的应用)
3.管理应用
(1)在开发者中心,点击“管理应用”
(2)进入应用列表,点击“编辑”
(3)进入应用详情,这里可以查询应用的相关密钥,及修改相关信息。
请保留appkey和appsecret到oauth授权认证用到
appkey与appsecrect释义:
appkey:
JOS京东开放平台颁发的唯一标识一个应用的ID号,该appkey可在开发者中心创建应用后获取,appSecret:
(应用密钥,不可对外公开,商家需注意保密,调用API的时候需要使用,可以通过该密钥获得的商家所有数据)。
(4)修改应用信息
二、Oauth授权认证
访问地址:
沙箱环境地址:
正式环境地址:
注意事项:
请不要将地址直接贴于地址栏访问,否者提示您:
“异常访问”
请不要沙箱环境和正式环境穿插调用。
前言:
如果您的应用和京东的JOS对接后,需要获取一些与用户紧密相关的信息(如订单、商品、促销等),为保证数据的安全性和隐私性,需要取得用户的同意,引导用户授权。
JOS采用国际通用的OAuth2.0标准协议,支持网站、桌面客户端、ERP系统。
如果要了解更多关于OAuth2.0的技术说明,请参考官方网站目前,JOS的OAuth2.0支持以下方式获取AccessToken:
注意:
所有授权流程都不需要商家提供用户名、密码给第三方开发者,商家请保护好自己的账号安全
1.Server-sideflow(B/S)
此授权指对应用标签中的:
“商家应用(京东商家应用)”里的“WEB应用(B/S)”
Ø通过用户授权获取授权码Code
获取授权码参数
参数名称
参数选项
描述
response_type
必须
此流程下,该值固定为code
client_id
必须
即创建应用时的Appkey(从开发者中心申请的应用中获取)
redirect_uri
必须
应用的回调地址,必须和应用的callback主域名匹配。
state
可选
状态参数,由应用自定义,颁发授权后会原封不动返回
scope
否(短授权为必须)
权限参数,API组名串,多个组名时,用“,”分隔,目前支持参数:
read
(注意此地址需要拼参不能直接访问)(详细请参考oauth文档)示例:
✧用户登陆
输入用户名和密码点击登录按钮跳转到授权页面
✧授权
点击授权按钮跳转到回调页面
✧若用户选择“授权“,则页面跳转至应用的回调地址,同时返回授权码code以及state参数(code不能重复使用,下次使用需要重新获取)
Ø用上一步获取的Code和应用密钥(AppSecret)通过HttpPost方式换取Token
获取访问令牌参数
参数名称
参数选项
描述
grant_type
必须
授权类型,此流程下,该值固定为authorization_code
code
必须
授权请求中的授权码
redirect_uri
必须
应用的回调地址,必须和应用的callback主域名匹配。
client_id
必须
即Appkey(从开发者中心申请的应用中获取)
client_secret
必须
即Appsecret(从开发者中心申请的应用中获取)
scope
否(短授权为必须)
权限参数,API组名串,多个组名时,用“,”分隔,目前支持参数:
read
(注意此地址需要拼参不能直接访问)(详细请参考oauth文档)
示例:
TOP返回的参数如下:
参数名称
参数选项
描述
access_token
用户授权令牌,等价于Sessionkey
access_token
code
返回0,为成功
code
token_type
授权令牌类型,暂做保留参数备用
token_type
expires_in
授权令牌有效期,以秒为单位
expires_in
refresh_token
刷新令牌,当授权令牌过期时,可以刷新access_token,如果有获取权限则返回
refresh_token
time
系统时间
time
结果如下:
{
∙"access_token":
"47565790-662f-4b32-8cb7-8b4f984be462",
∙"code":
0,
∙"expires_in":
31104000,
∙"refresh_token":
"71443717-d3ea-40df-9dc1-f7a77b448f91",
∙"time":
"1337674952269",
∙"token_type":
"bearer"
}
2.Passwordflow(C/S)
此授权指对应用标签中的:
“商家应用(京东商家应用)”里的“客服端应用(C/S)”
请将您的商家店铺名和商家Id以及联系方式发送到邮箱获取C/S授权方式:
jos@
3.调用API接口
1.准备调用接口所需要的数据
访问地址:
沙箱环境地址:
正式环境地址:
SERVER_URL地址:
请写相对应的地址
示例:
access_token:
从OAuth授权认证中获取
app_key:
从开发者中心申请的应用的“京东证书”中获取
sign:
请参考签名说明
调用示例:
接口名称360buy.order.search
Ø功能说明
根据条件检索订单信息
Ø系统级别输入参数
名称
类型
是否必须
描述
method
String
是
API接口名称
access_token
String
是
采用OAuth授权方式为必填参数
app_key
String
是
应用的app_key
sign
String
是
签名
timestamp
String
是
时间戳,格式为yyyy-MM-ddHH:
mm:
ss,例如:
2011-06-1613:
23:
30。
京东API服务端允许客户端请求时间误差为6分钟
format
String
否
暂时只支持json
v
String
是
API协议版本,可选值:
2.0.
Ø应用级输入参数
名称
类型
是否必须
示例值
描述
start_date
String
否
2010-12-2017:
15:
00
开始时间和结束时间不得相差超过1个月
end_date
String
否
2010-12-2017:
15:
00
开始时间和结束时间不得相差超过1个月
order_state
String
是
WAIT_SELLER_STOCK_OUT
每个订单状态以逗号分隔,(该接口只提供三个状态,WAIT_SELLER_STOCK_OUT等待出库,WAIT_SELLER_DELIVERY等待发货(只适用于SOP商家),TRADE_CANCELED取消)
page
String
是
1
查询的页数
page_size
String
是
12
每页的条数(最大page_size100条)
optional_fields
String
否
商家希望返回的订单的信息字段,每个字段以逗号分隔
2.SDK调用示例(java)
publicJdClientclient=newDefaultJdClient(SERVER_URL,
"c7b82199-f26d-459e-a4b3-d6f6cec4b869",”36AB8642CCEF66293AD391EE7E4E9515”,”0da953632d0a4741beb0bbd096214605”);
OrderSearchRequestrequest=newOrderSearchRequest();
request.setStartDate("2012-01-1012:
12:
23");
request.setEndDate("2012-02-2012:
13:
13");
request.setOrderState("WAIT_SELLER_STOCK_OUT");
request.setPage("1");
request.setPageSize("100");
request.setOptionalFields("vender_id,order_id,pay_type");
OrderSearchResponseresponse=client.execute(request);
3.url请求方式示例
4.签名说明
1、系统级输入参数
名称
类型
是否必须
描述
示例值
默认值
method
String
是
API接口名称
method
String
access_token
String
是
采用OAuth授权方式为必填参数
access_token
String
app_key
String
是
应用的app_key
app_key
String
timestamp
String
是
时间戳,格式为yyyy-MM-ddHH:
mm:
ss,例如:
2011-06-1613:
23:
30。
京东API服务端允许客户端请求时间误差为6分钟
无
v
String
是
API协议版本,可选值:
2.0。
无
2、应用级输入参数
名称
类型
描述
示例
360buy_param_json
String
标准json类型,而且是按照字母先后顺序排序的
{
"end_date":
"2012-05-1617:
03:
56",
"optional_fields":
"vender_id,
order_id,pay_type,order_total_price,
freight_price,seller_discount,
order_payment,delivery_type,order_state,
order_state_remark,invoice_info,order_remark,
order_start_time,order_end_time,consignee_info,item_info_list",
"order_state":
"WAIT_SELLER_STOCK_OUT",
"page":
"1",
"page_size":
"20",
"start_date":
"2012-05-1417:
03:
56"
}
3、加密规则:
a)所有请求参数按照字母先后顺序排序
例如:
将access_token,app_key,method,timestamp,v排序为
access_token,app_key,method,timestamp,v)
b)把所有参数名和参数值串在一起
例如:
access_tokenxxxapp_keyxxxmethodxxxxxxtimestampxxxxxxvx
c)把appSecret夹在字符串的两端
例如:
appSecret+XXXX+appSecret
d)使用MD5进行加密,再转化成大写
4、示例:
调用api方法:
360buy.order.search,appSecret:
6d5524eb1c6c4f9caf8c7b430d1fdef9
(1)输入参数:
access_token=ad6c71c3-7fb3-4f7b-8258-9a6413a5bbbf
app_key=7843A398CCE3397EC50C495458F64B64
method=360buy.order.search
timestamp=2011-07-2011:
10:
04
v=2.0
360buy_param_json=
{
"end_date":
"2012-05-1617:
03:
56",
"optional_fields":
"vender_id,
order_id,pay_type,order_total_price,freight_price,seller_discount,order_payment,
delivery_type,order_state,order_state_remark,invoice_info,order_remark,order_start_time,
order_end_time,consignee_info,item_info_list",
"order_state":
"WAIT_SELLER_STOCK_OUT",
"page":
"1",
"page_size":
"20",
"start_date":
"2012-05-1417:
03:
56"
}
(2)按照参数名称排序
360buy_param_json=
{
"end_date":
"2012-05-1617:
03:
56",
"optional_fields":
"vender_id,
order_id,pay_type,order_total_price,freight_price,seller_discount,order_payment,delivery_type,
order_state,order_state_remark,invoice_info,order_remark,order_start_time,order_end_time,
consignee_info,item_info_list",
"order_state":
"WAIT_SELLER_STOCK_OUT",
"page":
"1",
"page_size":
"20",
"start_date":
"2012-05-1417:
03:
56"
}
access_token=ad6c71c3-7fb3-4f7b-8258-9a6413a5bbbf
app_key=7843A398CCE3397EC50C495458F64B64
method=360buy.order.search
timestamp=2011-07-2011:
10:
04
v=2.0
(3)连接参数名与参数值,并在首尾加上appSecret
6d5524eb1c6c4f9caf8c7b430d1fdef9360buy_param_json
{
"end_date":
"2012-05-1617:
03:
56",
"optional_fields":
"vender_id,order_id,pay_type,order_total_price,freight_price,seller_discount,
order_payment,delivery_type,order_state,order_state_remark,invoice_info,order_remark,
order_start_time,order_end_time,consignee_info,item_info_list",
"order_state":
"WAIT_SELLER_STOCK_OUT",
"page":
"1",
"page_size":
"20",
"start_date":
"2012-05-1417:
03:
56"
}
access_tokenad6c71c3-7fb3-4f7b-8258-9a6413a5bbbf
app_key7843A398CCE3397EC50C495458F64B64
method360buy.order.search
timestamp2012-05-2213:
21:
44
v2.06d5524eb1c6c4f9caf8c7b430d1fdef9
(4)MD5加密后转成大写:
B7DC8C345645EE9C613283E2ECAD7F34
API调用注意事项
•所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做urlencode编码。
•请求的应用级参数需要转换成json格式,例如:
360buy_param_json={"return_id":
"20032","trade_no":
"20032"},需要以这种方式发送请求
•json格式应标准的json
•目前只支持返回结果是json格式•所有api请求和响应内的日期格式都为yyyy-MM-ddHH:
mm:
ss,注意小时格式是24小时制,例如:
2011-07-2120:
23:
30。
•api接口的错误信息在httpresponsebody内.•签名方式为md5(appsecret+key+value....key+value+appsecret)然后转大写字母,其中key,value对是除签名所有请求参数按key做的升序排列,value无需编码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 京东API接入流程文档 商家版 京东 API 接入 流程 文档 商家
![提示](https://static.bdocx.com/images/bang_tan.gif)