快递查询-物流查询-快递物流查询接口介绍
目前,电商、货运等行业都需要快递查询功能,对运单号的物流轨迹进行跟踪。
通过快递查询接口,可以实时查询物流轨迹。支持顺丰、京东、EMS、申通、圆通、宅急送、韵达、中通、百世、天天、四通一达等1500+物流公司,与物流公司官网同步。
可以实现将快递查询功能集成到自有的系统中,方便用户实时跟踪物流信息。比如:
- 电商网站,直接在“我的订单”页面内就能看到订单的物流状态。改变订单的状态和交易流程,例如单号变为“已签收”,就能让订单变为可以确认退换货等。
- 物流平台可以自动筛选出“已签收”、“疑难件”等状态的单号,减轻物流跟单人员的压力。
- 评估选择快递公司,根据“已签收”的运单数,可以算出销售人员的业绩,且便于应对货到付款的结算。
请求参数
| 名称 | 类型 | 必须 | 说明 |
|---|---|---|---|
| number | String | 是 | 运单编号 |
| expressCode | String | 否 | 快递公司编号 例如圆通:YTO。快递公司编号不传时,系统会自动识别快递公司编号,但响应时间会比传递快递编号略长 |
| mobile | String | 否 | 顺丰速运、中通、跨越速运需要传入收/寄件人手机号或后四位手机号 |
| sort | String | 否 | 物流明细排序,desc:倒序,asc:升序,默认asc |
成功返回样例
{"code":200,// 详见code返回码说明"msg":"成功",// code 对应的描述"charge":true,// 计费标志"taskNo":"30853523396532582768",// 本次请求号"data":{"expressCode":"ZTO",// 快递公司编号"expressCompanyName":"中通快递",// 快递公司名称"expressCompanyLogo":"",// 快递公司logo"number":"73171992731469",// 运单编号"logisticsStatus":"SIGN",// 物流状态,详见:物流状态编码对照表;"logisticsStatusDesc":"已签收",// 物流状态描述"theLastMessage":"快件已在金华孝顺签收 签收人:本人。如有疑问请电联:15888996643, 投诉电话:0579-82977127, 您的快递已经妥投。风里来雨里去, 只为客官您满意。上有老下有小, 赏个好评好不好?【请在评价快递员处帮忙点亮五颗星星哦~】",// 运单号物流流转当前最新描述"theLastTime":"2021-11-23 12:24:58",// 运单号物流流转当前最新变更时间"takeTime":"2天17小时33分",//从揽收到送达所耗时间"courier":"付村二部傅军",// 快递员"courierPhone":"15888996643",// 快递员联系方式"logisticsTraceDetails":[// 物流明细{"time":1632123146000,// 物流变更时间"logisticsStatus":"ACCEPT",// 物流状态 详见:物流状态编码对照表"subLogisticsStatus":"ACCEPT",// 物流子状态 详见:物流状态编码对照表"desc":"【杭州电商仓配揽投部】已收寄,揽投员:刘岭,电话:13754324900",//物流路由信息描述内容"areaCode":"CN330100000000",// 路由节点所在地区行政编码, 未必会返回"areaName":"浙江省,杭州市"// 路由节路由节点所在地区},{"time":1632140994000,"logisticsStatus":"TRANSPORT","subLogisticsStatus":"TRANSPORT","desc":"离开【杭州电商仓配揽投部】,下一站【杭州萧山区东片集散中心】","areaCode":"CN330100000000","areaName":"浙江省,杭州市"},...]}}物流状态对照表
| 序号 | 物流主状态 | 物流子状态 |
|---|---|---|
| 1 | WAIT_ACCEPT: 待揽收 | RECEIVE: 接单中 WAIT_ACCEPT: 待揽收 |
| 2 | ACCEPT: 已揽收 | ACCEPT: 已揽收 |
| 3 | TRANSPORT: 运输中 | TRANSPORT: 运输中 ON_THE_WAY: 在途中 SEND_ON: 转单或修改地址转寄 ARRIVE_CITY: 到达目的城市 |
| 4 | DELIVERING: 派件中 | DELIVERING: 派件中 STA_INBOUND: 已放入快递柜或驿站 |
| 5 | AGENT_SIGN: 已代签收 | AGENT_SIGN: 已代签收 |
| 6 | SIGN:已签收 | SIGN: 已签收 STA_SIGN: 从快递柜或者驿站取出 RETURN_SIGN:退回签收 |
| 7 | FAILED:包裹异常 | FAILED: 包裹异常 TIMEOUT_UNSIGEN: 超时未签收 TIMEOUT_NO_UPDATE: 超时未更新 REFUSE_SIGN: 拒收 DELIVER_ABNORMAL: 派件异常 STA_TIMEOUT_UNSIGEN: 快递柜或者驿站超时未取 CONTACT_FAIL: 无法联系 OVER_AREA: 超区 RETENTION: 滞留件 ISSUE: 问题件 RETURN: 退回件 SEND_NO_MESSAGE: 发货无信息 DAMAGE: 破损 CANCEL_ORDER:揽件取消 |
示例代码
importcom.anq.core.utils.HttpUtil;importcom.anq.core.utils.JsonUtil;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.codec.digest.DigestUtils;importorg.junit.Test;importjava.util.HashMap;importjava.util.Map;@Slf4jpublicclassExamples{StringappId="";StringappSecret="";StringapiUrl="";@Testpublicvoidexamples(){longtimestamp=System.currentTimeMillis();Stringsign=DigestUtils.sha256Hex(appId+appSecret+timestamp);// 生成signMap<String,Object>params=newHashMap<String,Object>();params.put("appId",appId);//params.put("timestamp",timestamp);params.put("sign",sign);params.put("productCode","express_query");// 固定值params.put("expressCode","");// 快递公司编号 ,例如圆通:YTO,详见:快递公司编码对照表params.put("number","");// 运单编号params.put("mobile","");// 手机号 ,顺丰速运、中通、跨越速运需要传入收/寄件人手机号或后四位手机号params.put("sort","");// 物流明细排序 ,desc:倒序,asc:升序,默认ascStringresultJson=HttpUtil.postForm(apiUrl,null,params);log.info(resultJson);JumeiOpenApiResponsejumeiOpenApiResponse=JsonUtil.toObject(resultJson,JumeiOpenApiResponse.class)if(jumeiOpenApiResponse.getCode()==200){//TODO}else{//TODO}}}