java开源电商系统源码商城对接物流跟踪接口的java源码哪里可以下载?

& & 快递鸟是全球物流接口服务商,为电商 ERP、电商平台、仓储、清关公司提供物流跟踪、电子面单、智选物流、物流金融、在线下单等服务,解决电商的物流管理模块和金融模块。现就对快递鸟电子面单API做基本描述,并提供电子面单接口的对接方式。
一.接口介绍
& & 快递鸟电子面单接口支持四通一达、顺丰、EMS、宅急送、德邦、优速等15家国内常用快递的面单打印。通过快递鸟接口在线打印电子运单,即时生成运单号,无需录单,提高发货效率,提升送达时效。打印速度提升 4-6 倍、省去录单环节、取消抽单环节、充当捡货单、提升送达时效。
传统面单VS电子面单:
打印速度(张/分钟)
机器成本(元/台)
字迹不清晰
标准化打印
是否需要回填单号
无需回填,系统生成运单号直接回填
现行电子面单VS快递鸟电子面单
现行电子面单
快递鸟电子面单
单量要求(件/月)
一般1000以上
是否需要提前买单号
部分快递公司需要
使用时即时申请单号,无需提前购买
二.JAVA对接方式
(1)电子面单接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口。
(2)为客户解决在线发货需求,商户通过网络选择快递公司发送请求通知快递公司有快递要发货。
(3) 客户把数据通过此接口转发到快递鸟,由快递鸟为您安排快递员上门取件的服务。
(4)订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码。
(5)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):&application/x-www-form-charset=utf-8&。
(6)请求系统级参数说明:
RequestData
请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。
EBusinessID
商户ID,请在页面查看。
RequestType
请求指令类型:1007
数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。
请求、返回数据类型:只支持JSON格式
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)。
(7)接口地址:
API测试地址:http://testapi.kdniao.cc:8081/api/EOrderService
API正式地址:http://api.kdniao.cc/api/EOrderService
(8)请求内容字段定义
用户自定义回调信息
CustomerName
电子面单客户账号(与快递网点申请)
CustomerPwd
电子面单密码
收件网点标识
ShipperCode
快递公司编码
LogisticCode
邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付
快递类型:1-标准快件
是否通知快递员上门揽件:0-不通知;1-通知;不填则默认为1
寄件费(运费)
收件人公司
电话与手机,必填一个
收件人邮编
ProvinceName
收件省(如广东省,不要缺少“省”)
收件市(如深圳市,不要缺少“市”)
ExpAreaName
收件区(如福田区,不要缺少“区”或“县”)
收件人详细地址
发件人公司
电话与手机,必填一个
发件人邮编
ProvinceName
发件省(如广东省,不要缺少“省”)
发件市(如深圳市,不要缺少“市”)
ExpAreaName
发件区(如福田区,不要缺少“区”或“县”)
发件人详细地址
上门取货时间段:&yyyy-MM-dd HH:mm:ss&格式化,本文中所有时间格式相同
物品总重量kg
件数/包裹数
物品总体积m3
AddServices
AddService
增值服务名称
增值服务值
CustomerID
客户标识(选填)
Commoditys
Goodsquantity
GoodsPrice
商品价格
GoodsWeight
商品重量kg
商品体积m3
IsReturnPrintTemplate
返回电子面单模板:0-不需要;1-需要
(9)返回参数定义
EBusinessID
ShipperCode
快递公司编码
LogisticCode
MarkDestination
OriginCode
始发地区域编码
OriginName
始发地/始发网点
DestinatioCode
目的地区域编码
DestinatioName
目的地/到达网点
SortingCode
PackageCode
ResultCode
UniquerRequestNumber
PrintTemplate
面单打印模板
EstimatedDeliveryTime
订单预计到货时间yyyy-mm-dd
用户自定义回调信息
(10)JAVA对接示例
注:秘钥需到快递鸟官网申请
import java.io.BufferedR
import java.io.IOE
import java.io.InputStreamR
import java.io.OutputStreamW
import java.io.UnsupportedEncodingE
import java.net.HttpURLC
import java.net.URL;
import java.net.URLE
import java.util.HashM
import java.util.M
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.security.MessageD
* 快递鸟电子面单接口
* @技术QQ:
* @技术QQ群:
* @see: /MiandanAPI.aspx
* @copyright: 深圳市快金数据技术服务有限公司
* ID和Key请到官网申请:/ServiceApply.aspx
public class KdGoldAPIDemo {
private String EBusinessID=&请到快递鸟官网申请/ServiceApply.aspx&;
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private String AppKey=&请到快递鸟官网申请/ServiceApply.aspx&;
//请求url, 正式环境地址:http://api.kdniao.cc/api/Eorderservice
private String ReqURL=&http://testapi.kdniao.cc:8081/api/Eorderservice&;
* Json方式 电子面单
* @throws Exception
public String orderOnlineByJson() throws Exception{
String requestData= &{'OrderCode': '',& +
&'ShipperCode':'EMS',& +
&'PayType':1,& +
&'ExpType':1,& +
&'Cost':1.0,& +
&'OtherCost':1.0,& +
&'Sender':& +
&'Company':'LV','Name':'Taylor','Mobile':'','ProvinceName':'上海','CityName':'上海','ExpAreaName':'青浦区','Address':'明珠路73号'},& +
&'Receiver':& +
&'Company':'GCCUI','Name':'Yann','Mobile':'','ProvinceName':'北京','CityName':'北京','ExpAreaName':'朝阳区','Address':'三里屯街道雅秀大厦'},& +
&'Commodity':& +
&'GoodsName':'鞋子','Goodsquantity':1,'GoodsWeight':1.0}],& +
&'Weight':1.0,& +
&'Quantity':1,& +
&'Volume':0.0,& +
&'Remark':'小心轻放',& +
&'IsReturnPrintTemplate':1}&;
Map&String, String& params = new HashMap&String, String&();
params.put(&RequestData&, urlEncoder(requestData, &UTF-8&));
params.put(&EBusinessID&, EBusinessID);
params.put(&RequestType&, &1007&);
String dataSign=encrypt(requestData, AppKey, &UTF-8&);
params.put(&DataSign&, urlEncoder(dataSign, &UTF-8&));
params.put(&DataType&, &2&);
String result=sendPost(ReqURL, params);
//根据公司业务处理返回的信息......
* @param str 内容
* @param charset 编码方式
* @throws Exception
@SuppressWarnings(&unused&)
private String MD5(String str, String charset) throws Exception {
MessageDigest md = MessageDigest.getInstance(&MD5&);
md.update(str.getBytes(charset));
byte[] result = md.digest();
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i & result. i++) {
int val = result[i] & 0
if (val &= 0xf) {
sb.append(&0&);
sb.append(Integer.toHexString(val));
return sb.toString().toLowerCase();
* base64编码
* @param str 内容
* @param charset 编码方式
* @throws UnsupportedEncodingException
private String base64(String str, String charset) throws UnsupportedEncodingException{
String encoded = Base64.encode(str.getBytes(charset));
@SuppressWarnings(&unused&)
private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{
String result = URLEncoder.encode(str, charset);
* 电商Sign签名生成
* @param content 内容
* @param keyValue Appkey
* @param charset 编码方式
* @throws UnsupportedEncodingException ,Exception
* @return DataSign签名
@SuppressWarnings(&unused&)
private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception
if (keyValue != null)
return base64(MD5(content + keyValue, charset), charset);
return base64(MD5(content, charset), charset);
* 向指定 URL 发送POST方法的请求
* @param url 发送请求的 URL
* @param params 请求的参数集合
* @return 远程资源的响应结果
@SuppressWarnings(&unused&)
private String sendPost(String url, Map&String, String& params) {
OutputStreamWriter out =
BufferedReader in =
StringBuilder result = new StringBuilder();
URL realUrl = new URL(url);
HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// POST方法
conn.setRequestMethod(&POST&);
// 设置通用的请求属性
conn.setRequestProperty(&accept&, &*/*&);
conn.setRequestProperty(&connection&, &Keep-Alive&);
conn.setRequestProperty(&user-agent&,
&Mozilla/4.0 ( MSIE 6.0; Windows NT 5.1;SV1)&);
conn.setRequestProperty(&Content-Type&, &application/x-www-form-urlencoded&);
conn.connect();
// 获取URLConnection对象对应的输出流
out = new OutputStreamWriter(conn.getOutputStream(), &UTF-8&);
// 发送请求参数
if (params != null) {
StringBuilder param = new StringBuilder();
for (Map.Entry&String, String& entry : params.entrySet()) {
if(param.length()&0){
param.append(&&&);
param.append(entry.getKey());
param.append(&=&);
param.append(entry.getValue());
System.out.println(entry.getKey()+&:&+entry.getValue());
System.out.println(&param:&+param.toString());
out.write(param.toString());
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream(), &UTF-8&));
while ((line = in.readLine()) != null) {
result.append(line);
} catch (Exception e) {
e.printStackTrace();
//使用finally块来关闭输出流、输入流
if(out!=null){
out.close();
if(in!=null){
in.close();
catch(IOException ex){
ex.printStackTrace();
return result.toString();
本文已收录于以下专栏:
相关文章推荐
ASP.NET网站程序防SQL注入式攻击方法
一、什么是SQL注入式攻击?
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶...
有位朋友让我给他新开的网站帮忙做几个小功能,如下:
输入快递公司、快递单号,查询出这个快件的所有动态(从哪里出发,到了哪里)在注册、登录等场景下的手机验证码(要求有一定的防刷策略)通过输入公司名的关...
这是因为你没有安装
VisualSVN哦, 
VisualSVN是一个Visual Studio插件,集成Subversion和TortoiseSVN无缝地到Visua...
this is one useful picture fo git learning.
/    (java)
 -/www1/
http://projecteuler.net/...
1. ashx代码
void ProcessRequest(HttpContext
       {
      &...
电子面单样式
对接接口各家对比
各家合作流程对比
接口定义及说明
Request Params
系统级参数公共参数
Response Params
同类文章术语对于一般人...
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。
对于一般人,电子面单的意思可能并不是很了解;说白了,就是快递员给你打印的快递单的电子版。
专业解释:
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示...
电子面单样式
对接接口各家对比
各家合作流程对比
接口定义及说明
Request Params
系统级参数公共参数
Response Params
术语电子面单...
他的最新文章
讲师:AI100
讲师:谢梁
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)增值电信业务经营许可证:苏B2-CopyRight ©
All Rights reserved.您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于JAVA的快递查询API接口调用代码示例【参考】.docx 15页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:80 &&
你可能关注的文档:
··········
··········
基于java的快递查询API接口调用代码示例1、应用场景(1)电商网站用户打开“我的订单”时调用此API显示物流信息详情。(2)电商管理后台的物流系统,客服在对账前查询所有运单的签收状态,并追踪问题。(3)每日调用次数限制不超过3000次,如超过该限制,请对接/api-subscribe订阅推送API。2、是否需要授权要/regFree申请服务3、接口描述/说明(1)查询接口支持按照运单号查询(单个查询)。(2)接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。如:EMS物流单号应选择快递公司编码(EMS)/file/ExpressCode.xls查看快递公司编码(3)返回的物流跟踪信息按照发生的时间升序排列。(4)接口指令1002。(5)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):&application/x-www-form-charset=utf-8&。(6)请求系统级参数说明:参数名称类型说明必须要求RequestDataString请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。REBusinessIDString商户ID,请在/MyService.aspx我的服务页面查看。RRequestTypeString请求指令类型:1002RDataSignString数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。RDataTypeString请求、返回数据类型:2-json;O备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)。(7)接口地址:API ID:/reg点击申请API Key:/reg点击申请API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx4、接口参数(1)请求内容字段定义参数类型说明必须要求OrderCodeString订单编号OShipperCodeString快递公司编码RLogisticCodeString物流单号R(3)返回参数定义参数名称类型说明必须要求EBusinessIDString用户IDROrderCodeString订单编号OShipperCodeString快递公司编码RLogisticCodeString物流运单号RSuccessBool成功与否RReasonString失败原因OStateString物流状态:2-在途中,3-签收,4-问题件RTracesTraceAcceptTimeString时间RAcceptStationString描述RRemarkString备注O5、示例(1)请求示例JSON格式/api-trackshow source/api-trackview source/api-trackprint/api-track?1{2?&OrderCode&: &&,3?&ShipperCode&: &SF&,4?&LogisticCode&: &&5}(2)返回示例JSON格式/api-trackshow source/api-trackview source/api-trackprint/api-track?01没有物流轨迹的02{03?&EBusinessID&: &?&Traces&: [],05?&OrderCode&: &&,06?&ShipperCode&: &SF&,07?&LogisticCode&: &&,08?&Success&: false,09?&Reason&: null10}11有物流轨迹的12{13?&EBusinessID&: &?&OrderCode&: &&,15?&ShipperCode&: &SF&,16?&LogisticCode&: &&quot
正在加载中,请稍后...
84页49页63页69页77页38页205页41页46页58页基于JAVA的快递查询API接口调用代码示例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于JAVA的快递查询API接口调用代码示例
&&基于JAVA的快递查询API接口调用代码示例
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 java电商项目开发源码 的文章

 

随机推荐