預覽 Shopify Flow 中使用的 API 資料

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

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

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

尋找 Shopify 管理介面中的欄位

多數情況下,您可以在 Shopify 管理介面中找到資料。例如,product.title 列在商品頁面。

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

您可以藉由記錄輸出動作,安全地使用工作流程中的欄位。執行工作流程時,記錄輸出動作會將任何變數和文字的輸出列印至「執行記錄」頁面。您也可以使用通知動作,例如傳送內部電子郵件

使用記錄輸出的步驟:

  1. 選擇可手動觸發的觸發條件。
  2. 在工作流程中新增記錄輸出動作,並將其連結至觸發條件。
  3. 點選「記錄輸出」設定中的「新增變數」,將您要檢視的變數加到「輸出」區段。
  4. 完成後,點選「開啟工作流程」。
  5. 手動執行工作流程或誘導觸發條件啟動,藉此觸發工作流程。例如,若您使用「訂單已建立」觸發條件,則應建立測試訂單。
  6. 工作流程執行後,查看活動記錄中的變數。

參閱 JSON 資源頁面

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

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

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234

改為:

https://https://admin.shopify.com/store/<shopname>/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"
            }
          }
        }
      ]
    }
  }
沒有找到您需要的答案嗎?我們很樂意為您提供協助。