触发器教程元字段触发器,分步指南

元字段触发器,分步指南

复制页面

关于在产品、变体、订单、客户以及另外八种所有者类型上修改元字段(并保留其先前值)的Shopify Flow分步教程。

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

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

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

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

元字段更新

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

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

用于

  • 没有类型化触发器的所有者类型:产品系列、公司、页面、博客文章。
  • 一个监听多个元字段并在metafieldKey上进行分支的工作流程。

元字段更新会向您的工作流程发送什么

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

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

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

产品元字段更新

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

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

用于

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

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

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

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

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

产品变体元字段更新

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

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

用于

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

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

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

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

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

元字段更新顺序

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

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

用于

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

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

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

示例:当订单的“批准”元字段变为“true”时,发布该订单

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

客户元字段更新

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

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

用于

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

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

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

示例:给达到黄金级别的客户添加标签

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

下一步

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