评论

电商网站物流快递鸟单号查询 API 接口申请案例

电商平台及 ISV 商家对物流 api 接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南

场景需求描述
电商平台及 ISV 商家对物流 api 接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开“我的订单”时调用此 API 显示物流信息详情,电商管理后台的物流系统,客服在对账前查询所有运单的签收状态,并追踪问题,电商平台对商家物流管控,要求必须在多久快递必须发出要看到揽件状态,多久必须收到货物看到签收状态,根据这些状态对商家管控从而提升用户的整体满意度。

对接使用流程
注册账号并申请认证

快递鸟根据单号和快递公司查询到物流轨迹状态

快递鸟将查询到的物流轨迹状态反馈給电商平台或 ISV 服务商

电商平台或 ISV 服务商接收数据并实时处理做数据展示或应用

快递鸟功能非常强大,免费,可以随时查询快递轨迹,也可以推送快递状态,很强大很方便。直接上实现代码。直接上代码:这是开发的快递鸟推送的快递信息接口,接收数据处理数据。这里 method 一定要 post

@RequestMapping(value = “tuisong”,method=RequestMethod.POST)
@ResponseBody
public Map<String,Object> tuisong(String RequestData,String RequestType,String DataSign) {
RequestData=Encodes.unescapeHtml(RequestData);
Map<String,Object> result=new HashMap<String,Object>();
//判断是从快递鸟进入
if(!(RequestType.equals(“101”) && KdniaoUtils.isFromKdniao(RequestData, DataSign))){
result.put(“Success”,false);
result.put(“Reason”,“不是快递鸟推送来的数据。”);
return result;
}
JSONObject jsonObj=new JSONObject(RequestData);
result.put(“EBusinessID”,jsonObj.getString(“EBusinessID”));
result.put(“UpdateTime”,jsonObj.getString(“PushTime”));
try {
JSONArray jsonArray=jsonObj.getJSONArray(“Data”);
List<Ship> shipList=Lists.newArrayList();
Ship ship=null;
for(int i=0;i<jsonArray.length();i++){
jsonObj=jsonArray.getJSONObject(i);
if(!jsonObj.getBoolean(“Success”)){
continue;
}
ship=new Ship();
ship.setExpress(ErpUtils.getExpressByKdniao(jsonObj.getString(“ShipperCode”)));
ship.setExpressNo(jsonObj.getString(“LogisticCode”));
String state=jsonObj.getString(“State”);
ship.setStatus(KdniaoUtils.getShipStatus(state));
if(ship.getStatus().equals(Ship.STATUS_SIGN)){
JSONArray array=jsonObj.getJSONArray(“Traces”);
JSONObject obj=array.getJSONObject(array.length()-1);
String time=obj.getString(“AcceptTime”);
ship.setSignTime(DateUtils.parseDate(time,“yyyy-MM-dd HH:mm:ss”));
}
shipList.add(ship);
}
shipService.updateStatus(shipList);
result.put(“Success”, true);
}catch (Exception e) {
result.put(“Success”, false);
result.put("Reason ", “解析数据失败。”);
e.printStackTrace();
}
return result;

最后一次编辑于  08-12  (未经腾讯允许,不得转载)
点赞 0
收藏
评论