排程、取得資料和迴圈

在大多數情況下,您可以將多個條件和動作連結到事件發生時所執行的觸發條件來建立工作流程。對部分使用案例而言,您可能會發現所需執行的操作沒有觸發條件,或者您需要會在特定時間執行的觸發條件,又或者您可能需要使用資料清單。

舉例來說,假設您想取得未出貨訂單的每日摘要。藉由這組功能,您可以執行一個每天在特定時間執行的工作流程,該工作流程會取得這些訂單,然後向您傳送這些訂單的摘要。

在這份文件中,您將瞭解「排程時間」觸發條件、「取得資料」動作和「每個」動作。如果您不確定這些功能的最佳使用方式,可以看看更多使用這些觸發條件與動作的範例和範本,或觀賞這隻說明影片

排程時間觸發條件

排程時間」觸發條件會在您指定的特定時間與日期啟動工作流程,而不是透過事件啟動工作流程。您也可以安排工作流程每小時、每天、每週或每月重複一次。由於從排程執行,若要使用顧客、訂單或商品等資料,您必須使用動作才能取得該資料。使用「取得資料」動作即可進行此操作。

「取得資料」動作

大多數動作會變更商店中的某些內容 (例如:為顧客新增標籤) 或向應用程式傳送命令 (例如指示應用程式傳送推播通知給顧客)。

「取得資料」動作會從您商店提取要用於 Flow 的資料。這些動作會呼叫含有一組篩選條件的查詢,例如,僅取得前一天更新的內容。此動作會傳回與該資料相符的資料清單。例如, 取得訂單資料動作會呼叫 Admin API 上的訂單查詢,並傳回與查詢相符的訂單清單。

下列動作會從商店中擷取資訊,以便您用於工作流程中。有關如何篩選資料和會傳回哪些資料的詳細資訊,請參閱每個動作:

Liquid 標籤

將「取得資料」動作搭配日期使用時,您可以使用 date_minusdate_plus Liquid 標籤變更查詢中的日期。例如,若要在工作流程的排程執行時間之前 5 天的日期,您可以使用下列 Liquid:

{{ scheduledAt | date_minus: "5 days" }}

如需更多使用這些標籤的詳細資訊,請參閱 Liquid 變數的說明文件。

迴圈

使用「取得資料」動作時,您會取得與查詢相符的資料清單。您可以使用 For each (每個) 動作逐一檢視該清單。在 For each 迴圈中,您可以使用僅套用於該項目的條件和動作。

舉例來說,您可以建立一個包含「取得訂單資料」動作的工作流程。接著,您可以使用 For each (每個) 動作為每筆訂單新增標籤。

此範例工作流程每週會擷取訂單清單,並在擷取的每筆訂單上新增標籤。

彙總動作

使用清單時,您可能需計算稍後要在條件和動作中使用的項目數量。例如,您可能想在傳送電子郵件前檢查是否超過 0 個結果。Flow 提供下列動作,可以在工作流程中對清單資料執行計算:

  • 計數:回傳清單中的項目數量
  • 總數:將清單中項目的值加總

已知限制

  • 「取得資料」和「每個」動作只能在最多 100 個項目的清單上執行。
  • 「排程時間」(Scheduled time) 觸發條件可以每隔 10 分鐘執行一次。
  • 「每個」(For each) 迴圈的每個迴圈迭代只能包含一個動作。

本區段包括

沒有找到您需要的答案嗎?我們很樂意為您提供協助。