一、什么是物流快递查询接口?
物流快递查询接口通过输入快递单号和快递代号查询实时物流信息。该接口支持单号自动识别,可查询国内外上千家物流快递公司的物流跟踪服务,包括顺丰、圆通、申通、中通、韵达等主流快递公司。
二、物流快递接口使用哪些场景?
例如:物流企业
1.物流企业自身的业务管理系统可以接入查询接口,方便内部员工快速查询包裹信息,提高工作效率。例如快递员在配送过程中,可以通过手持终端设备实时查询包裹的详细地址、收件人联系方式等信息,减少因信息不准确导致的配送错误。同时,物流企业的客服人员也能借助接口快速解答客户的咨询和投诉,据调查,使用高效物流查询接口的企业,客服处理客户查询的时间平均缩短了约 30%。
2.用于物流企业之间的数据交换和协同工作。在快递的转运过程中,不同的物流企业之间需要共享物流信息,查询接口可以实现信息的无缝对接,确保包裹能够顺利地从一个物流环节流转到下一个环节。
三、如何用Java进行接口调用及正确返回示例?
下面我们以阿里云API接口为例,具体调用代码如下:
public static void main(String[] args) {
String host = "https://kzexpress.market.alicloudapi.com";
String path = "/api-mall/api/express/query";
String method = "POST";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("expressNo", "expressNo");
bodys.put("mobile", "mobile");
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
System.out.println(response.toString());
//获取response的body
//System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
}
}
正确返回示例代码如下:
{
"msg": "成功",
"success": true,
"code": 200,
"data": {
"cpCode": "SF",// 快递公司编码
"mailNo": "SF13xxx",//快递编号
"theLastTime": "2023-04-21 19:06:47",//运单号物流流转当前最新变更时间
"cpMobile": "95338",//快递公司电话
"theLastMessage": "快件到达 【贵阳双龙中转场】",//运单号物流流转当前最新描述
"logisticsCompanyName": "顺丰快递",//快递公司名称
"cpUrl": "http://www.sf-express.com",//快递公司官网
"logisticsStatusDesc": "运输中",//运单号当前物流状态文字描,
"logisticsTraceDetailList": [
{
"areaCode": "",//非必须,当前节点所在地址行政编码
"areaName": "温州市",//非必须,当前节点所在地区,省,市,区或省,市
"subLogisticsStatus": "ACCEPT",//物流流转子状态
"time": 1718767062000,//时间,单位毫秒
"logisticsStatus": "ACCEPT",//物流流转状态
"desc": "顺丰速运 已收取快件"//物流流转描述
},
{
"areaCode": "",
"areaName": "宁波市",
"subLogisticsStatus": "AGENT_SIGN",
"time": 1718849806000,
"logisticsStatus": "SIGN",
"desc": "您的快件代签收(家门口),如有疑问请电联快递员【杨***,电话:19****237】,感谢您使用顺丰,期待再次为您服务。(主单总件数:1件)"
}
],
"logisticsStatus": "SIGN"
}
}