-
京东电子面单模板及接口对接方法
1.
接口描述
1
)接口支持的消息接收方式:
HTTP POST
2
)请求方法的编码格式
(utf-8)
p>
:
3
)
API
地址:
/Ebusiness/
4
)面单所属快递:京东物流
5
)接口提供:快递鸟
2.
请求系统级参数
参数名称
类型
说明
请求内容需进行
URL(utf-8)
编码。请求内容
JSON
格式,须和
D
ataType
一致。
必须要求
RequestData
String
R
R
R
R
O
EBusinessID
String
商户
ID
,请在
我的服务
页面查看。
RequestType
String
请求指令类型:
1007
DataSign
DataType
String
数据内容签名:把
(<
/p>
请求内容
(
未编码
)+AppKey)
进行
MD5
加密
,然
后
Base64
编码,
最后进行
URL(utf-8)
编码。
详细过程请查看
Demo
。
String
请求、返回数据类型:只支持
JSON
格式
备注:
R-
必填
(
p>
Required
)
,
O-
可选
(
Optional
p>
)
,
C-
报文中该
参数在一定条件下可选
(
Conditional
)
。
3.
接口参数
1
)请求内容字段定义
参数名称
CallBack
MemberID
CustomerName
CustomerPwd
SendSite
ShipperCode
LogisticCode
OrderCode
MonthCode
PayType
ExpType
IsNotice
类型
String
String
String
String
String
String
String
String
String
Int
String
Int
说明
用户自定义回调信息
会员标识
电子面单客户账号(与快递网点申请)
电子面单密码
收件网点标识
快递公司编码
快递单号
订单编号
月结编码
邮费支付方式
:1-
现付,
2-
到付,<
/p>
3-
月结,
4-
第三方支付
快递类型:
1-
标准快件
是否通知快递员上门揽件:
0-
通知;
1-
不通<
/p>
是否必须
O
O
O
O
O
R
O
R
C
R
R
O
知;不填则默认为
0
Cost
OtherCost
Company
Name
Tel
Mobile
Receiver
PostCode
Double
Double
String
String
String
String
String
寄件费(运费)
其他费用
收件人公司
收件人
O
O
O
R
电话与手机,必填一个
R
收件人邮编
收件省(如广东省,不要缺少“省”)
收件市(如深圳市,不要缺少“市”)
O
R
R
ProvinceName
String
CityName
String
ExpAreaName
String
Address
Company
Name
Tel
Mobile
Sender
PostCode
String
String
String
String
String
String
收件区
(如福田区,
不要缺少
“区”
或
“县”
)
O
收件人详细地址
发件人公司
发件人
R
O
R
电话与手机,必填一个
R
发件人邮编
发件省(如广东省,不要缺少“省”)
发件市(如深圳市,不要缺少“市”)
O
R
R
ProvinceName
String
CityName
String
ExpAreaName
String
Address
StartDate
EndDate
Weight
Quantity
Volume
Remark
String
String
String
Double
Int
Double
String
发件区
(如福田区,<
/p>
不要缺少
“区”
或
“县”
)
O
发件人详细地址
R
上门取货时间段
:
O
格式化,本文中所有时间格式相同
物品总重量
kg
件数
/
包裹数
物品总体积
m3
备注
AddServices
O
O
O
O
O
Name
AddService
Value
CustomerID
String
String
String
增值服务名称
增值服务值
客户标识(选填)
Commoditys
O
O
O
Commodity
GoodsName
String
商品名称
R
GoodsCode
String
商品编码
商品数量
商品价格
商品重量
kg
商品描述
商品体积
m3
返回电子面单模板:<
/p>
0-
不需要;
1-
需要
O
O
O
O
O
O
O
Goodsquantity
Int
GoodsPrice
GoodsWeight
GoodsDesc
GoodsVol
IsReturnPrintTemplate
Double
Double
String
Double
String
2
)返回参数定义
参数名称
EBusinessID
OrderCode
ShipperCode
LogisticCode
MarkDestination
OriginCode
OriginName
DestinatioCode
DestinatioName
SortingCode
PackageCode
Success
ResultCode
Reason
UniquerRequestNumber
PrintTemplate
EstimatedDeliveryTime
Callback
类型
String
String
String
String
String
String
String
String
String
String
String
Bool
String
String
String
String
String
String
说明
用户
ID
订单编号
快递公司编码
快递单号
大头笔
始发地区域编码
始发地
/
始发网点
目的地区域编码
目的地
/
到达网点
分拣编码
集包编码
成功与否
错误编码
失败原因
唯一标识
面单打印模板
订单预计到货时间
yyyy-mm-dd
用户自定义回调信息
必须要求
R
R
R
R
O
O
O
O
O
O
O
R
R
O
R
O
O
O
Order
对接源码
import edReader;
import
ption;
import treamReader;
import StreamWriter;
import
ortedEncodingException;
import
LConnection;
import
import
oder;
import p;
import
import 64;
import eDigest;
public class KdGoldAPIDemo {
/**
//
电
商
ID
private String EBusinessID=
请
申
请
//
电
商加密私
钥<
/p>
,注意保管,不要泄漏
private
String AppKey=
请
申
请
//
请
p>
求
url,
正式
环
境地址:
/api/Eorderservice
private String ReqURL=
*
Json
方式
电
子面
单
* @throws
Exception
*/
public String
orderOnlineByJson() throws Exception{
String requestData=
aylor','Mobile':
'','ProvinceName':'
上
海
','CityName':'
上
海
< br>','ExpAreaName':'
青浦区
','Ad
dress':'
明珠路
73
号
'},
北京
','CityName':'
北京
p>
','ExpAreaName':'
朝阳区
','Address':'
三里屯街道雅秀大厦
'},
p>
鞋子
p>
','Goodsquantity':1,'GoodsWeight':1.0}],<
/p>
小心
轻
放
',
}
/**
Map
(
, urlEncoder(requestData,
(
, EBusinessID);
(
,
String
dataSign=encrypt(requestData, AppKey,
(
, urlEncoder(dataSign,
(
,
String result=sendPost(ReqURL, params);
//
根据公司
业务处
理返回的信息
......
return result;
* MD5
加密
* @param str
内容
* @param
charset
编码
方式
* @throws
Exception
*/
@SuppressWarnings(
private
String MD5(String str
, String charset)
throws Exception {
MessageDigest
md = tance(
(str
.getBytes(charset));
byte[] result = ();
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i < i++) {
int val = result[i] & 0xff;
if
(val <= 0xf) {
(
}
(Integer
.toHexString(val));
}
return ng().toLowerCase();
}
/**
*
base64
编码
* @param str
内容
* @param charset
编码
方式
* @throws
UnsupportedEncodingException
*/
private String
base64(String str
, String charset)
throws UnsupportedEncodingException{
}
@SuppressWarnings(
private
String urlEncoder(String str
, String
charset) throws UnsupportedEncodingException{
}
/**
String result =
URLEncoder
.encode(str
,
charset);
return result;
String encoded =
(str
.getBytes(charset));
return encoded;
*
电
商
Si
gn
签
名生成
* @param content
内容
* @param
keyValue Appkey
* @param charset
编码
方式
* @throws
UnsupportedEncodingException ,Exception
* @return
DataSign
签
名
*/
@SuppressWarnings(
private
String
encrypt
(String
content,
String
keyValue,
String
charset)
throws
UnsupportedEncodingException, Exception
{
}
/**
if (keyValue != null)
{
}
return
base64(MD5(content, charset), charset);
return base64(MD5(content + keyValue,
charset), charset);
*
向指定
URL
发
送
POST
方法的
请
求
* @param url
发
p>
送
请
求的
URL
* @param params
请
求的参数集合
* @return
远
程
资
源的响
应结
果
*/
@SuppressWarnings(
private
String sendPost(String url, Map
OutputStreamWriter out =
null;
BufferedReader in = null;
StringBuilder result = new
StringBuilder();
try
{
URL realUrl = new URL(url);
HttpURLConnection conn
=(HttpURLConnection) nnection();
//
发
送
POST
请
求必
须设
置如下两行
utput(true);
nput(true);
//
POST
方法
uestMethod(
//
设
置通用的
请
求属性
uestProperty(
,
uestProperty(
,
uestProperty(
,
uestProperty(
,
t();
//
获
取
URLConnection
对
p>
象
对应
的
输
出流
out = new
OutputStreamWriter(putStream(),
//
发
送
请
求参数
if (params != null) {
StringBuilder
param = new StringBuilder();
for (
if(()>0){
(
}
(());
(
(ue());
n(()+
}
n(
(ng());
}
//
flush
输
出流的
缓
冲
();
//
定
义
BufferedReader<
/p>
输
入流来
读
取<
/p>
URL
的响
应
in = new BufferedReader(
new
InputStreamReader(utStream(),
String line;
while ((line =
ne()) != null) {
(line);
}
} catch (Exception e) {
tackTrace();
}
//<
/p>
使用
finally
块
< br>来关
闭输
出流、
输
入流
finally{
-
-
-
-
-
-
-
-
-
上一篇:00041基础会计学章节习题1-5章
下一篇:《会计基础》各章考试重点