安排、获取数据和循环
大多数情况下,您可以通过将多个条件和操作链接到在事件发生时运行的触发器来构建工作流。对于某些用例,您可能发现没有触发器可用于您需要执行的工作、您需要触发器在特定时间运行,或者您可能需要处理数据列表。
例如,假设您想获取未发货订单的每日摘要。通过这组功能,您可以运行一个每天在特定时间运行的工作流,该工作流可获取这些订单,然后向您发送这些订单的摘要。
在此文档中,您将了解“已安排时间”触发器、“获取数据”操作和“针对每项”操作。如果您不确定如何以最佳方式使用这些功能,您可以浏览更多使用这些触发器和操作的示例和模板,或观看此说明视频。
“已安排时间”触发器
已安排时间触发器在指定的特定日期和时间启动工作流,而不是因为事件而启动工作流。您还可以将工作流安排为按小时、按天、按周或按月重复运行。设置为按照安排运行后,若要使用客户、订单或产品等数据,您必须使用操作才能获取该数据。您可以使用获取数据操作来实现此目的。
获取数据操作
大多数操作会更改商店中的某些内容(例如,为客户添加标签)或向应用发送命令(例如指示应用给客户发送推送通知)。
“获取数据”操作可提取商店中的数据并用于 Flow。这些操作可调用包含一组筛选条件的查询,例如用于仅获取过去一天内更新的内容。此操作将返回与该数据匹配的数据列表。例如,获取订单数据操作可调用 Admin API 上的订单查询,并返回与查询匹配的订单列表。
以下操作会从商店检索信息,以便您可以在工作流中使用该数据。有关如何筛选数据和会返回哪些数据的详细信息,请具体了解每个操作:
- Get cash tracking session data
- 获取产品系列数据
- 获取客户数据
- 获取草稿订单数据
- 获取发货订单数据
- 获取礼品卡数据
- 获取地点数据
- 获取订单数据
- 获取产品数据
- 获取产品多属性数据
- 获取订阅合同数据
Liquid 标记
对日期使用获取数据操作时,您可以使用 date_minus
和 date_plus
Liquid 标记更改查询中的日期。例如,若要在工作流的计划运行时间的前 5 天对某个日期执行计算,您可以使用以下 Liquid:
{{ scheduledAt | date_minus: "5 days" }}
有关如何使用这些标记的更多详细信息,请参阅有关 Liquid 变量的文档。
循环
使用获取数据操作时,您将获得与查询匹配的数据列表。您可以使用针对每项操作来循环访问该列表。在针对每项循环中,您可以使用仅应用于该项目的条件和操作。
例如,您可以创建一个包含获取订单数据操作的工作流。然后,您可以使用针对每项操作来为每个订单添加标签。

聚合操作
使用列表时,您可能需要计算要在稍后的条件和操作中使用的项目数量。例如,您可能需要在发送电子邮件之前检查结果是否超过 0 个。Flow 提供以下操作来对工作流中的列表数据执行计算:
已知限制
- “获取数据”和“针对每项”操作只能对不超过 100 个项目的列表运行。
- “已安排时间”触发器可以每 10 分钟运行一次。
- for each 循环的每个循环迭代只能包含一个操作。