首页 > 开发指南 > 环境介绍

环境介绍

沙箱环境

由于部门协作原因,沙箱环境已有一年多未更新,且不稳定。

请以正式环境调取结果为准,建议在正式环境进行测试。

沙箱环境已部署接口请以“沙箱API工具页面”中的接口为准:

https://gw.api.sandbox.360buy.com/apitools/apitools.action

沙箱环境中,提供了商品查询、订单查询核心功能页面,方便ISV在测试过程中准备数据。沙箱环境数据是完全独立的,使用沙箱环境测试需在沙箱环境中注册沙箱账号点击此处注册沙箱账号


a) Mini
沙箱环境首页:https://mini.sandbox.360buy.com
b) 沙箱接口访问地址:https://gw.api.sandbox.360buy.com/routerjson
c) 沙箱开发者访问地址:https://dev.sandbox.360buy.com
d) 沙箱帮助文档下载:https://bbs.zone.jd.com/forum.php?mod=viewthread&tid=273
e)
沙箱环境授权地址:https://auth.sandbox.360buy.com/oauth/authorize?

3、数据准备

准备的商品数据是"在售状态"的数据,准备的订单是"等待出库"状态的数据,由于准备数据需要5-10分钟,故需要耐心等待下。如果超过10分钟还查询不到商品和订单请联系我们相关人员。

3.1手动下单

进入商品管理中的在售商品管理页面

点击商品名称,进入商品详情页

有销售属性的商品

无销售属性的商品:

点击"加入购物车"按钮,进入到下单页面:

输入相关必填信息后点击"提交订单"按钮,进行下单操作。

进入到订单管理中的订单查询与跟踪页面:

下完订单后需要等到1-10分钟后才能够查询到下的订单,如果10分钟后还查询不到请联系相关人员。

4、接口测试

4.1、申请应用

访问开发者中心https://dev.sandbox.360buy.com


点击【我的JOS】跳转到登录界面:


输入用户名和密码点击【登录】按钮,跳转到完善开发者注册信息界面:


输入相关信息后,点击【提交申请】,跳转到注册成功界面:


点击【前往开发者中心首页】,跳转到开发者中心首页界面:



点击【创建应用】按钮进入到创建应用界面:


通用应用:此应用ISV和商家都可以使用(针对ISV的应用需要商家进行授权才能够调用商家接口,商家不需要提供用户名和密码给第三方开发者)

商家应用:此应用只有商家可以使用

输入相关信息,点击【提交】按钮,跳转到页面:


构建类型是根据商家系统进行选择对应的应用模式。

点击【查看】按钮,可以查询到app key和app secret

请保留appkey 和 appsecret 到oauth授权认证用到

appkey 与appsecrect释义:appkey:JOS京东开放平台颁发的唯一标识一个应用的ID号,该appkey可在开发者中心创建应用后获 取,appSecret:(应用密钥,不可对外公开,商家需注意保密,调用API的时候需要使用,可以通过该密钥获得的商家所有数据)。

输入相关信息后进行保存、申请上线。

说明:商家应用无需审核,ISV提交的应用需要向JOS@JD.COM提交APP KEY,申请审核。


4.2
、oauth授权认证

目前有3种oauth授权认证流程,现采用Authorization Code认证流程作为示例进行说明。(其他授权方式请详见:https://help.360buy.com/jos/question-594.html)

此流程要求ISV应用有Web Server

参数说明:

获取授权码参数

参数名称

参数选项

描述

response_type

必须

此流程下,该值固定为code

client_id

必须

即创建应用时的Appkey (从开发者中心申请的应用中获取)

redirect_uri

必须

应用的回调地址,必须和应用的callback主域名匹配。

state

可选

状态参数,由应用自定义,颁发授权后会原封不动返回

scope

短授权为必须

权限参数,API组名串,多个组名时,用","分隔,目前支持参数:read

获取访问令牌参数

参数名称

参数选项

描述

grant_type

必须

授权类型,此流程下,该值固定为authorization_code

code

必须

授权请求中的授权码

redirect_uri

必须

应用的回调地址,必须和应用的callback主域名匹配。

client_id

必须

即Appkey(从开发者中心申请的应用中获取)

client_secret

必须

即Appsecret(从开发者中心申请的应用中获取)

scope

短授权为必须

权限参数,API组名串,多个组名时,用","分隔,目前支持参数:read

基本流程

1、 引导使用应用的用户,到如下地址:

https://auth.sandbox.360buy.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&state=YOUR_CUSTOM_CODE

2、 接下来是用户登陆授权。

如果用户同意授权,则页面跳转至应用的回调地址,同时返回授权码code以及state参数。

3、用上一步获取的code和注册应用时分配的AppSecret,通过Http Post方式换取Token(访问令牌,即Sessionkey),JOS会以json文本的形式返回响应的值

对于程序,可以参考如下代码获取AccessToken

String url ="https://auth.sandbox.360buy.com/oauth/token?grant_type=authorization_code&client_id="

+appKey

+"&client_secret="+ appSecret

+"&scope=read&redirect_uri=https://"+ url

+"&code="+ code

+"&state=1234";

uri = new URL(url);

HttpURLConnection conn =(HttpURLConnection) uri.openConnection();

conn.setRequestProperty("Accept-Charset","utf-8");

conn.setRequestMethod("POST");

int code = conn.getResponseCode();

InputStream is =conn.getInputStream();

String jsonStr =inputStream2String(is);

StringaccessToken = this.getAccessToken(jsonStr);

最后生成的http请求url如下:

https://auth.sandbox.360buy.com/oauth/token?grant_type=authorization_code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=GET_CODE&state=YOUR_CUSTOM_CODE&client_secret=YOUR_APP_SECRET

可以从http返回结果中,得到AccessToken

4.3出库接口

SERVER_URL地址:https://gw.api.sandbox.360buy.com/routerjson

ACCESSTOKEN:OAUTH授权获得

APPKEY与APPSECRET:在开发者中心注册应用获得

调用示例

接口名称360buy.order.sop.outstorage

功能说明

输入单个订单id,进行sop出库操作

名称

类型

是否必须

描述

method

String

API接口名称

access_token

String

采用OAuth授权方式为必填参数

app_key

String

应用的app_key

sign

String

签名

timestamp

String

时间戳,格式为yyyy-MM-ddHH:mm:ss,例如:2011-06-16 13:23:30。京东API服务端允许客户端请求时间误差为6分钟

format

String

暂时只支持json

v

String

API协议版本,可选值:2.0.

应用级输入参数

名称

类型

是否必须

示例值

描述

order_id

String

123765123

订单id

logistics_id

int

65234

物流公司ID(只可通过获取商家物流公司接口获得)

waybill

String

AFE234223

运单号(当厂家直送时运单号可为空)

trade_no

String


流水号

SDK调用示例(java)

public JdClient client = new DefaultJdClient(SERVER_URL,ACCESSTOKEN,APPKEY,APPSECRET);

OrderSopOutstorageRequest request = new OrderSopOutstorageRequest();

request.setOrderId("500002815");

request.setLogisticsId("463");

request.setWaybill("1828047314");

request.setTradeNo("400f33234423");

OrderSopOutstorageResponse response = client.execute(request);

调用完毕后,进入到订单管理中的订单查询与跟踪页面查询出库的订单:

注:在做接口测试时,预要通过mini沙箱管理后台查询操作的内容则需要等到1-10分钟。





正式环境

线上环境是商家开发完成之后正式上线运行使用的环境。线上环境下接口调用的数据是真实的京东数据,根据应用标签不同,每个应用将受到接口调用次数及流量的限制。