退貨及履約團隊的 USPS Tracking API 整合要求
USPS 追蹤 API 整合並不只是將追蹤號碼發送到端點。退貨及履行團隊需要獲批准的存取方式、可靠的貨件資料模型、事件標準化、輪詢或 webhook 邏輯、例外處理,以及私隱和營運恢復控制。正確的設計應同時支援建立貨件的倉庫工作流程,以及監察包裹返回商戶的退貨工作流程。
USPS 文件及存取安排可能會變更,因此團隊在實施前應確認目前的開發者計劃、驗證方法、服務條款及技術限制。以下要求提供一個持久的規劃框架,但不假設每個 USPS 帳戶都擁有相同的 API 存取權限。
整合必須完成的事項
履行整合需要回答一個簡單的營運問題:出庫包裹目前在哪裏,企業下一步應該怎樣做?退貨整合則要回答一個相關但不同的問題:退回的貨品是否已進入承運商網絡、已抵達商戶,還是在檢查及退款前出現延誤?
對於兩種工作流程,整合都應將 USPS 追蹤事件連接至內部貨件、訂單、退貨授權及客戶記錄。單靠追蹤號碼並不足夠。系統還需要訂單識別碼、包裹方向、服務類型(如有)、目的地或退貨地址、建立時間戳,以及負責下一步行動的業務負責人等背景資料。
- 履行:建立或關聯貨件、監察承運商接收及運送情況,並在需要關注的派送或例外情況出現時通知團隊。
- 退貨:識別預期的入庫包裹、確認承運商已接收、偵測包裹已送達退貨地點,並避免退款決定依賴未經核實的客戶聲明或過時狀態。
- 客戶支援:顯示易於理解的追蹤資訊,同時保留承運商的原始事件詳情,以便進行審核及爭議處理。
USPS 核心整合要求
1. 確認目前的存取及驗證模式
應先參考 USPS 官方開發者資料,而不要假設舊有範例請求或非官方程式庫反映目前的計劃。確認預定用途是否需要帳戶、應用程式註冊、憑證、獲批准的產品或服務,或接受額外條款。將憑證儲存於 secrets manager,並在可行情況下限制其權限;同時將沙盒或測試憑證與生產環境憑證分開。
驗證應在業務邏輯之外處理。應用程式應能在不更改訂單處理程式碼的情況下輪換憑證,將驗證失敗與承運商狀態失敗分開記錄,並防止憑證出現在日誌、瀏覽器程式碼、支援截圖或面向客戶的 URL 中。
2. 定義最少貨件資料合約
內部資料模型不應依賴某一種固定的 USPS 回應格式。至少應維護:
- 內部貨件或退貨 ID
- 訂單 ID 及退貨授權 ID(如適用)
- 承運商名稱及承運商專用追蹤號碼
- 貨件方向:出庫或入庫
- 服務級別(如有提供且與營運相關)
- 事件代碼、事件描述、事件時間戳及事件地點(如有)
- 首次發現時間戳及最後檢查時間戳
- 承運商原始回應或可供審核的參照資料
- 目前的標準化狀態及產生該狀態的規則
將承運商的原始措辭與標準化狀態並列保留。像「運送中」這類廣泛狀態對儀表板很有用,但原始事件可能是解釋派送嘗試、轉寄指示、地址問題或例外情況所必需。
3. 在發出請求前驗證追蹤號碼
驗證應移除意外的空白,在相關情況下保留開頭字元,並在請求送達 API 前拒絕空值或明顯格式錯誤的值。驗證不應僅透過符合假定的長度或格式,便試圖證明包裹存在。語法上看似合理的追蹤號碼仍可能尚未發出、未啟用、輸入錯誤,或屬於其他承運商。
對於退貨,應在開始追蹤前將追蹤號碼與預期的退貨授權關聯。如果客戶更改退貨方式或提供不同號碼,應保留原本的預期值及替換值,並附上審核備註。這可防止之後的掃描被連接至錯誤的退貨。
4. 有意識地選擇輪詢策略
許多承運商整合都以重複狀態檢查為基礎,而其他平台可能支援事件傳送或受管理的追蹤層。實施時應確認所選 USPS 存取方式實際提供的功能。除非官方文件支援該功能,否則不要將輪詢 API 描述為 webhook 整合。
實際的輪詢設計會為不同狀態使用不同間隔。新建立的貨件可能需要較短的初始驗證時段;運送中的包裹可按正常時間表檢查;已送達或已關閉的退貨則可轉入低頻率的核對流程。具體間隔應根據獲授權服務的條款、已記錄的限制、營運緊急程度及不必要請求的成本而定。
對暫時性錯誤使用指數退避,加入抖動以防止同步重試突增,並停止重試永久無效的請求。使用佇列或工作排程器,通常比在結帳、列印標籤或退款交易內直接發出追蹤請求更安全。
5. 標準化事件但不要失去不確定性
USPS 事件應映射至受控的內部詞彙,但映射必須保留歧義。例如,表示已接收的掃描不等同於預計派送日期,而派送嘗試也不等同於確認遺失。實用模型可包括標籤已建立、已接收、在網絡中運送、派送嘗試、已送達、暫存或可供領取、例外,以及近期沒有更新等狀態。
為「最後一個承運商事件」及「業務處置」保留獨立欄位。包裹可能有最近的承運商掃描,但仍需要營運決定。相反,沒有新掃描的包裹也未必已遺失;正確的業務行動可能是等待、聯絡承運商、聯絡客戶,或啟動既定的調查流程。
6. 令更新具備冪等性並保持順序
同一事件可能會返回多次,而延遲抵達的回應可能不代表最新狀態。可行時應儲存穩定的事件識別。若沒有事件識別,則使用以追蹤號碼、事件時間戳、事件代碼、地點及描述為基礎的審慎複合鍵,同時容許合法的重複掃描。
不要僅因請求完成順序錯亂,便以一般較早狀態覆寫已送達狀態。應比較事件時間並維護審核記錄。如果時間戳不完整或不一致,應將記錄交由核對規則處理,而不是無聲地強行作出結論。
退貨營運的特定要求
退貨團隊需要的不只是派送可見性,還需要一條將客戶退貨請求、實體貨品及財務決定連接起來的保管鏈。
- 退貨授權:在開始追蹤前建立退貨記錄,並記錄預期的承運商及追蹤號碼。
- 首次接收:將承運商接收掃描視為包裹已進入網絡的證據,而不是證明包裹內是正確貨品。
- 入庫派送:將派送連接至指定的退貨地址或設施,包括商戶營運多個收貨地點的情況。
- 檢查佇列:只有在符合業務規則後,才將退貨移至檢查階段。送達本身並不能確認貨品狀況、數量或資格。
- 例外處理:標記運送停滯、派送嘗試、地址問題及互相衝突的追蹤號碼,交由人工或自動化工作流程處理。
- 退款控制:定義退款可在接收、送達、檢查或其他政策事件發生時發出。API 應為政策提供證據,而不是悄悄決定政策。
當客戶使用商戶生成的標籤但退回不同貨品、同一退貨包含多個包裹,或退貨被送到第三方倉庫時,這種分離尤其重要。
履行及倉庫團隊的要求
出庫履行取決於清晰的交接。倉庫管理系統、訂單管理系統、運輸平台及客戶服務介面應就哪個系統擁有追蹤號碼,以及哪個系統擁有貨件狀態達成一致。重複貨件記錄是造成重複通知及錯誤例外數量的常見原因。
建立標籤時,應在持久記錄中擷取追蹤號碼及承運商身份。交接時,應將相關履行里程碑與 USPS 的首次掃描分開記錄。這種區分有助團隊識別延誤是在承運商接收前、運輸期間,還是在派送嘗試後發生。
營運儀表板應優先顯示可採取行動的例外,而不是平等展示每一次掃描。有用的佇列可包括在指定時間後仍沒有接收事件的包裹、有多次派送嘗試的包裹、等待倉庫收貨的已送達包裹,以及追蹤號碼與授權不符的退貨。
上線前測試清單
成功的測試應涵蓋的不只是一個已送達包裹。使用所選 USPS 計劃允許的測試記錄及承運商回應,並避免在開發日誌中放入真實客戶資料。
- 具有初始狀態的有效追蹤號碼
- 尚未產生事件的追蹤號碼
- 已送達貨件
- 派送嘗試或其他例外狀態
- 重複回應及重複輪詢
- 格式錯誤的請求、無效憑證、逾時及速率限制回應(如測試時可用)
- 以錯誤順序抵達的事件
- 使用替換追蹤號碼的退貨
- 連接至同一訂單或退貨的多個包裹
- 缺少地點、時間戳或包含不熟悉事件措辭的承運商回應
量度請求成功率、回應延遲、重試量、過時記錄、不匹配追蹤號碼,以及從重要事件發生至內部更新的時間。這些指標可揭示問題源於驗證、承運商可用性、資料映射,還是倉庫流程。
何時多承運商追蹤層可能更合適
如果營運同時使用 USPS 及其他承運商,多承運商追蹤服務可以減少履行及退貨團隊需要維護的承運商專用整合數量。17TRACK 的 Tracking API 及 developer documentation 說明了多承運商追蹤的另一種整合選項。團隊在選擇前,應直接在目前的文件中核實支援的承運商、事件欄位、驗證、使用條款及營運限制。
當企業希望跨承運商使用一套標準化追蹤工作流程,而不是只連接 USPS 時,這種方式最為相關。它並不會消除內部貨件匹配、退貨授權邏輯、私隱控制或例外負責權的需要。標準化層可以簡化承運商之間的差異,但無法修正錯誤的訂單與追蹤關聯。
安全、私隱及管治
應根據工作職能限制對貨件資料的存取。面向客戶的頁面只應顯示派送支援所需的資料,而內部系統則可保留更詳細的事件歷史。定義原始回應及日誌的保留期限,遮蓋憑證及不必要的個人資料,並記錄誰可以手動更改貨件狀態。
清楚區分承運商資料及業務生成的估算。預計派送日期、退款資格決定或「包裹遺失」標籤,應可識別為內部計算或政策結果。這種區分可令客戶溝通更準確,並在承運商事件變更時簡化調查。
實施決策指南
當工作流程只限於 USPS、團隊能夠維護承運商專用邏輯,而目前 USPS 存取方式符合所需資料及營運要求時,應選擇直接 USPS 整合。當相同的訂單、退貨及支援系統必須處理多個承運商,而共用事件模型比直接控制更有價值時,則應考慮多承運商層。
無論採用哪種方式,團隊都應在能夠回答五個問題後才批准設計:誰負責憑證?哪個系統擁有追蹤記錄?甚麼算作接收、送達及結案?當事件停止或互相衝突時會怎樣?每種例外會觸發哪項行動?這些答案才是真正的整合要求;API 請求只是解決方案的一部分。
常見問題
退貨團隊需要不同的 USPS 追蹤整合嗎?
不一定。承運商資料可能相似,但業務工作流程不同。退貨需要授權記錄、入庫目的地、檢查或退款規則,以及處理不匹配或多個追蹤號碼的控制。
有效的追蹤號碼是否證明 USPS 已持有包裹?
不是。追蹤號碼在語法上有效,但可能尚未有接收事件。應將承運商接收視為獨立的營運里程碑,並保留原始事件詳情。
每個 USPS 事件都應成為客戶通知嗎?
不是。應先在內部標準化事件,然後為重要里程碑及例外定義通知規則。當掃描重複或在營運上不重要時,過多通知可能造成混亂。
多承運商 API 可以取代 USPS 文件嗎?
不可以。多承運商平台可能簡化整合及標準化,但實施仍需要目前的供應商文件、帳戶條款、欄位映射,以及處理承運商專用例外的流程。
上線前應測試甚麼?
測試初始掃描、已送達及例外狀態、重複及順序錯誤的回應、驗證失敗、逾時、不匹配的追蹤號碼、多個包裹及退貨專用工作流程。亦應測試倉庫、支援及退款系統如何回應每個標準化狀態。
來源
- USPS Developer Portal — 目前的開發者存取及 API 資訊。
- USPS Web Tools and APIs — USPS 商業 API 資料及計劃資訊。
- USPS Tracking — 官方追蹤介面及承運商狀態背景資料。
- 17TRACK Tracking API — 基於 API 的追蹤官方產品資訊。
- 17TRACK API Documentation — 官方開發者文件。


