一.基础准备
1.物流查询痛点
如何通过物流单号实时查询物流信息?如何实时查看物流地图轨迹?
使用快递 100,用户可以通过简单地输入快递单号来获取快递的详细物流状态,不仅能看到包裹目前的位置信息,还可以了解它的运输进展。
快递 100API 接口是为各类企业(例如电商平台、ERP 系统、WMS 仓储管理系统、快递柜、银行等)提供的物流信息查询服务。快递 100 整了多家快递公司的查询接口,如果某家快递公司的接口发生变更,服务商会进行统一更新,大大减少了系统维护的难度和工作量。
快递 100 接口主要通过两种方式实现:
- 主动查询
- 订阅推送
主动查询:这种方式是企业在需要的时候主动发起查询请求。例如,客户想知道包裹目前的运输情况时,企业的系统可以通过接口主动查询最新的物流信息。这样可以实时获取物流数据,但也意味着企业的系统需要时刻关注并发起查询。
订阅推送:与主动查询不同,订阅推送是由接口服务商定期向企业系统推送物流更新。企业只需进行一次订阅操作,之后当物流信息发生变化时,接口服务商会自动发送更新信息,省去了频繁的查询请求。这种方式非常适合需要随时掌握快递状态的企业,特别是那些有大量订单的电商企业,可以更加实时、便捷地了解物流动态。
2.申请账号
接口调用的时候需要用到如下四个参数,可以通过注册后,按如下图所示进行获取
- 授权 key
- custome
- secret
- userid
3.sdk 下载
快递 100 提供了多种语言的支持,可参见链接进行下载合适的语言.本篇通过 java 的调用方式进行讲解.
- JAVA 示例代码
- PHP 示例代码
- PYTHON 示例代码
- NET 示例代码
4.测试准备
- 下载java 示例代码
- 使用 idea 打开项目
- 在
account.properties
中配置好接口需要的参数信息
二.接口测试
2.1.实时快递查询接口
2.1.1.需求
需求: 通过物流单号查询物流信息
2.1.2.通过物流单号查询
public class BaseServiceTest {
String key = PropertiesReader.get("key");
String customer = PropertiesReader.get("customer");
String secret = PropertiesReader.get("secret");
String siid = PropertiesReader.get("siid");
String userid = PropertiesReader.get("userid");
String tid = PropertiesReader.get("tid");
String secret_key = PropertiesReader.get("secret_key");
String secret_secret = PropertiesReader.get("secret_secret");
/**
* 实时快递查询接口
*/
@Test
public void testQueryTrack() throws Exception{
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
// 指定物流类型
queryTrackParam.setCom(CompanyConstant.ZT);
// 指定物流单号
queryTrackParam.setNum("78852418650880");
String param = new Gson().toJson(queryTrackParam);
queryTrackReq.setParam(param);
queryTrackReq.setCustomer(customer);
queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));
IBaseClient baseClient = new QueryTrack();
System.out.println(baseClient.execute(queryTrackReq));
}
}
2.1.3.查询结果
{
"message": "ok",
"nu": "78852418650880",
"ischeck": "0",
"condition": "00",
"com": "zhongtong",
"status": "200",
"state": "5",
"data": [
{
"time": "2024-11-10 15:32:54",
"ftime": "2024-11-10 15:32:54",
"context": "【襄阳市】 快件已在 溪鸟 的【谷城当铺公共服务站】暂放,【取件地址:当铺第三中学对面】,请及时取件。如有疑问请联系业务员:18672705895,代理点电话:18672705895,投诉电话:18672705895"
},
{
"time": "2024-11-10 15:02:54",
"ftime": "2024-11-10 15:02:54",
"context": "【襄阳市】谷城当铺 的业务员【董定艳,18672705895】正在为您派件(95720为中通快递员外呼专属号码,请放心接听,如有问题可联系网点:18672705895,投诉电话:18672705895)"
},
{
"time": "2024-11-10 06:59:25",
"ftime": "2024-11-10 06:59:25",
"context": "【襄阳市】 快件已发往 谷城当铺"
},
{
"time": "2024-11-10 06:59:21",
"ftime": "2024-11-10 06:59:21",
"context": "【襄阳市】 快件已到达 襄樊谷城县"
},
{
"time": "2024-11-10 04:45:52",
"ftime": "2024-11-10 04:45:52",
"context": "【襄阳市】 快件已发往 襄樊谷城县"
},
{
"time": "2024-11-10 03:59:17",
"ftime": "2024-11-10 03:59:17",
"context": "【襄阳市】 快件已到达 襄樊转运中心"
},
{
"time": "2024-11-09 20:08:41",
"ftime": "2024-11-09 20:08:41",
"context": "【武汉市】 快件已发往 襄樊转运中心"
},
{
"time": "2024-11-09 20:05:08",
"ftime": "2024-11-09 20:05:08",
"context": "【武汉市】 快件已到达 武汉转运中心"
},
{
"time": "2024-11-09 10:19:35",
"ftime": "2024-11-09 10:19:35",
"context": "【孝感市】 孝感南部(0712-3318420)周强(13469806269) 已揽收"
}
]
}
2.1.4.体验说明
从上面的结果,我们可以清晰的看到物流的流转节点,只需要传入相应的快递类型和快递单号即可快速查询快递的实时信息,非常方便高效.
2.快递查询地图轨迹
2.2.1.需求
我希望查询快递的地图轨迹,如何调用 api 实现?
2.2.2.快递查询地图轨迹
@Test
public void testQueryMapView() throws Exception {
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
queryTrackParam.setCom(CompanyConstant.ZT);
queryTrackParam.setNum("78852418650880");
queryTrackParam.setTo("湖北襄阳市");
queryTrackParam.setResultv2("2");
String param = new Gson().toJson(queryTrackParam);
queryTrackReq.setParam(param);
queryTrackReq.setCustomer(customer);
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(JSONObject.toJSONString(queryTrackMapResp));
}
2.2.3.查询结果
{
"arrivalTime": "2024-11-10 15",
"com": "zhongtong",
"condition": "00",
"data": [
{
"areaCode": "CN420625000000",
"areaName": "湖北,襄阳市,谷城县",
"context": "【襄阳市】 快件已在 溪鸟 的【谷城当铺公共服务站】暂放,【取件地址:当铺第三中学对面】,请及时取件。如有疑问请联系业务员:18672705895,代理点电话:18672705895,投诉电话:18672705895",
"ftime": "2024-11-10 15:32:54",
"status": "派件",
"time": "2024-11-10 15:32:54"
},
{
"areaCode": "CN420625000000",
"areaName": "湖北,襄阳市,谷城县",
"context": "【襄阳市】谷城当铺 的业务员【董定艳,18672705895】正在为您派件(95720为中通快递员外呼专属号码,请放心接听,如有问题可联系网点:18672705895,投诉电话:18672705895)",
"ftime": "2024-11-10 15:02:54",
"status": "派件",
"time": "2024-11-10 15:02:54"
},
{
"areaCode": "CN420625000000",
"areaName": "湖北,襄阳市,谷城县",
"context": "【襄阳市】 快件已发往 谷城当铺",
"ftime": "2024-11-10 06:59:25",
"status": "在途",
"time": "2024-11-10 06:59:25"
},
{
"areaCode": "CN420625000000",
"areaName": "湖北,襄阳市,谷城县",
"context": "【襄阳市】 快件已到达 襄樊谷城县",
"ftime": "2024-11-10 06:59:21",
"status": "在途",
"time": "2024-11-10 06:59:21"
},
{
"areaCode": "CN420600000000",
"areaName": "湖北,襄阳市",
"context": "【襄阳市】 快件已发往 襄樊谷城县",
"ftime": "2024-11-10 04:45:52",
"status": "在途",
"time": "2024-11-10 04:45:52"
},
{
"areaCode": "CN420600000000",
"areaName": "湖北,襄阳市",
"context": "【襄阳市】 快件已到达 襄樊转运中心",
"ftime": "2024-11-10 03:59:17",
"status": "在途",
"time": "2024-11-10 03:59:17"
},
{
"areaCode": "CN420100000000",
"areaName": "湖北,武汉市",
"context": "【武汉市】 快件已发往 襄樊转运中心",
"ftime": "2024-11-09 20:08:41",
"status": "在途",
"time": "2024-11-09 20:08:41"
},
{
"areaCode": "CN420100000000",
"areaName": "湖北,武汉市",
"context": "【武汉市】 快件已到达 武汉转运中心",
"ftime": "2024-11-09 20:05:08",
"status": "在途",
"time": "2024-11-09 20:05:08"
},
{
"areaCode": "CN420900000000",
"areaName": "湖北,孝感市",
"context": "【孝感市】 孝感南部(0712-3318420)周强(13469806269) 已揽收",
"ftime": "2024-11-09 10:19:35",
"status": "揽收",
"time": "2024-11-09 10:19:35"
}
],
"ischeck": "0",
"message": "ok",
"nu": "78852418650880",
"remainTime": "0天0小时",
"result": false,
"routeInfo": {
"cur": {
"name": "湖北,襄阳市,谷城县",
"number": "CN420625000000"
},
"from": {
"name": "湖北,孝感市",
"number": "CN420900000000"
}
},
"state": "5",
"status": "200",
"totalTime": "0天22小时",
"trailUrl": "https://api.kuaidi100.com/tools/map/c267d423dd9d388d60b2acf9fd33fd20_112.121743,32.010161_8"
}
2.2.4.地图轨迹
可以通过结果返回的链接查看快递经过的地图轨迹
从返回的结果,我们可以清楚的看到在某个时间段内所处的服务处位置,非常的清晰方便
三.总结说明
以上只是快递 100 查看快递的基本功能,还是更多强大的功能提供给企业使用,比如
- 快递信息推送服务
- 地图轨迹推送服务
- 电子面单与云打印
- 电子面单
- 订单导入
- 自定义打印
- 物流服务
- 商家寄件
- C 端寄件
- 同城配送
- 物流全链路监控
- 增值服务
- 跨境服务
快递 100 提供了丰富的 api 服务,接入高效,除去基础信息的准备时间,实际接通时间基本在 1 小时到 2 小时之间,接口非常标准,为开发者省去了很多繁琐的工作.