Shopify API 整合:運作方式、使用場景及入門指南
Shopify API 整合可將商店連接至另一個系統,讓產品、訂單、客戶、履行資料或貨件事件可以在兩者之間傳送,而無需重複手動輸入。通常的實作會先建立 Shopify 應用程式或私人營運服務,使用適當的 API 權限,在可行的情況下透過 webhooks 接收變更,並為驗證、速率限制、重試及重複事件加入防護措施。若要提高貨件可見度,可考慮使用 17TRACK API 等追蹤 API,配合 Shopify 自身的訂單及履行資料使用。
正確的整合設計取決於需要自動化的業務流程。只需要品牌化追蹤頁面的商店,與需要將 Shopify 與 ERP、倉庫管理系統、客戶服務平台或多承運商追蹤服務同步的零售商,所需的方案並不相同。
Shopify API 整合的作用
API 整合讓兩個系統透過經過驗證的請求及事件通知交換結構化資訊。在典型的電子商務流程中,Shopify 會作為部分商業資料的唯一真實來源,而另一個平台則負責管理專門流程。
- Shopify 傳送至另一個系統:訂單、產品資訊、客戶資料、履行記錄及選定的訂單事件,可以傳送至 ERP、倉庫平台、分析系統或客戶服務工具。
- 另一個系統傳送至 Shopify:當整合具備所需權限,而目標工作流程亦支援時,庫存更新、履行確認、追蹤號碼及履行狀態變更可以寫回 Shopify。
- 向應用程式傳送事件:當選定變更發生時,webhooks 可通知整合系統,減少持續輪詢 Shopify 以檢查每項可能更新的需要。
- 將追蹤資料帶至客戶體驗:追蹤服務可以標準化承運商事件,然後在商店的訂單狀態流程、通知系統或支援介面中顯示。
API 不會自動決定哪些記錄應該傳送、欄位應如何對應,或系統意見不一致時應採取甚麼措施。這些都是整合設計決策。因此,可靠的專案不應只有兩個端點之間的連線,還應包括業務規則、資料擁有權、監控及復原流程。
整合如何運作
1. 選擇整合模式
常見模式有三種。
- 原生 Shopify 應用程式:由商戶安裝的應用程式負責授權,並使用 Shopify API 存取獲准的商店資料。當整合將服務多間商店時,這通常較為合適。
- 自訂應用程式或內部服務:企業為自己的商店或組織建立整合。這能更嚴格控制欄位對應及營運規則,但擁有人仍需管理憑證、權限、版本變更及可靠性。
- 連接器或自動化平台:第三方連接器透過預先建立的工作流程,將 Shopify 與另一項服務連接。這可以縮短實作時間,但複雜的履行規則、高事件量或不尋常的資料模型可能需要自訂開發。
選擇模式前,應記錄涉及的系統、需要傳送的記錄、每項資料流的方向及可接受的延遲。對於面向客戶的頁面,可以接受幾分鐘內收到的追蹤更新;但庫存同步可能需要更嚴格的營運控制。
2. 以實際所需的最小範圍建立存取權限
Shopify 使用 API 存取範圍控制應用程式可讀取或寫入的內容。整合應只要求其記錄功能所需的權限。例如,只讀取履行資訊的服務,不應自動要求修改無關產品或客戶資料的權限。
驗證詳情取決於應用程式類型及 Shopify 當前的平台要求。Shopify 文件應被視為支援的授權流程、權杖處理方式及目前 API 版本的權威來源。應將商店憑證儲存在秘密管理系統,而非原始碼、試算表、瀏覽器儲存空間或一般設定檔中。
3. 選擇 API 及資料模型
Shopify 為不同用途提供 API。Admin GraphQL API 是管理商店資料的主要選項之一,讓應用程式透過以圖形為基礎的查詢模型要求欄位。Shopify 亦為特定使用案例記錄其他 API 及介面,因此應根據目前文件確認正確選項,而不應直接採用舊教學中的做法。
主要設計工作是對應不同系統之間的業務物件。例如,Shopify 訂單可能對應 ERP 中的訂單、倉庫系統中的履行要求,以及追蹤平台中的貨件記錄。這些物件可能沒有相同的識別碼或狀態詞彙。應儲存每個系統的原始 ID,並定義穩定的交叉參照,而非只按客戶姓名或訂單總額配對記錄。
4. 結合 webhooks 與受控的 API 讀取
當系統需要回應變更時,webhooks 非常有用。相關 Shopify 事件發生後,它們可以啟動工作流程,而不必持續輪詢。不過,接收到的 webhook 通常應被視為驗證及處理變更的訊號,而不是所有下游操作均已成功的證明。
穩健的處理程式會按照 Shopify 記錄的方法驗證請求、記錄事件、檢查事件是否已處理,並在處理可能需要時間時將工作放入佇列。工作程序隨後可取得所需記錄、套用業務規則並記錄結果。這有助於避免逾時,並令重試更安全。
5. 處理限制、故障及版本變更
API 呼叫可能因暫時性網絡問題、憑證過期、資料無效、權限變更、節流或 API 版本轉換而失敗。整合應區分暫時性失敗與永久性驗證錯誤。暫時性失敗可以採用退避策略重試;永久性錯誤則需要警報、修正流程或人工審查。
速率限制是技術設計的一部分,而非最後才進行的最佳化。應使用分頁,只要求所需欄位,避免不必要的輪詢,將突發請求放入佇列,並監控回應代碼及處理延遲。在估算正式環境容量前,應先查閱 Shopify 官方文件所載的最新限制及行為。
常見 Shopify API 整合使用案例
訂單及履行同步
履行整合可以將新訂單傳送至倉庫或 3PL,然後將履行確認及追蹤號碼寫回 Shopify。重要決定包括訂單何時符合匯出資格、如何處理已取消或已編輯的訂單,以及交接後由哪個系統負責貨件狀態。
不要假設訂單建立即代表可以出貨。付款狀態、詐騙審查、庫存分配、送貨地址驗證及履行地點,都可能影響放行規則。
庫存同步
庫存整合會在 Shopify、倉庫、網上平台及內部系統之間同步可用數量。實用的設計會定義庫存來源、安全庫存、預留行為及衝突解決方式。沒有這些規則,兩個系統可能互相覆寫,或顯示已經分配的庫存。
客戶服務及訂單查詢
支援平台可以使用 Shopify 資料協助客服人員尋找訂單、查看履行進度及確認下一項營運行動。這可以減少在不同分頁之間切換,但客戶資料應限於支援用途。在將個人資料複製至另一個平台前,應檢查保留、存取控制及私隱要求。
貨件追蹤及購買後更新
Shopify 可以儲存訂單及履行資訊,而追蹤服務則可以提供特定承運商的貨件事件及標準化狀態檢視。當商戶使用多間承運商或進行國際運送時,這種分工十分有用。整合應一致地對應承運商代碼、追蹤號碼、貨件參考資料及事件狀態。
對於希望使用現成 Shopify 追蹤流程,而非建立自訂 API 專案的商戶,官方 17TRACK Shopify 應用程式 是可另行評估的選項。對於自訂應用程式,應查閱 17TRACK API 文件,了解目前的驗證、端點、追蹤及帳戶要求。應用程式與 API 解決的是相關但不同的實作問題;在未測試所需工作流程前,不應將其中一者視為另一者的替代方案。
實用入門計劃
- 以業務語言寫下目標。例如:「在指定服務時限內將已付款訂單傳送至倉庫」,或「在分配追蹤號碼後向客戶顯示貨件進度」。
- 列出系統及負責人。確認誰負責產品、庫存、訂單、履行、追蹤事件及客戶通知。
- 建立欄位對應表。包括 ID、時間戳、狀態值、地址、數量、承運商代碼、追蹤號碼及錯誤欄位,並標示必填、選填、唯讀及已轉換欄位。
- 確認目前文件。檢查 Shopify 的 API 版本、驗證方法、存取範圍、webhook 要求、分頁行為及速率限制。每個外部平台亦應查閱相應文件。
- 建立範圍精簡的概念驗證。從小型測試商店或受控資料集開始。在加入所有物件類型前,先驗證驗證流程、一條讀取路徑、必要時的一條寫入路徑,以及一個事件驅動工作流程。
- 加入冪等性及對帳。重複 webhook 或重試不應建立重複貨件、重複客戶訊息或重複庫存調整。安排對帳檢查,以找出遺漏或被拒絕的記錄。
- 測試營運例外。包括已取消訂單、已修改地址、分拆貨件、部分履行、缺少追蹤號碼、無效承運商代碼、重複事件、API 節流、憑證過期及承運商更新延遲。
- 配合監控發布。追蹤成功及失敗事件、佇列年齡、API 回應錯誤、處理時間及需要人工處理的記錄。定義警報接收人及失敗重播方式。
何時使用連接器、自訂應用程式或追蹤 API
| 選項 | 通常適用於 | 選擇前的主要檢查項目 |
|---|---|---|
| 連接器或自動化工具 | 自訂程度有限的標準工作流程 | 支援的物件、事件延遲、錯誤處理、工作限制及資料保留 |
| 自訂 Shopify 應用程式或服務 | 獨特業務規則、多個系統或受控的內部流程 | 開發負責權、安全性、監控、API 維護及整體營運成本 |
| 追蹤 API | 自訂的購買後或貨件可見度體驗 | 承運商及地區要求、追蹤生命週期、更新行為、限制及商業條款 |
如果工作流程需要自訂重試或複雜對帳,連接器不一定較簡單。相反,如果標準且獲良好支援的應用程式已能滿足要求,自訂整合也不一定更好。最具理據的選擇,是採用能滿足資料、可靠性、安全性及營運要求的最小實作方案。
安全性及可靠性檢查清單
- 使用最小權限的存取範圍,並在整合變更時重新檢查。
- 將權杖及秘密放在應用程式程式碼之外,並透過受控流程輪換。
- 按照平台文件驗證 webhook 真確性。
- 加密傳輸中的資料,並限制對日誌及客戶記錄的管理存取權。
- 使用冪等處理,避免重試重複產生副作用。
- 儲存來源系統 ID 及事件時間戳,以供審計及對帳。
- 分開測試及正式環境憑證,避免在一般測試中使用真實客戶資料。
- 將個人資料複製至另一項服務前,檢查私隱、保留及刪除義務。
- 監控 API 版本,並在支援版本變更前規劃升級工作。
常見問題
Shopify API 整合是否等同於安裝 Shopify 應用程式?
不是。Shopify 應用程式可能使用 Shopify API,但安裝應用程式是面向商戶的部署操作。API 整合則是 Shopify 與另一個系統之間更廣泛的連接,可以透過公開應用程式、自訂應用程式、內部服務或連接器提供。
我應使用哪個 Shopify API?
應根據資料及工作流程選擇 API,然後在 Shopify 文件中確認目前建議。對於管理商店資料,Admin GraphQL API 是常見選項,但仍須針對具體使用案例檢查驗證、權限、物件可用性及版本支援。
Shopify 能否自行提供承運商追蹤更新?
Shopify 可以儲存履行及追蹤資訊,但完整的追蹤體驗取決於貨件事件如何取得、標準化、顯示及傳達。多承運商或國際流程可能需要專用追蹤服務或另一層整合。
應使用 webhooks 還是輪詢?
webhooks 通常適合回應變更,而受控的 API 讀取則適合驗證、對帳及復原。正式環境的整合通常會兩者並用,而不是完全依賴其中一種方法。
Shopify API 整合需要多久?
沒有可靠的統一時間表。基本連接器可能很快便能設定,而涉及庫存、履行、客戶資料、多間承運商及對帳的自訂整合,則需要更多設計及測試。系統數量、例外規則、安全審查及部署控制,比單純的 Shopify 連線更能預測所需時間。


