預覽 Shopify Flow 中使用的 API 資料

您在建立工作流程時,可能常須透過條件和動作使用您的商店資料。Shopify Flow 藉由呼叫 GraphQL Admin API 來存取商店資料,因此您可以存取 API 中絕大部分的欄位。

在建立工作流程時,經常會遇到以 API 為依據的欄位名稱和描述,但您可能需要知道 API 所輸出的資料。例如,對於從訂單草稿建立的訂單,您可能想知道對應的應用程式名稱。此外,您也可能想確保工作流程輸出的資料符合您的預期,或以您預期的形式輸出。

若要檢視資料,Shopify Flow 中有多個可供選擇的選項。

尋找 Shopify 管理介面中的欄位

多數情況下,您可以從 Shopify 管理介面取得資料。

使用即時工作流程中的欄位

您可以使用便於檢視資料的動作來產生工作流程,而不是預定在最終版本使用的動作。舉例來說,假設您想建立取消訂單工作流程,一開始可使用「傳送內部電子郵件」動作或「傳送 Slack 訊息」動作 (如果您使用 Slack),而不是使用可能錯誤取消訂單的「取消訂單」動作。

步驟:

  1. 選擇可手動觸發的觸發條件。
  2. 在工作流程中新增動作並將其連結至觸發條件,例如「傳送內部電子郵件」。
  3. 將您要檢查的變數加到「傳送內部電子郵件」動作的「訊息」部分。
  4. 點擊「開啟工作流程」。
  5. 手動執行工作流程或誘導觸發條件啟動,藉此觸發工作流程。例如,若您使用「訂單已建立」觸發條件,則應建立測試訂單。
  6. 執行工作流程後,查看電子郵件中的變數。

參閱 JSON 資源頁面

Shopify 管理介面中的多數資源頁面 (如「訂單」、「商品」或「顧客」頁面),都能讓您查看各自頁面所用的資料。這些資料與 Shopify Flow 使用的命名和格式不同,但值與 GraphQL Admin API 中的值相符。若要檢視資料,請將 .json 加到網址。

例如,前往 Shopify 管理介面中的「訂單」頁面並點擊一筆訂單,即可開啟該訂單頁面。接著變更瀏覽器網址列中的頁面網址 (如下所示):

https://<your_domain>.myshopify.com/admin/orders/3804849891234

改為:

https://<your_domain>.myshopify.com/admin/orders/3804849891234.json

使用 GraphiQL 或第三方 API 工具

若要直接查詢 API,可以使用 Postman 等第三方 API 工具,或 Shopify 提供的免費工具「GraphiQL」。後者可提供最準確的結果,但使用時必須熟知 GraphQL 查詢的建立方式。

Shopify 針對 GraphiQL 提供含一般資料的網頁式 GraphiQL ExplorerGraphiQL 應用程式。您可以透過 GraphiQL 建立 GraphQL 查詢,且與 Shopify Flow 中顯示的欄位名稱完全相符。如果您使用該應用程式,這些值也與您的商店完全相符。

藉由此工具,您可以參照商店實際資料確定 Shopify Flow 使用的資料。以下列查詢內容為例:

{
  orders(first:5, reverse:true) {
    nodes {
      createdAt
      app {
        name
      }
      channelInformation {
        app {
          title
        }
      }
    }
  }
}

在下列結果中,變數「order / app / name」顯示訂單的應用程式名稱。在此情況下,訂單是從訂單草稿應用程式建立,因此值為「Draft Orders」。管道資訊僅適用於 Point of Sale 應用程式。

{
  "data": {
    "orders": {
      "nodes": [
        {
          "createdAt": "2023-04-10T12:32:41Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-04-10T12:29:12Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:23:10Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:20:53Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T15:45:15Z",
          "app": {
            "name": "Point of Sale"
          },
          "channelInformation": {
            "app": {
              "title": "Point of Sale"
            }
          }
        }
      ]
    }
  }

準備好開始透過 Shopify 銷售商品了嗎?

免費試用