for each 迴圈 (逐一迭代)
當此動作連接到針對每個品項重複選項時,for each 迴圈 (逐一處理)會對清單中的每個品項執行步驟。此動作僅能用於清單,例如訂單中的商品項目,或任何取得資料類型動作所回傳的清單,例如 取得商品系列資料、取得顧客資料,或 取得商品資料。
新增for each 迴圈 (逐一處理)動作後,您必須再設定步驟,定義迴圈如何對提供的清單中每個品項逐一處理。不同於條件的 True/False 分支,for each 迴圈 (逐一處理)的分支有固定的執行順序:
- 針對每個品項重複分支會先執行,並重複執行要套用在清單每一筆資料上的步驟。此分支中的動作會依提供的清單品項數量重複執行該次數。
- 最後一個項目之後 分支會最後執行,讓您定義後續步驟以繼續工作流程。當清單中的每個項目都完成由 對每個項目重複 所執行的所有動作後,系統才會執行此步驟。
例如,您建立一個每週一執行的工作流程。該流程會使用 取得訂單資料 動作,擷取該週建立的訂單。接著,for each 迴圈 (逐一處理)會為 getOrderData 清單回傳的每筆訂單套用 新訂單 標籤。當清單中的所有訂單都已加上標籤後,系統會寄送一封內部電子郵件,表示標記已完成。

使用「for each 迴圈 (逐一處理)」動作的注意事項
在使用for each 迴圈 (逐一處理)動作前,請先留意以下事項:
- 用於for each 迴圈 (逐一處理)的清單不可超過 1,000 個品項。若所選清單超過 1,000 個品項,工作流程會失敗,且所有在for each 迴圈 (逐一處理)之後的動作都不會執行。
- 以下動作不得接續 針對每個品項重複:
- 您最多只能在另一個for each 迴圈 (逐一處理)內再巢狀 1 個for each 迴圈 (逐一處理)動作。
欄位
for each 迴圈 (逐一處理)動作包含下列欄位。
| 欄位 | 說明 |
|---|---|
| 清單 | 必填。要對其執行動作的品項清單。舉例來說,可以是取得資料或執行程式碼動作回傳的清單,或觸發條件回傳的清單,例如建立訂單觸發條件回傳的商品項目清單。 選取變數時,只有陣列物件 ( []) 會顯示為可選項目。 |
觸發條件
for each 迴圈 (逐一處理)動作可用於任何工作流程。
監控工作流程
工作流程執行後,您可在 Shopify Flow 活動 頁面檢視其成效。以下內容適用於包含 for each 迴圈 (逐一處理) 動作的工作流程:
- 狀態 與 動作 區段適用於 for each 迴圈 (逐一處理) 動作所採取的所有動作。
- 工作流程預覽會突顯迴圈中走某個特定路徑的項目數量。
- 執行詳情 區段 (包含工作流程預覽) 會顯示每次迴圈執行的結果。請在該次執行的步驟詳情中使用 品項 選單,依所採取的動作與錯誤篩選結果,以便快速排查迴圈問題。

範本
新訂單建立時,將商品項目新增至 Google 試算表的列
建立新訂單時,工作流程中的 for each 迴圈 (逐一處理) 步驟會逐一處理每個商品項目,將產品資料新增至 Google 試算表的一列。 檢視範本。
在未來將具有特定標籤的商品加入商品系列
在未來的某個時間,擷取所有具有特定標籤的商品,並將它們加入商品系列。 檢視範本。
允許透過公司帳戶申請建立的公司進行訂購
當透過公司帳戶申請建立公司時,指派訂購權限。 檢視範本。
若顧客今日下單超過 5 筆,取消訂單
如果顧客在單日內下了超過 5 筆訂單,就會取消訂單。此工作流程會檢查顧客在過去 24 小時內的下單數,並取消超出此上限的訂單,同時為該顧客加上可能詐騙的標籤。 檢視範本。
將顧客中繼欄位轉為所有顧客的標籤
此工作流程會依據中繼欄位的值,為您的所有顧客回填標籤。它每小時執行一次,擷取最多 100 位尚未具有 processed 標籤的顧客。對每位顧客,會讀取 custom.test 中繼欄位的值,並將其新增為標籤。此外,此工作流程也會新增 processed 標籤,以避免在下一次排程執行時再次被取回。要使用此工作流程,您必須將中繼欄位的命名空間與鍵改為符合您商店中的中繼欄位。
檢視範本。
刪除不活躍的顧客
刪除建立超過 5 年且從未下單的顧客個檔。 檢視範本。
刪除不活躍的商品
刪除沒有庫存且一年內未曾更新的商品。 檢視範本。
將訂單中的數位品項出貨
針對不需實體配送的品項 (例如數位品項),或符合存貨單位 (SKU) 清單的品項,辦理出貨。新訂單會針對每個出貨地點 (「出貨訂單」) 各執行一次。 檢視範本。
若顧客 24 小時內下多筆訂單,將出貨作業保留
檢查顧客是否在 24 小時內下了多筆訂單;若是,則將出貨作業保留並合併運送。 檢視範本。
若顧客過去 24 小時內下超過 1 筆訂單,將訂單設為保留
建立訂單時,檢查該顧客過去 24 小時內是否另有下單;若有,將所有訂單設為保留。 檢視範本。
在未來發布具特定標籤的商品
於未來某一天,擷取具有特定標籤的商品並發布。此工作流程使用 排程時間 觸發條件與 取得商品資料 動作。 檢視範本。
退貨結案時,解除換貨品項的出貨保留
退貨結案時,檢查該訂單是否有未付餘額。若沒有,則解除換貨品項的保留。檢視範本
商品建立 90 天後移除 new 標籤
每天擷取最多 100 個建立超過 90 天且仍有 new 標籤的商品,然後為每個商品移除該標籤。
檢視範本。
排程在指定日期與時間將商品從線上商店移除
於未來的單一日期,依標籤、ID 或存貨單位 (SKU) 從網路商店移除商品。使用 排程時間 觸發條件與 取得商品資料 動作。 檢視範本。
將 B2B 訂單發票寄送至多個電子郵件地址
將 B2B 訂單的發票寄送至多個電子郵件地址。若公司地址中已有以中繼欄位儲存的電子郵件地址,則加以使用;否則會先建立 3 個中繼欄位:extra_invoice_recipient.email1、.email2 和 .email3。
檢視範本。
將訂單與商品項目傳送至 Google 試算表
將每個訂單商品項目輸出至 Google 試算表的一列。 檢視範本。
標記並寄送逾期出貨作業的每日摘要
每天標記並寄送電子郵件摘要,統計所有未達 2 日運送保證的訂單總數與金額。 檢視範本。
標記有拒付的顧客
每小時擷取含有拒付的訂單,並為該筆訂單的顧客加上標籤。使用 排程時間 觸發條件與 取得訂單資料 動作。 檢視範本。
為與 UTM 行銷活動關聯的訂單加上標籤
為包含任何關聯 UTM 行銷活動名稱的訂單加上標籤。 檢視範本。
標記成立超過 2 天的未出貨訂單
每天擷取所有成立超過 2 天的未出貨訂單,並為訂單加上標籤。 檢視範本。
使用商品中繼欄位追蹤特價中的產品子類選項
如果商品的子類中至少有一個在特價,則在該商品上設定一個中繼欄位。這有助於追蹤目前哪些商品在特價。 檢視範本。