UPS REST API:Tracking接口与Track by Reference接口的区别及使用咨询
UPS REST API:Tracking接口与Track by Reference接口的区别及使用咨询
嘿,我最近在折腾UPS的REST API,刚好把Tracking接口和Track by Reference接口的区别摸了个大概,也分享下我用Tracking接口的实际经验~
先说说我熟的Tracking接口吧——只要手里有UPS官方的追踪号码,这个接口用起来特别顺手。我当时是按照官方帮助文档的说明来写的请求代码,亲测有效:
const inquiryNumber = "my tracking number"; $query = array( "locale" => "en_US", "returnSignature" => "false", "returnMilestones" => "false", "returnPOD" => "false" ); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Authorization: Bearer {你的API访问令牌}", "Content-Type: application/json" ], CURLOPT_URL => "https://onlinetools.ups.com/api/track/v1/details/{$inquiryNumber}", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "GET" ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
你看,代码里的inquiryNumber就是填UPS追踪号的地方,还能通过locale设置返回信息的语言区域,returnSignature、returnMilestones这些参数可以控制要不要返回签名、运输里程碑这类额外信息,按需调整就行,返回的响应数据特别精准。
再说说和Track by Reference接口的核心区别:
- 查询依据不同:Tracking接口必须用UPS生成的专属追踪号码;Track by Reference接口则是用你自己系统的参考编号(比如订单号、出库单号),但前提是你在创建UPS运单的时候,已经把这个参考号和对应的UPS追踪号做了绑定关联
- 适用场景不同:如果手里直接有UPS追踪号,用Tracking接口是最快最直接的;要是只有自己系统里的参考号,又不想额外存UPS追踪号,那Track by Reference接口就更适合,但查询的时候可能需要补充发货日期范围、收件人信息这类参数来缩小查询范围,避免结果混乱
- 查询精度不同:Tracking接口因为是精准匹配追踪号,返回结果几乎不会出错;Track by Reference接口如果参考号重复或者参数不全,可能会返回多个匹配结果,需要你再做筛选
我自己用下来,Tracking接口的稳定性很高,只要参数配置对、追踪号有效,基本不会掉链子。如果是用Track by Reference的话,一定要确保运单创建时的参考号绑定正确,不然查询的时候容易找不到对应记录。
内容来源于stack exchange




