获取产品数据
在使用产品数据的工作流中,您可以使用获取产品数据操作来从您的商店检索产品信息。
配置
字段
获取产品数据操作包含以下用于构建查询的字段:
| 字段 | 描述 |
|---|---|
| 数据排序方式 | 必需。用于对搜索查询返回的数据进行排序的参数。 |
| 最大结果数 | 必需。您选择的搜索查询可返回的最大结果数。每次最多可返回 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。如果有,系统会发送一封内部电子邮件,其中包含指向受影响产品和多属性的链接。查看模板
使用产品元字段跟踪正在促销的产品多属性
如果产品的至少一个多属性正在促销,则为该产品设置一个元字段。这对于跟踪当前哪些产品正在促销很有用。查看模板