預覽 Shopify Flow 中使用的 API 資料
大多數工作流程都會存取您的商店資料,以便在條件與動作中使用。Shopify Flow 透過呼叫 GraphQL Admin API 存取商店資料,讓您幾乎可以使用該 API 中的所有欄位。
建立工作流程時,您常會看到以 API 為基礎的欄位名稱與說明,但您可能還需要知道這些資料的實際值。例如,您可能想知道某筆由訂單草稿建立的訂單,其 app 名稱為何。此外,您也可能想確認工作流程輸出的資料是否符合預期,或其格式是否符合預期。
在 Shopify Flow 中,您有多種方式可檢視資料的值。
在 Shopify 管理介面中尋找欄位
大多數情況下,您可以在 Shopify 管理介面中找到資料。例如,product.title 會列於「商品」頁面。
取得範例資料
建立工作流程時,您可以直接在 Flow 編輯器中取得範例資料。由於 Flow 的資料來自事件,為了取得準確的範例資料,您必須先選擇相關的事件:
- 在 Flow 編輯器中,開啟您要使用資料的動作,並點選「新增變數」。或是在條件中,點選「新增條件」。
- 點選「設定範例資料」。
- Flow 會依據該工作流程的觸發條件顯示過去的事件。點選「重新整理事件」以擷取最近執行的事件,或點選「開始監聽即時事件」,接著在管理介面或相關 app 中手動觸發該事件 (針對以 app 為基礎的觸發條件)。
- 事件發生後,Flow 會顯示該事件的詳情。選取您要用來取得範例資料的事件,點選「使用此觸發事件」。
- 接著當您瀏覽事件時,各變數都應會顯示範例資料。
限制:
- 受版面限制,Flow 在清單中的資料只會顯示第一個項目。
- 每個工作流程一次最多儲存 5 個事件。
- 對於部分觸發條件,Flow 無法擷取最近執行的事件,例如:排程時間、metaobject 條目已建立、顧客加入分群或顧客離開分群。
在實際工作流程中使用欄位
您可以透過使用「記錄輸出」動作,在工作流程中安全地使用這些欄位。當您執行工作流程時,「記錄輸出」動作會將任何變數與文字的輸出到「執行記錄」頁面。您也可以使用通知類型的動作,例如「傳送內部電子郵件」。
使用「記錄輸出」的步驟:
- 選擇可手動觸發的觸發條件。
- 在工作流程中新增「記錄輸出」動作,並將其連接至該觸發條件。
- 在「記錄輸出」的設定中,點選「新增變數」,將您想檢視的變數加入「輸出」區段。
- 完成後,點選「啟用工作流程」。
- 觸發該工作流程,您可以手動執行,或讓觸發條件生效。例如,若您使用「訂單已建立」觸發條件,請建立一筆測試訂單。
- 工作流程執行後,請在活動記錄中檢視這些變數。
參考資源的 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) 或 Shopify 提供的免費工具 GraphiQL,直接查詢 API。此作法能提供最精準的結果,但需要熟悉撰寫 GraphQL 查詢。
針對 GraphiQL,Shopify 提供兩種選項:包含通用資料的網頁版 GraphiQL explorer,以及GraphiQL app。透過 GraphiQL,您可以建立與 Shopify Flow 欄位名稱完全一致的 GraphQL 查詢。若您使用該 app,其值也會與您的商店完全一致。
使用這些工具,您可以用商店的真實資料,精準判定 Shopify Flow 使用的資料。例如,您可以建立以下查詢:
{
orders(first:5, reverse:true) {
nodes {
createdAt
app {
name
}
channelInformation {
app {
title
}
}
}
}
}在下列結果中,變數 order / app / name 會顯示該訂單的 app 名稱。本例中,該訂單是由訂單草稿 app 建立,因此其值為 Draft Orders。管道資訊僅適用於 Point of Sale app。
{
"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"
}
}
}
]
}
}