了解 Shopify Flow 中的操作

在工作流程中,操作是指当工作流程的条件得到满足时 Flow 执行的任务。常见操作包括为订单或客户添加标记、发送电子邮件或 Slack 通知、更新库存、暂停发货、取消订单以及创建草稿订单。您还可以在已安装的第三方连接器应用中自动执行操作,例如将数据发送到 Google Sheets、Klaviyo 或 ShipStation。

操作可以连接到工作流程中的任何其他类型的步骤,例如触发器、条件或其他操作。一个工作流程可以包含任意数量的操作,并且每个步骤都可以连接到任意数量的操作以实现单个结果。例如,如果满足某个条件,并且您希望工作流程在该条件为 true 时同时执行 5 项任务,则可以连接 5 个单独的操作步骤。

为您的工作流程选择操作

您可以从许多不同的操作中进行选择,以在工作流程中完成任务。了解可以在 Shopify Flow 中自动执行哪些特定任务有助于确保您的工作流程正常运行。

操作分为以下几类:

  • 商店操作:这些操作会更改您的 Shopify 商店中的内容,例如添加标记、更新库存或取消订单。
  • 通信操作:这些操作通过您选择的平台发送可自定义的通知,例如向您自己或您的团队发送电子邮件、在 Slack 中发布消息或向您的客户发送营销电子邮件。
  • 应用操作:这些操作在已连接的应用中执行任务。可用选项取决于您的商店中安装了哪些应用连接器。并非所有应用都有关联的 Shopify Flow 连接器。
  • 高级操作:这些操作可修改工作流程的行为或数据,包括以下类型:
    • 获取数据操作:这些操作会从您的商店中获取工作流程触发器中默认未提供的附加数据列表,以在您的工作流程中使用。这些操作会使用一组筛选条件来调用查询,例如获取在过去一天内更新的产品数据列表。
    • 聚合操作:这些操作对工作流程中的列表数据执行计算,例如计数求和
    • For each 循环(迭代)操作:此操作允许您以循环方式对列表中返回的每个项目执行任务。
    • 发送请求操作:这些操作用于从 Shopify GraphQL Admin API外部 API 发送和接收数据。
    • 等待操作:一种独特类型的操作,它会停止工作流程执行下一步,直到经过设定的时长。

在构建工作流程并决定如何实施操作时,请根据您希望工作流程自动执行的任务,查看以下注意事项:

确认您的工作流程提供的数据

操作需要数据才能正常工作,并且数据必须由触发器提供,或通过在工作流程中添加获取数据操作来提供。如果您选择的操作未收到必要的数据,则工作流程不会运行,并且会显示错误消息。例如,以客户已创建触发器开头的工作流程会将客户数据导入该工作流程。如果此触发器后跟添加订单标记操作(该操作需要订单数据,而非客户数据),则工作流程将导致“缺少数据”错误。

为何这很重要:这是自定义工作流程中断或一开始就无法正常工作的常见原因。在最终确定工作流程之前,请考虑您的操作需要哪些信息才能完成任务,并确保在前面的步骤中导入的数据集可以提供该数据。

确认工作流程中操作的执行时间

工作流按一系列步骤运行。借助拖放式画布,您可以设计一个可同时完成多个操作的工作流,也可以将其组织为让操作一个接一个地发生。例如,如果满足条件 A,您可以让工作流同时执行操作 X 和 Y,也可以让工作流先执行操作 X,再执行操作 Y。当某些条件或操作要求工作流中先前已发生其他操作时,这一点就可能很重要。

通常,当满足某个条件且操作步骤是工作流中的下一步时,操作会立即发生,但您也可以使用等待操作来控制操作的发生时间。这对于自动化客户沟通的工作流很有帮助,例如,在向新客户发送营销电子邮件之前等待一天。您可以自行决定如何在工作流中安排操作的发生时间。

重要原因:操作的发生时间决定了任务在工作流中的执行时间。将操作组织为同时或按顺序进行可确保您的自动化任务按正确的顺序发生并满足您的要求。例如,通过使用等待操作,您可以控制客户通知或其他后续任务的发生时间以满足您的需求。

在操作中添加变量以返回动态数据

变量可用于在操作步骤中将动态数据插入自定义文本,例如插入客户电子邮件中。这些变量采用与条件中使用的相同的 GraphQL Admin API 点表示法进行格式化,并用双大括号 {{ }} 括起来。在操作中使用时,变量充当占位符,它会根据工作流期间提供的数据返回变量的特定值。

例如,在发送订单发票操作中,电子邮件的主题字段默认包含 order.name 变量,格式为“发票 {{order.name}}”。这意味着当电子邮件发送时,最终电子邮件的主题行将显示为“发票 #1000”,或根据该订单的值显示的相应订单号。

适用时,您可以点击添加变量以在操作的字段中搜索可用变量。这样,您就可以使用 Liquid 根据该操作可用的变量来定制任何字段的内容。您还可以在 Liquid 代码中使用变量添加条件语句,以自定义内容的显示时间。

例如,在同一个发送订单发票操作中,您可以在自定义消息字段中添加以下内容,其中包含多个变量,这些变量可根据工作流提供的数据包含动态值:

Hello {{order.customer.firstName}}! This is the invoice for order {{order.name}}, which you placed on {{order.createdAt}}.

{% if order.fullyPaid = 'false' %}
     Please complete any outstanding payments in the next 5 business days.
{% endif %}

详细了解如何在 Shopify Flow 中使用变量显示或转换数据