預覽 Shopify Flow 中使用的 API 資料
大多數工作流程會從您的商店存取資料,因此您可以透過條件和動作使用這些資料。Shopify Flow 藉由呼叫 GraphQL Admin API 來存取商店資料,授予您存取 API 中絕大部分欄位的權限。
在建立工作流程時,經常會遇到以 API 為依據的欄位名稱和描述,但您可能需要知道該資料值。例如,對於從訂單草稿建立的訂單,您可能想知道對應的應用程式名稱。此外,您也可能想確保工作流程輸出的資料符合您的預期,或以您預期的形式輸出。
若要檢視資料值,Shopify Flow 中有多個選項供您選擇。
尋找 Shopify 管理介面中的欄位
多數情況下,您可以在 Shopify 管理介面中找到資料。例如,product.title
列在商品頁面。
取得樣本資料
當您建立工作流程時,您可以在 Flow 編輯器中直接取得樣本資料。由於 Flow 的資料來自事件,因此為取得準確的樣本資料,您必須先選擇一個相關事件:
- 在 Flow 的編輯器中,開啟要使用資料的動作,然後按一下「新增變數」,或在條件中點按「新增條件」。
- 按一下「設定樣本資料」。
- Flow 將開始根據工作流程的觸發條件監聽事件。如果事件發生頻率不高,則您可以在管理介面或相關應用程式中手動觸發事件 (針對基於應用程式的觸發條件)。
- 事件發生後, Flow 將顯示有關該事件的詳細資訊。選擇您要用於取得樣本資料的事件。按一下「使用此觸發條件事件」。
- 接下來,當您瀏覽事件時,每個變數都會顯示樣本資料。
限制:
- 由於空間限制,對於清單中的資料,Flow 將僅顯示清單中第一個品項的資料。
- Flow 在每個工作流程中同時可儲存最多 5 個事件。
使用即時工作流程中的欄位
您可以藉由記錄輸出動作,安全地使用工作流程中的欄位。執行工作流程時,記錄輸出動作會將任何變數和文字的輸出列印至「執行記錄」頁面。您也可以使用通知動作,例如傳送內部電子郵件。
使用記錄輸出的步驟:
- 選擇可手動觸發的觸發條件。
- 在工作流程中新增記錄輸出動作,並將其連結至觸發條件。
- 點選「記錄輸出」設定中的「新增變數」,將您要檢視的變數加到「輸出」區段。
- 完成後,點選「開啟工作流程」。
- 手動執行工作流程或誘導觸發條件啟動,藉此觸發工作流程。例如,若您使用「訂單已建立」觸發條件,則應建立測試訂單。
- 工作流程執行後,查看活動記錄中的變數。
參閱 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 Explorer 和 GraphiQL 應用程式。您可以透過 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"
}
}
}
]
}
}