快递100API实测:一键查询快递物流+实时推送,开发者的物流神器!
摘要:还在为物流查询效率低下而烦恼?快递100 API 实测来了!支持全球2100+快递公司,毫秒级响应,实时推送物流状态,电商、ERP系统必备!本文带你深度体验「百递云·API开放平台」,从核心功能到Java代码实战,手把手教你接入。
一、引言
在电商、供应链、仓储管理等行业,物流信息的实时查询与推送已成为刚需。传统手动查询方式效率低下,而自建物流追踪系统成本高昂。因此,第三方快递查询API成为开发者的首选解决方案。小编最近就发现了一款超级好用的快递物流查询API接口软件——快递100旗下「百递云·API开放平台」,今天就让我们一起从实测角度来聊聊。
市场需求痛点:
- 电商平台需实时展示物流信息,提升用户体验
- ERP系统需要自动同步物流状态,减少人工干预
- 跨境物流追踪复杂,需支持多家快递公司
- 需要高并发、低延迟的API,以应对大促期间的流量高峰
二、核心功能与优势
「百递云·API开放平台」是一款提供快递查询、物流订阅(推送)、电子面单打印等服务的开放接口,主要特点包括:
✅ 核心功能
- 实时快递查询:通过单号获取最新物流轨迹
- 自动推送(WebHook):物流状态变更时主动通知
- 多快递公司支持:覆盖顺丰、中通、京东、DHL等2100+物流公司
- 高并发支持:适合电商大促场景
- 全球物流查询:支持国际快递(FedEx、UPS等)
✅ 竞争优势
- 响应速度快:平均查询耗时100-300ms内
- 文档清晰:提供Python、Java、PHP等SDK示例
- 稳定性强:99.9% SLA保障
三、查询快递API使用教程
3.1 登录进入API接口功能页
第一步、访问 快递100官网,注册账号,如果有账号直接登录!
第二步、进入管理后台,左侧是主要的功能,中间是账号的api余量,免费有100单的推送,快来体验吧!
3.2 API在线调试接口
第一步、点击 管理后台 的左侧功能导航,实时查询与订阅推送 》API在线调试
第二步、进入后默认关键参数系统自动绑定好了,直接输入快递和单号,或者根据手机号、出发地和目的地查询。
第三步、正好试试查询我在路上的快递,输入快递名称和单号,一查询,信息完全正确。
3.3 接口参数说明
用户向接口提交快递单号后,接口会实时调取快递公司的单号信息并返回此单号最新的物流信息,包括物流轨迹、状态、时间等。
请求地址:https://poll.kuaidi100.com/poll/query.do
请求类型:post
- 请求参数(header)
名称 | 类型 | 默认值 |
---|---|---|
Content-Type | string | application/x-www-form-urlencoded |
- 请求参数(body)
名称 | 类型 | 是否必需 | 示例值 | 描述 |
---|---|---|---|---|
customer | String | 是 | 授权码,请申请企业版获取 | |
sign | String | 是 | 签名, 用于验证身份, 按param + key + customer 的顺序进行MD5加密(注意加密后字符串一定要转32位大写), 不需要加上“+”号 | |
Θparam | Object | 是 | 由其他字段拼接 | |
└ com | string | 是 | yuantong | 查询的快递公司的编码, 一律用小写字母 下载编码表格 |
└ num | string | 是 | 12345678 | 查询的快递单号, 单号的最小长度6个字符,最大长度32个字符 |
└ phone | string | 否 | 13900000000 | 收、寄件人的电话号码(手机和固定电话均可,只能填写一个,顺丰速运、顺丰快运必填,其他快递公司选填。如座机号码有分机号,分机号无需传入;如号码是电商虚拟号码需传入“-“后的后四位。查看详情) |
└ from | string | 否 | 广东深圳 | |
└ to | string | 否 | 北京朝阳 | 目的地城市,到达目的地后会加大监控频率 |
└ resultv2 | string | 否 | 1 | 添加此字段表示开通行政区域解析功能。空:关闭(默认),1:开通行政区域解析功能以及物流轨迹增加物流状态名称 4: 开通行政解析功能以及物流轨迹增加物流高级状态名称、状态值并且返回出发、目的及当前城市信息 |
└show | String | 否 | 0 | 返回格式:0:json格式(默认),1:xml,2:html,3:text |
└order | String | 否 | desc | 返回结果排序:desc降序(默认),asc 升序 |
└lang | String | 否 | en | 返回结果语言版本:支持中文和英文,zh:中文,en:英文 |
- 返回结果字段说明
字段名称 | 类型 | 字段含义 |
---|---|---|
message | String | 消息体,请忽略 |
state | String | 快递单当前状态,默认为0在途,1揽收,2疑难,3签收,4退签,5派件,8清关,14拒签等10个基础物流状态,如需要返回高级物流状态,请参考 resultv2 传值 |
status | String | 通讯状态,请忽略 |
condition | String | 快递单明细状态标记,暂未实现,请忽略 |
ischeck | String | 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段 |
com | String | 快递公司编码,一律用小写字母 |
nu | String | 单号 |
Θdata | data | 最新查询结果,数组,包含多项,全量,倒序(即时间最新的在最前),每项都是对象,对象包含字段请展开 |
└ context | String | 内容 |
└ time | String | 时间,原始格式 |
└ ftime | String | 格式化后时间 |
└status | String | 本数据元对应的物流状态名称或者高级状态名称,实时查询接口中提交resultv2=1或者resultv2=4标记后才会出现 |
└statusCode | String | 本数据元对应的高级物流状态值,实时查询接口中提交resultv2=4标记后才会出现 |
└areaCode | String | 本数据元对应的行政区域的编码,实时查询接口中提交resultv2=1或者resultv2=4标记后才会出现 |
└areaName | String | 本数据元对应的行政区域的名称,实时查询接口中提交resultv2=1或者resultv2=4标记后才会出现 |
└areaCenter | String | 本数据元对应的行政区域经纬度,实时查询接口中提交resultv2=4标记后才会出现 |
└location | String | 本数据元对应的快件当前地点,实时查询接口中提交resultv2=4标记后才会出现 |
└areaPinYin | String | 本数据元对应的行政区域拼音,实时查询接口中提交resultv2=4标记后才会出现 |
- 信息代码含义
信息代码 | 信息内容描述 | 原因及建议处理方式 |
---|---|---|
200 | 查询成功 | 查询成功 |
400 | 找不到对应公司 | 提交数据不完整或者账号未充值, 检查提交的格式是否为x-www-form-urlencoded的post格式 |
408 | 快递公司参数异常:验证码错误 | 电话号码校验不通过,检查是否提交了收、寄件人正确的电话号码 |
500 | 查询无结果,请隔段时间再查 | 表示查询失败,或没有POST提交 |
501 | 服务器错误 | 快递100的服务器出现间歇或临时性异常,有时如果因为不按规范提交请求,比如快递公司参数没有按照文档规定填写等,也会报此错误 |
502 | 服务器繁忙 | 快递100的服务器出现间歇或临时性异常,请联系快递100排查原因 |
503 | 验证签名失败 | 请检查加密方式,param + key + customer 的顺序进行MD5加密,加密后字符串转大写 |
601 | key已过期 | 没有可用单量,账号需要充值使用 |
接下来,咱们测试一下在程序里面调用,废话不多说,开干!
四、JAVA程序里面调用查询快递接口
目前 快递100 支持当前主流语言SDK接入,代码接入简单,程序稳定,还有接入示例,让你快速上手接入获取数据,咱们以java为例,来试用一下接口吧,准备开干吧!👍
4.1 码云获取代码
先从码云下载代码示例
# git clone https://github.com/kuaidi100-api/java-demo.git
4.2 代码说明
Introduce
- java-demo 是由[快递100]官方提供的java sdk,方便调试使用。
- java-demo 集成了实时查询、订阅推送、智能判断、云打印相关、电子面单相关、短信、商家寄件等接口。
Features
- 提供了快递100接口请求参数实体类、返回实体类。
- 提供测试类调试。
- 支持maven、gradle引入
4.3 配置参数
account.properties配置相关参数信息
#快递100的基础账号信息,可以在这里获取
# https://api.kuaidi100.com/manager/v2/myinfo/enterprise
key =
customer =
secret =
userid =
#电子面单快递公司账号信息(非必填)
partnerId =
partnerKey =
net =
siid =
#短信模板id(非必填)
tid =
#是否记录快递100接口返回结果,建议记录日志或者入库,方便后期有问题双方排查(true:启用 false: 关闭 )
log.return.record = true
#日志记录位置,建议根据自身情况配置
logPath = logs
代码里面获取account.properties配置信息
private String key = PropertiesReader.get("key");
private String customer = PropertiesReader.get("customer");
private String secret = PropertiesReader.get("secret");
private String siid = PropertiesReader.get("siid");
private String userid = PropertiesReader.get("userid");
private String tid = PropertiesReader.get("tid");
private String secret_key = PropertiesReader.get("secret_key");
private String secret_secret = PropertiesReader.get("secret_secret");
4.4 实现方法
可以先写个Main
方法,调用这个testQueryTrack
方法,控制台输出Api返回的快递信息。
public static void main(String[]args){
new MyTest().testQueryTrack();
System.out.println("xcLeigh");
}
/*实时快递查询接口*/
@Test
public void testQueryTrack() throws Exception{
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
queryTrackParam.setCom(CompanyConstant.YT);
queryTrackParam.setNum("YT9383342193097");
queryTrackParam.setPhone("17725390266");
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));
}
4.5 控制台打印订单信息
输入错误快递名称和单号返回数据:
{"result":false,"returnCode":"500","message":"查询无结果,请隔段时间再查"}
输入正确快递名称和单号返回数据:
{"message":"ok","nu":"快递单号","ischeck":"0","condition":"00","com":"zhongtong","status":"200","state":"0","data":[{"time":"2025-04-09 23:53:35","ftime":"2025-04-09 23:53:35","context":"【金华市】 快件已发往 北京转运中心"},{"time":"2025-04-09 23:49:24","ftime":"2025-04-09 23:49:24","context":"【金华市】 快件已到达 义乌转运中心"},{"time":"2025-04-09 20:26:18","ftime":"2025-04-09 20:26:18","context":"【丽水市】 快件已发往 义乌转运中心"},{"time":"2025-04-09 20:26:05","ftime":"2025-04-09 20:26:05","context":"【丽水市】 缙云壶镇(0578-3074071)配送员(手机号) 已揽收"}]}
✨✨✨响应速度毫秒级,体验感觉还不错,走通了api接口,过程还是相当简单的,代码都有,只用配置好自己的参数,就轻松搞定!👍👍👍
五、总结
作为开发者,快递100 API 在物流查询与实时推送方面表现出色,堪称行业标杆。其一键查询功能响应迅速,支持全球2100+家快递公司,数据准确且格式规范,极大简化了集成流程。实时推送功能更是亮点,通过回调URL即时更新物流状态,延迟低至1分钟内,配合签名验证确保数据安全。
API 文档详尽,提供多语言SDK,降低接入门槛;灵活的套餐选择满足不同规模需求,免费档适合测试,企业级方案保障高并发稳定运行。实测中,API 可用性高达99.9%,是电商、物流系统开发的首选工具。
总结一句话:功能全、性能稳、接入快,快递100 API 真正让物流查询变得简单高效!你还在等什么,快去上手体验吧!
🔗 快递100官网 | 📖 API文档 | 📄需求调研(参与需求调研问卷的小伙伴,可以参与抽取 机械键盘 和 精美周边礼品 ,快来试试吧,活动截止2025年四月底!)
(注:本文基于实测数据,部分结果可能因网络环境不同有所差异。)
致读者一封信
亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。
愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。
至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。
亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌