DOCS

為什麼要使用 GraphQL

了解我們為什麼推薦透過 GraphQL 而非 REST 進行整合。

在 Zonos,我們為整合提供兩種主要 API 類型:GraphQL 和 REST。雖然 REST API 已經存在更長時間,可能對許多人更熟悉,但我們已轉向 GraphQL 以提供更高的靈活性和更快的創新速度。雖然兩種都仍然受支持,但本指南解釋了為什麼 GraphQL 不僅是我們整合的未來,也是整體整合的未來,並且是今天滿足您需求的更強大工具。

什麼是 GraphQL? 

GraphQL 是一種與 API 通信的替代方式,特別適合複雜的資料結構及在其上構建介面。與將資料視為獨立的獨立片段不同,GraphQL 展示了資料片段如何連接和相互關聯,使獲取和接收資訊變得容易。

將 GraphQL 視為一種查詢語言,允許您如同直接與資料庫通信一樣與 API 交談。使用 GraphQL 能讓您盡可能接近資料庫,讓您挑選和選擇您想要的資料及獲取方式,帶來巨大的性能優勢。

GraphQL 由 Facebook 建立以解決複雜資料結構的擴展問題。由於他們成功採用,越來越多公司開始認識到 GraphQL 對其 API 的優勢。

已經了解 REST?GraphQL 會很熟悉。

GraphQL API 比您可能認為的更容易使用。如果您習慣使用 REST API,以下是 REST 的核心概念如何轉換為 GraphQL。

功能↕REST↕GraphQL↕
端點請求向多個端點發送以進行不同的操作所有請求都向單一端點發送(例如 /graphql)
資料檢索使用特定端點上的 GET 方法檢索資料使用 查詢 來請求精確需要的資料,減少過度獲取或獲取不足
資料修改/操作使用 HTTP 方法(如 POST、PUT、PATCH 或 DELETE)修改或處理資料。使用 mutations 執行操作(例如,建立各方,計算 landed cost)
回應格式固定的回應格式返回所有預定義欄位,無論是否需要靈活的回應允許指定要包括的確切欄位,減少不必要的資料傳輸(如果這種靈活性感覺複雜,只需在我們的文件中使用預先編寫的查詢範例以獲得 REST 體驗)
資料連接通常需要多個請求來獲取相關資料巢狀查詢能在單一請求中檢索相關資料(例如,各方的詳細資訊和出貨項目一起)。使用者也可以構建工作流程以在單一 GraphQL 請求中管理多個 mutations,減少複雜性並提高效率

GraphQL 的優勢

一個類比 

想像您在一家餐廳,菜單讓您完全按照喜好訂購菜餚,相比之下另一家餐廳您只能選擇套餐。GraphQL 就像第一家餐廳:

  • 獲取您想要的確切內容: 使用 GraphQL,您可以要求確切的資料,不多不少。想像您只想要菜名和價格,而不是整個配料清單。使用 REST API,您必須獲取整個菜的詳細資訊並忽略您不需要的部分。
  • 組合自訂菜餚: 我們的 GraphQL API 可以輕鬆組合以建立更多自訂解決方案,類似於自助餐廳,您可以使用他們已經擁有的配料精確按照需要建立獨一無二的菜餚。相比之下,REST API 就像一家烘焙店,裝有預製商品的籃子——您只能訂購已經建立的東西,無法選擇只帶回您想要的一片。
  • 較少等待: 由於您可以在單一請求中獲取所有您需要的資訊,這就像要求服務員一次帶來您的開胃菜、主菜和甜點,而不是在每道菜之間等待。大多數 REST API 需要您發送多個請求以獲取不同的資訊片段。
  • 輕鬆更改訂單: 如果您的應用程式資料需求更改,GraphQL 可以更容易地調整。您只需更改您所需內容的查詢。使用 REST,您可能需要等待廚房(後端)為菜單建立新菜(端點),這需要更多時間。

GraphQL 相比 REST API 為獲取資料提供更多靈活性、效率和簡潔性,尤其是當您的需求更改或增長時。

Zonos 如何使用 GraphQL 

在過去幾年現代化平台的過程中,Zonos 選擇使用 GraphQL 而非 REST 為我們的 API 構建新功能。我們決定這樣做是因為我們的資料是複雜且相互連接的,很像導致 Facebook 建立 GraphQL 的資料。這種複雜性使得難以構建可擴展的 REST API,因為開發人員需要獲取和使用資料的方式在實作間變化很大,而 REST 不靈活。

GraphQL 透過允許實作我們 API 的開發人員挑選和選擇確切的資料及他們想要它的方式,完美地解決了這個問題。這允許他們不需要 Zonos 為每種情況進行自訂工作(同時他們等待)就能將其配合他們的工作流程。

使用 GraphQL 和我們平台現代化的組合結果使我們的 API 性能更強,使將 Zonos 整合到您的系統變得更快,並使 Zonos 能夠更快速地交付新功能。

更好的功能

Zonos 持續開發新功能,而 GraphQL 是第一個(通常也是唯一一個)獲得這些更新的 API。相比之下,我們的 REST API 已被視為生命週期結束,無法存取我們的許多新功能。

僅限 GraphQL 的功能範例:

  • Inclusive pricing
  • Labels API
  • 全新 Checkout 和 Hello
  • API 回應中的箱子尺寸
  • Dashboard 報表
  • 可在情況允許時請求 DDP 報價,但若該國家/地區在該服務級別下不提供 DDP,仍會返回 DDU 報價
  • 關稅、稅項和費用的詳細明細(商品層級資訊、特定費用)——Dashboard 由 GraphQL 驅動,會為所有商店顯示這些資料,但 REST API 回應並不包含此詳細程度
  • 測試模式(即將推出)
預約演示

這個頁面有幫助嗎?


獲取支持·法律文件·© 2026 Zonos