元字段触发器,分步指南

元字段是商店用来存放Shopify中没有对应字段的数据的地方,而Shopify Flow无法对这些字段的变化做出响应。这五个触发器可以做到这一点 - - 而且它们会携带previousValue属性,因此工作流能够区分数值上升还是下降。

根据定义,它们全都有效:您可以在应用的**“元字段触发器**”页面上选择要监视的元字段。如果您未在此处添加某个元字段,则该元字段不会触发任何操作。有关设置方法,请参阅 元字段触发器

本页内容:元字段更新, 产品元字段更新, 产品变体元字段更新, 订单元字段更新, 客户元字段更新

Shopify Flow
查找位置:在Shopify Flow中选择“Select a trigger”,打开Workflow Trigger Extensions,然后搜索“Metafield”。

元字段更新

当被监视的元字段发生变化时触发,适用于任何所有者类型:产品、变体、系列、客户、订单、订单草稿、公司、公司地址、博客、博客文章或页面。

火灾源于 Shopify Webhook 结合变更检测。会按计划检查变体、博客、博客文章和页面的元字段
权限 产品、变体和系列数据的访问
已开启 根据元字段的定义,在应用的**“元字段触发器**”页面上

用于

  • 没有类型化触发器的所有者类型:集合、公司、页面、博客文章。
  • 一个监听多个元字段并在metafieldKey处分支的工作流。

Metafield Update 会向您的工作流发送什么

流中的变量 类型 内容简介
metafieldKey 文本 已更新的元字段的 namespace.key(用于在 Flow 中进行过滤)
resourceType 文本 资源类型(PRODUCT、PRODUCTVARIANT、COLLECTION、CUSTOMER、ORDER、COMPANY、COMPANYLOCATION、ARTICLE、BLOG、PAGE)
resourceId 文本 被更新的资源的 GID
metafield 对象 已更新的元字段
metafield.id ID 元字段的全局标识符
metafield.namespace 文本 元字段的命名空间
metafield.key 文本 元字段的键
metafield.value 文本 元字段的值
metafield.previousValue 文本 此更改之前的值。当元字段刚创建时,该值为空。
metafield.type 文本 元字段的类型
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:响应集合元字段的变更

  1. 在应用中打开**“元字段触发器**”,点击**“添加触发器**”,选择所有者类型**“集合**”及其定义,然后保存。
  2. 在“流程”中,选择**“元字段更新**”作为触发器。
  3. 添加条件metafieldKey 等于 custom.banner_text,且 resourceType 等于 COLLECTION
  4. 添加“通过 {{metafield.previousValue}} -> {{metafield.value}}{{resourceId}} **发送内部电子邮件”**选项。
  5. 启用该工作流。

产品元字段更新

当被监视的产品元字段发生变化时触发,此时该产品作为 Flow 的原生引用。

火灾源于 Shopify Webhook 结合变更检测
权限 产品、变体和系列数据的访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上

用于

  • 直接对产品进行操作:为其添加标签、发布、更新另一个元字段。
  • 数值元字段的阈值:评分、库存预测、供应商交货期。

“产品元字段更新”会向您的工作流发送哪些内容

流中的变量 类型 内容简介
product 产品(Shopify) 元字段发生变化的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。
metafieldKey 文本 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选)
metafield 对象 已更新的元字段
metafield.id ID 元字段的全局标识符
metafield.namespace 文本 元字段的命名空间
metafield.key 文本 元字段的键
metafield.value 文本 元字段的值
metafield.previousValue 文本 此更改之前的值。当元字段刚创建时,该值为空。
metafield.type 文本 元字段的类型
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:为评分低于3的产品添加标签

  1. 在应用的**“元字段触发器**”页面中添加该产品元字段。
  2. 在 Flow 中选择**“产品元字段更新**”。
  3. 添加条件metafieldKey 等于 reviews.rating
  4. 添加一段代码来比较数字,因为元字段的值以文本形式返回:return dropped: Number(input.metafield.value) < 3 && Number(input.metafield.previousValue) >= 3
  5. 在代码的dropped输出处添加一个条件,然后添加产品标签 low-rating
  6. 启用该工作流。
“添加元字段触发器”对话框,其中资源类型为“产品”,元字段为“评分”、“custom.rating”,已选中
首先查看应用中的元字段:“元字段触发器”、“添加触发器”、“产品”、“评分”。
“事件历史”中的一个事件:某产品的元字段更新,值为 2.5,先前值为 4.5
本示例所响应的事件:评分从 4.5 降至 2.5,因此跨越了 3。

产品变体元字段更新

当被监视的变体元字段发生变化时触发。父产品以引用形式传入,变体则以resourceId的形式传入。

火灾源于 按计划进行检查,因为 Shopify 不会为此发送 webhook
权限 产品、变体和系列数据的访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 将变体数据汇总到产品层面,例如所有变体中最短的交货期。
  • 将变体级属性同步到数据源。

“产品变体元字段更新”会向您的工作流发送哪些内容

流中的变量 类型 内容简介
product 产品(Shopify) 元字段发生变化的变体的父产品(用于编写产品元字段)。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。
resourceId 文本 元字段发生变化的产品变体的 GID
metafieldKey 文本 发生变化的元字段的 namespace.key(用于在 Flow 中进行过滤)
metafield 对象 已更新的元字段
metafield.id ID 元字段的全局标识符
metafield.namespace 文本 元字段的命名空间
metafield.key 文本 元字段的键
metafield.value 文本 元字段的值
metafield.previousValue 文本 此更改之前的值。当元字段刚创建时,该值为空。
metafield.type 文本 元字段的类型
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将变体元字段复制到其对应的产品上

  1. 在**“元字段触发器**”页面上添加“变体”元字段。
  2. 在流程中选择**“产品变体元字段更新”**。
  3. product 上添加**“Update product metafield”字段**,并将其值设为 {{metafield.value}}
  4. 启用该工作流。

元字段更新顺序

当被监视的订单元字段发生变化时触发,此时订单作为原生引用。

火灾源于 Shopify Webhook 结合变更检测
权限 订单数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的专属开关位于应用的**“触发器**”页面上。

用于

  • 根据应用程序写入订单中的数据做出响应:交货日期、风险评分、ERP编号。
  • 当批准元字段状态发生变化时,启动履约步骤。

“元字段更新”会向您的工作流发送什么指令

流中的变量 类型 内容简介
order 订单(Shopify) 元字段发生变化的订单。这是一个完整的Shopify订单,因此其所有字段以及Flow自带的订单操作均可使用。
metafieldKey 文本 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选)
metafield 对象 已更新的元字段
metafield.id ID 元字段的全局标识符
metafield.namespace 文本 元字段的命名空间
metafield.key 文本 元字段的键
metafield.value 文本 元字段的值
metafield.previousValue 文本 此更改之前的值。当元字段刚创建时,该值为空。
metafield.type 文本 元字段的类型
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:当订单的“审批”元字段变为“true”时,释放该订单

  1. 在**“元字段触发器**”页面上添加订单元字段。
  2. 在 Flow 中更新拣货顺序元字段
  3. 添加条件metafieldKey 等于 custom.approved,且 metafield.value 等于 true
  4. 添加一个**“For each**”循环,循环范围为order.fulfillmentOrders,并启用**“释放履约订单保留”功能**。
  5. 启用该工作流。

客户元字段更新

当被监视的客户元字段发生变化时触发,此时将客户作为本机引用。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 保存在元字段中的会员等级、信用额度或生日信息。
  • 将表单或应用程序写入的客户属性同步到 CRM 中。

“客户元字段更新”会向您的工作流发送哪些内容

流中的变量 类型 内容简介
customer 客户(Shopify) 元字段发生变化的客户。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可用。
metafieldKey 文本 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选)
metafield 对象 已更新的元字段
metafield.id ID 元字段的全局 ID
metafield.namespace 文本 元字段的命名空间
metafield.key 文本 元字段的键
metafield.value 文本 元字段的值
metafield.previousValue 文本 此更改之前的值。若元字段刚创建,则为空
metafield.type 文本 元字段的类型
eventId 文本 此事件的ID。请在应用的“事件历史记录”中搜索该ID,以查看具体发送了什么内容。

示例:给达到黄金级别的客户打上标签

  1. 在**“元字段触发器**”页面上添加“客户”元字段。
  2. 在“流程”中选择**“客户元字段更新**”。
  3. 添加条件metafieldKey 等于 loyalty.tier,且 metafield.value 等于 gold
  4. 添加客户标签gold,并向VIP团队发送内部邮件
  5. 启用该工作流。

下一步

除了通用触发器**之外,**类型化触发器也会被触发,并且与通用触发器共享同一事件,因此同时启用这两者不会被计入您的计划配额两次。