Skip to main content
首頁博客指南如何將貨件追蹤 API 整合至您的電子商店

如何將貨件追蹤 API 整合至您的電子商店

17TRACK

要將貨件追蹤 API 整合到你的電子商務商店,請將訂單系統連接至追蹤服務供應商,透過安全的伺服器端請求傳送貨件及承運商資料,儲存標準化的追蹤事件,並在客戶及支援介面中顯示所得的狀態。可靠的實作不只是加入追蹤編號欄位:還必須處理承運商選擇、狀態更新、派送異常、重試、私隱,以及客戶實際使用購後資訊的方式。

如何將貨件追蹤 API 整合到你的電子商務商店

本指南為商店擁有人、開發人員及營運團隊介紹實用的整合方法。指南以 17TRACK 的官方 Tracking API 文件作為參考,但在評估其他多承運商服務供應商時,同樣的規劃原則亦適用。

決定整合必須達成的目標

先從業務成果出發,而不是 API 端點。大多數商店都希望減少「我的訂單在哪裏?」的查詢,讓買家清楚了解配送情況,並協助營運團隊在客戶投訴前識別延遲貨件。這些目標需要不同的資料和工作流程。

  • 客戶可見性:顯示目前的貨件狀態、可提供時顯示預計送達資訊、承運商詳情,以及最新的重要事件。
  • 營運可見性:讓員工可以在不同承運商之間找出延遲、停滯、退回或出現異常的貨件。
  • 自動通訊:當貨件達到指定狀態時,觸發已核准的電郵、SMS 或其他通知。
  • 資料一致性:將不同承運商的事件標籤轉換成較少而可靠、可供商店使用的狀態。

在選擇實作方法前先定義這些成果。追蹤 API 可以提供貨件資料,但不會自動決定哪些事件值得向客戶發送通知,也不會決定你的商店應如何處理地址問題。

選擇合適的整合架構

典型架構包括四個層面:電子商務平台、整合服務、追蹤服務供應商,以及面向客戶的體驗。整合服務可以是後端應用程式、訂單管理系統或無伺服器工作流程。將這些邏輯保留在伺服器上,通常比將 API 憑證放在瀏覽器程式碼中更安全。

基本流程如下:

  1. 已付款訂單完成履行,並獲得追蹤編號及承運商資料。
  2. 你的後端將貨件詳情傳送給追蹤服務供應商。
  3. 供應商根據其 API 設計返回追蹤識別碼或追蹤資料。
  4. 你的系統儲存供應商參考資料,並將貨件事件映射至內部狀態。
  5. 排程更新程序或受支援的事件通知會重新整理貨件資料。
  6. 你的商店前端、訂單頁面、支援工具及通知服務從自有的標準化資料讀取資訊。

不要讓每次頁面檢視都呼叫承運商或追蹤 API。這種設計可能導致客戶體驗緩慢、重複請求、速率限制問題及結果不一致。請在資料庫中儲存最近一次已接受的追蹤狀態,並透過受控的背景工作或供應商支援的更新機制重新整理資料。

編碼前確認供應商文件

開始實作前,請查閱供應商的官方 API 文件,了解驗證、請求格式、回應欄位、支援的承運商、錯誤行為、更新機制及帳戶要求。17TRACK 提供專門的 Tracking API product page 及 developer documentation。目前的 API 行為應以這些頁面為準,不要依賴從論壇或舊有整合教學複製的例子。

根據文件建立一份簡短的要求清單:

  • API 憑證如何發出、儲存、輪換及撤銷?
  • 請求是否需要承運商代碼,還是服務可以根據追蹤編號識別承運商?
  • 哪些回應欄位可以識別貨件、狀態、位置、時間戳記及異常訊息?
  • 如果帳戶支援非同步更新,相關更新如何傳送?
  • 文件列明的請求限制、計費規則、逾時預期及錯誤代碼是甚麼?
  • 應如何處理重複追蹤編號、無效編號、未知承運商及已送達貨件?

不要從產品名稱推斷功能。例如,「即時」可能只是產品定位聲明,而不是保證每個承運商事件都會立即出現。你的實作應說明承運商掃描可能會延遲,而 API 無法建立承運商尚未報告的掃描記錄。

準備訂單及貨件資料

通常在貨件履行時建立追蹤資料最為合適,而不是在建立訂單時建立。訂單可能已付款但尚未包裝,而追蹤編號也可能在包裹被承運商接收前已經產生。請決定履行流程中的哪個事件應建立追蹤記錄。

你的內部貨件記錄至少應區分以下數值:

  • 內部訂單 ID 及履行 ID
  • 追蹤編號
  • 承運商名稱或承運商代碼
  • 目的地國家或地區(如營運上需要)
  • 供應商追蹤 ID 或訂閱參考資料(如有返回)
  • 目前的標準化狀態
  • 最近事件時間戳記及最近同步時間戳記
  • 供應商原始回應或受控的稽核參考資料

將訂單資料和貨件資料分開。單一訂單可以包含多個包裹、分拆貨件或不同承運商。當倉庫分開寄出商品時,一個訂單對應一個追蹤編號的假設往往會失效。

使用具冪等性的流程。如果履行系統重試相同請求,整合應更新現有貨件,而不是建立重複訂閱或重複客戶訊息。實際的冪等鍵可以由內部履行 ID、承運商識別碼及追蹤編號組成,但仍須遵守供應商自身的要求。

為客戶標準化承運商狀態

不同承運商使用不同的標籤和事件順序。你的商店應維持一套精簡的內部狀態模型,例如 已收到資料、運送中、派送中、已送達、異常及已退回。為支援人員保留原始承運商事件,但在商店前端邏輯中使用標準化狀態。

標準化規則應清晰明確。「已建立標籤」事件不應被呈現為包裹正在運送的證明。「已送達」應視為承運商報告的事件,而不是保證客戶已實際找到包裹。異常也不應僅因貨件稍後可能繼續運送,就被悄悄轉換為「運送中」。

此外,請定義狀態優先次序及回退處理。延遲的承運商資料可能會以錯誤順序到達。在可用的情況下比較事件時間戳記,記錄原始事件,並避免以較早的運送中狀態取代較新的已送達狀態。如果時間戳記缺失或含糊不清,請將記錄標記為需要保守更新,而不是自行編造順序。

建立伺服器端請求流程

你的後端應在呼叫追蹤服務供應商前驗證收到的履行資料。檢查追蹤編號是否存在,刪除意外的空格,在適當情況下驗證預期格式,並確認承運商值是否可接受。不要僅因不符合狹窄的本地格式,就拒絕不常見但有效的追蹤編號。

不依賴特定供應商的請求流程可以表示如下:

receive fulfillment event
validate order and shipment fields
check for an existing idempotency key
send the documented tracking request from the server
store the provider response and internal shipment record
queue a refresh or process the supported update event
publish only approved fields to the storefront

針對暫時性故障使用較短的逾時時間、有上限的重試次數及指數退避。不要重試每一種錯誤。驗證失敗、請求無效或不支援的承運商通常需要修正,而不是重複呼叫。記錄關聯 ID、請求結果及供應商錯誤類別,但避免在應用程式日誌中寫入 API 金鑰、完整客戶地址或不必要的個人資料。

將供應商回應與面向客戶的資料模型分開。這樣可以更容易更換供應商、修正映射規則,以及限制公開訂單頁面所披露的資訊。

設計客戶追蹤體驗

追蹤頁面應快速回答三個問題:目前狀態是甚麼、最近發生了甚麼,以及客戶下一步應做甚麼?顯示訂單參考資料、以保障私隱的形式顯示貨件編號、承運商名稱、最近事件時間,以及對異常情況的清晰解釋。

不要將空白時間線顯示得像技術故障。在首次承運商掃描前,說明已收到運送資料,而包裹可能尚未顯示移動狀態。對於異常情況,只在來源資料支持時提供易明的解釋。如果承運商報告地址問題,請連結至你的企業實際能夠提供的支援流程或客戶服務行動。

對於建基於 Shopify 或其他電子商務平台的商店,請確認平台如何提供履行事件、客戶帳戶、訂單狀態頁面及通知範本。Shopify 的官方開發人員文件包括 webhooks 及 fulfillment data 的資源。平台 API 及版本化文件可能會變更,因此在進行生產工作前,請確認你的應用程式所使用的版本。

謹慎使用通知

貨件事件是有用的觸發條件,但為每次承運商掃描發送訊息可能會造成通知疲勞。定義業務規則,例如在建立貨件、有意義的運送進度、派送中、送達及特定異常時發送通知。抑制重複通知,並為重複的延遲訊息設定最短間隔。

將營運警報與客戶通知分開。支援團隊可能需要知道貨件數天沒有變化,而客戶可能只需在承運商報告具體異常時收到訊息。時間門檻應反映服務水平、目的地、承運商及運送方式,而不是採用沒有營運依據的統一數字。

以真實配送情況進行測試

一個追蹤編號的成功回應不足以支持正式推出。建立涵蓋多個承運商、國家、貨件類型及事件狀態的測試矩陣。至少測試以下情況:

  • 新建立但尚未有承運商掃描的貨件
  • 正常運送中的貨件
  • 派送中的貨件
  • 已送達的貨件
  • 異常或與地址相關的事件
  • 已退回的貨件
  • 無效追蹤編號
  • 重複履行事件
  • 供應商回應延遲或逾時
  • 順序錯誤的事件

不要只衡量 API 可用性。檢查是否更新了正確訂單、客戶是否看到易於理解的語言、重複通知是否被抑制,以及支援人員是否能識別原始承運商事件。先進行有限度推出,保留營運備援方案,並在發布後監察錯誤類別。

安全性、私隱及維護

將憑證儲存在密碼管理器或受保護的環境變數中,不要放在主題程式碼、流動程式碼、原始碼控制系統或瀏覽器請求中。按角色限制貨件資料存取,使用 HTTPS,並檢視原始回應及與客戶相關欄位的保留時間。

定期檢查供應商文件及電子商務平台的 API 版本。承運商支援、事件名稱、驗證要求及平台 webhook 行為都可能改變。讓狀態映射規則可以設定,記錄規則背後的假設,並確保可以重新播放或調整貨件,而不會再次向客戶發送訊息。

當你的商店需要跨承運商的專門追蹤整合時,17TRACK 的 API 是值得評估的相關選項。合適的選擇仍取決於你使用的承運商、服務的國家或地區、帳戶文件所列明的更新行為、預期請求量,以及團隊所需的營運控制措施。在確定生產設計前,請於官方文件及受控的概念驗證中確認這些事項。

常見問題

應否在下單時建立追蹤資料?

通常不應該。當履行流程已取得承運商及追蹤編號時,才建立或啟用貨件記錄。在結帳時建立可能會為其後被取消、未履行或分拆的訂單產生記錄。

追蹤 API 可以保證即時配送資訊嗎?

任何 API 都不能保證每次承運商掃描會立即可見。供應商依賴承運商資料,而承運商系統可能延遲或遺漏報告事件。請準確呈現時間戳記及狀態用語,除非相關文件及服務協議支持該承諾,否則不要承諾確切的更新時間。

瀏覽器應否直接呼叫追蹤 API?

在大多數實作中,不應該。使用伺服器端整合,讓憑證保持受保護、回應可以標準化、重試可以受控,而面向客戶的資料可以經過篩選。商店前端通常應從你的應用程式讀取已核准的貨件檢視資料。

商店應如何處理一張訂單中的多個包裹?

將每個履行或包裹建模為獨立貨件,同時保留上層訂單 ID。訂單頁面可以顯示整體摘要,以及每個包裹的獨立時間線。這樣可以避免一個包裹已送達的狀態掩蓋另一個延遲包裹。

第一個應監察的生產指標是甚麼?

監察從建立履行資料到正確更新客戶可見狀態的完整流程。API 成功本身並不足夠。追蹤重複記錄、過時貨件、未映射事件、通知失敗,以及需要人工修正的貨件比例。

來源

Loading