如何实现类似淘宝、京东、拼多多的物流轨迹路线图,实现订单物流更直观更有效的展示。 准备工作 这里使用的快递 100 提供的 API,需要一个快递 100 的账号。 Step 1 注册快递 100 账号,已有账号请忽略([链接] Step 2 联系快递 100 的工作人员,开通对应的服务([链接] Step 3 引入快递 ..

JAVA 实现类似淘宝物流路线图

 

如何实现类似淘宝、京东、拼多多的物流轨迹路线图,实现订单物流更直观更有效的展示。


准备工作

这里使用的快递100提供的API,需要一个快递100的账号。


Step 1

注册快递100账号,已有账号请忽略(https://api.kuaidi100.com/)


Step 2

联系快递100的工作人员,开通对应的服务(https://api.kuaidi100.com/product/map),里面有100单的测试单量,足够测试。


Step 3

引入快递100的sdk包,github源码(https://github.com/kuaidi100-api/java-demo)


Step 4

实现伪代码

<dependency>

 <groupId>com.github.kuaidi100-api</groupId>

 <artifactId>sdk</artifactId>

 <version>1.0.1</version>

</dependency>

public void testQueryMapView() throws Exception{

  QueryTrackReq queryTrackReq = new QueryTrackReq();

  QueryTrackParam queryTrackParam = new QueryTrackParam();

  //对应的快递公司编码,可以在这里下载对应的快递公司编码

(https://api.kuaidi100.com/manager/openapi/download/kdbm.do)

  queryTrackParam.setCom(CompanyConstant.YD);

  //快递单号

  queryTrackParam.setNum("4311159956248");

  //手机号码

  queryTrackParam.setPhone("17725390266");

  //寄件地

  queryTrackParam.setFrom("湖南岳阳");

  //目的地

  queryTrackParam.setTo("河北保定");

  String param = new Gson().toJson(queryTrackParam);

  queryTrackReq.setParam(param);

  //对应快递100的企业信息里

的'customer'(https://api.kuaidi100.com/manager/page/myinfo/enterprise)

  queryTrackReq.setCustomer(customer);

返回结果(部分数据省略,可以自己测试)


Step 5

效果展示,快递100会返回地图的trailUrl,展示即可https://api.kuaidi100.com/timev2/api/track/map/9dce19768b965cb92ed8240b4a5532d6


结语

  //key对应对应快递100的企业信息里的'授权KEY'(https://api.kuaidi100.com/manager/page/myinfo/enterprise)

  queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));

  IBaseClient baseClient = new QueryTrackMap();

  HttpResult result = baseClient.execute(queryTrackReq);

  QueryTrackMapResp queryTrackMapResp = new

Gson().fromJson(result.getBody(),QueryTrackMapResp.class);

  System.out.println(queryTrackMapResp);

}

{

"message": "ok",

"nu": "4311159956248",

"ischeck": "1",

"com": "yunda",

"status": "200",

"data": [{

"time": "2020-12-23 13:55:55",

"context": "[湖南汨罗市公司]【岳阳市】您的快件已被签收",

"ftime": "2020-12-23 13:55:55",

"areaCode": null,

"areaName": null,

"status": "签收"

}, {

"time": "2020-12-20 20:43:10",

"context": "[河北省第六公司]【保定市】河北省第六公司 已揽收",

"ftime": "2020-12-20 20:43:10",

"areaCode": "CN130600000000",

"areaName": "河北,保定市",

"status": "揽收"

}],

"state": "3",

"condition": "D01",

"isLoop": false,

"trailUrl":

"https://api.kuaidi100.com/timev2/api/track/map/9dce19768b965cb92ed8240b4a5532d6

",

"arrivalTime": "2020-12-23 10",

"totalTime": "2天14小时",

"remainTime": "0天0小时"

}


      市面上能实现了地图的除了大的几家电商巨头,以及快递公司本身,第三方实现目前只发现快递100这一家,支持上千家的快递查询,以及国内上百家快递公司的地图轨迹展示,并且提供预测到达时间,轻松对接无需自主维护,省时省力,最近还在搞促销活动(https://api.kuaidi100.com/promotion),值得推荐!!!


  • API
    49 引用 • 45 回帖 • 208 关注
  • 查询
    3 引用 • 12 回帖 • 10 关注
  • 企业版
    7 引用 • 12 回帖 • 1 关注
7 回帖   
  • 138****3991  
    我的快递什么时候可以收到
  • 158****3436  
    我用积分还的取暖器怎么没到
  • 米日古丽  
    我的货回去了
  • 181****6405  
    قوش 11دە مال سالدۇرغان، كەلمىدى
  • 181****6405  
    يۈز چاپلاق سالدۇرغان ئىدىم
  • 135****9634  
    已经取快递,保管箱一直说没取件,是保管箱坏了。 哟还有邮件马上到了,请快递员送到家门口,不要放在保管箱里。
  • 135****9634  
    投诉保管箱坏了没去去检查维修。