获取产品数据

在使用产品数据的工作流中,您可以使用获取产品数据操作来从您的商店检索产品信息。

配置

字段

获取产品数据操作包含以下用于构建查询的字段:

在“获取数据”操作中使用的字段。
字段描述
数据排序方式必需。用于对搜索查询返回的数据进行排序的参数。
最大结果数必需。您选择的搜索查询可返回的最大结果数。每次最多可返回 100 个结果。
查询必需。从常用查询中进行选择,或选择高级以创建您自己的查询。

查询字符串

下面是一个查询示例,用于获取在过去一天内更新的产品:

updated_at:<='{{ scheduledAt }}' AND updated_at:>'{{ scheduledAt | date_minus: "1 day" }}'

updated_at 变量是 产品查询 提供的一个筛选条件,可以多次使用或与其他变量结合使用。`scheduledAt` Liquid 变量在使用计划时间触发器的工作流中可用。date_minus Liquid 标记是一种特殊的 Flow 标记,可让您从日期中减去时间。

查询数据时,了解以下信息会很有帮助:

  • 可用的产品筛选条件列表
  • 查询必须遵循特定语法
  • 查询字段值并未始终在文档中列出。在某些情况下,可以通过查看 API 文档来查找这些值。或者,您通常可以在后台中筛选时在 URL 中找到字段值。例如,若要查找某些订单查询值,请在后台中筛选“订单”页面,然后检查 URL。
  • 您可以使用 Shopify GraphiQL 应用在您的商店中运行或测试查询。
  • 请注意查询失败时会发生什么。API 通常会返回所有结果(而不是不返回任何结果)。

返回的数据

所有获取数据操作都会返回一个包含 0 到 100 个资源的列表。根据您的用例,您可能希望通过多种方式使用此数据:

  • 如果您需要单独处理每个列表项(例如为每个列表项添加标记),则可以使用 For each 操作。
  • 如果您需要聚合数据(例如对返回的结果数进行计数),则可以使用计数求和操作。
  • 如果您需要输出列表(例如发送包含所有商品的电子邮件),则可以在后续操作中直接使用返回的数据。

若要在此操作之后的步骤中访问返回的数据,请使用名为获取产品数据的变量,这是一个产品列表。您可以在条件和操作中都使用此变量。例如,您可以像这样在发送内部电子邮件操作中发送产品列表:

{% for single_product in GetProductData %}
* {{ single_product.name }}
{% endfor %}

触发器

您可以在任何工作流(包括计划时间触发器)中使用此操作。在使用计划时间触发器的工作流中,工作流将在您指定的时间开始,而不是因某个事件而开始。由于没有商店中的特定事件或来自应用中的事件来启动工作流,因此不会自动包含任何数据。

API 详细信息

模板

将来将带特定标签的产品添加到产品系列中

在将来某个时间,获取所有带特定标签的产品,然后将它们添加到产品系列中。查看模板

删除闲置产品

删除库存为零且一年内未更新的产品。查看模板

在将来发布带特定标签的产品

在将来的某个日期,获取带有特定标签的产品并将其发布。使用“计划时间”触发器和“获取产品数据”操作。查看模板

在产品创建 90 天后删除新产品标签

每天获取最多 100 个创建时间超过 90 天且仍带有“new”标签的产品。然后,工作流会为每个产品删除这些标签。查看模板

计划在指定的日期和时间从在线商店中删除产品

在将来的某个日期,按标签、id 或 sku 从在线商店中删除产品。使用“计划时间”触发器、“获取产品数据”操作和 For each 循环。查看模板

发送包含缺货产品的每日电子邮件摘要

每天获取所有库存为 0 的产品,并发送一封电子邮件摘要。使用“获取产品数据”和“计划时间”触发器。查看模板

添加具有重复 SKU 的多属性时发送电子邮件通知

添加新多属性后,系统会检查是否有其他多属性使用相同的 SKU。如果有,系统会发送一封内部电子邮件,其中包含指向受影响产品和多属性的链接。查看模板

使用产品元字段跟踪正在促销的产品多属性

如果产品的至少一个多属性正在促销,则为该产品设置一个元字段。这对于跟踪当前哪些产品正在促销很有用。查看模板