触发器教程订单草稿触发机制,分步说明

订单草稿触发机制,分步说明

复制页面

关于订单草稿的Shopify Flow分步教程:状态、订单项、标签、备注、属性以及“选择加入”邮件和地址触发器。

订单草稿是B2B报价、批发订单和电话订单的归属地,而Shopify Flow对此几乎没有任何支持。这十个触发器涵盖了订单草稿的整个生命周期:编辑、状态、标签、备注以及(可选)联系人数据。

本页内容:预订单更新, 预订单状态已更改, 预订单明细已更改, 预订单已添加标签, 预订单已移除标签, 预订单备注已更改, 预订单属性已更改, 预订单邮箱已更改, 预订单收货地址已更改, 预订单账单地址已更改

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

《订单草稿》更新

每次保存订单草稿时都会触发火焰特效。

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

用于

  • 将报价同步到CRM系统。
  • 在您确定哪种更具体的触发器适用之前,这是一个通用的解决方案。

“订单草稿更新”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 已更新的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.totalPrice 文本
draftOrder.currencyCode 文本
draftOrder.tags 文本
draftOrder.note 文本
draftOrder.invoiceUrl 文本
draftOrder.updatedAt 文本
payload 文本 包含已更新订单草稿 GID 的 JSON 对象(例如:{"id":"gid://shopify/Order/123"})
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将每笔报价变更同步到 CRM 中

  1. 选择**“订单草稿更新**”作为触发器。
  2. 添加**“发送 HTTP 请求”**功能,支持 {{draftOrder.id}}、{{draftOrder.name}}、{{draftOrder.status}} 和 {{draftOrder.totalPrice}} {{draftOrder.currencyCode}}。
  3. 启用该工作流程。

订单草稿状态已更改

当订单草稿在 open、invoice_sent 和 completed 之间转移时触发。

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

用于

  • 在发送发票时启动提醒流程。
  • 当报价转为订单时,请告知客户经理。

“订单草稿状态变更”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 状态发生变化的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
oldStatus 文本 该订单草稿的先前状态(已开启 / 发票已发送 / 已完成)
newStatus 文本 订单草稿的新状态(已开启 / 发票已发送 / 已完成)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:在发票开具后三天提醒客户

  1. 将**“选秀顺位状态发生变化**”设为触发器。
  2. 添加一个条件:newStatus 等于 invoice_sent。
  3. 添加**“等待** 3 天”,然后使用 {{draftOrder.name}} 向您的电子邮件工具发送 HTTP 请求。
  4. 启用该工作流程。

订单项草案已更改

当订单草稿中的商品发生变更(添加、移除、数量、价格或变体)时触发。其changes.items结构与订单触发器相同。

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

用于

  • 当销售代表在报价单中降低价格时,需经批准。
  • 确保预订系统与报价保持同步。

“订单草稿订单项变更”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 订单项发生变更的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
changes 对象 订单项变更:新增、删除、数量、价格及变体变更,并附带其新旧数值
changes.items 对象列表 检测到的更改列表
changes.items (each).changeType 文本 变更类型:新增、删除、数量变更、价格变更、变体变更
changes.items (each).lineItemId ID 订单项编号(如有)
changes.items (each).productTitle 文本 产品名称
changes.items (each).variantTitle 文本 变体标题
changes.items (each).oldVariantId ID 旧版本 GID(用于已删除或变体已更改的情况)
changes.items (each).newVariantId ID 新变体 GID(用于 added 或 variant_changed)
changes.items (each).oldProductId ID 旧产品的GID(适用于已删除或变体已更改的情况)
changes.items (each).newProductId ID 新产品 GID(用于“已添加”或“变体已更改”)
changes.items (each).oldQuantity 数字 旧数量(用于 quantity_changed)
changes.items (each).newQuantity 数字 新数量(用于 quantity_changed)
changes.items (each).oldPrice 文本 旧价格(适用于 price_changed)
changes.items (each).newPrice 文本 新价格(适用于 price_changed)
changes.items (each).lineItemData 文本 完整的订单项数据(JSON格式)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:当报价价格发生变更时,需申请批准

  1. 将**“订单草稿中订单项发生变更**”设为触发器。
  2. 添加一个条件:changes.items中至少有一个满足changeType等于price_changed。
  3. 添加订单草稿标签 needs-approval,并向销售负责人发送内部邮件,其中包含已修改条目的 oldPrice 和 newPrice(通过 Liquid for 循环遍历 changes.items)。
  4. 启用该工作流程。

已添加订单草稿标签

当订单草稿中至少添加了一个标签时触发。

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

用于

  • 请销售人员通过给报价单添加标签来启动流程:approved、rush。

“已添加的订单草稿标签”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 标签发生变化的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.tags 文本
addedTags 文本 添加到订单草稿中的标签列表(以逗号分隔)
removedTags 文本 在同一更新中从订单草稿中移除的标签的逗号分隔列表(可能为空)
currentTags 文本 订单草稿中所有当前标签的以逗号分隔的列表
previousTags 文本 本次更新之前,订单草稿中所有先前标签的以逗号分隔的列表
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:报价一经批准,即通知财务部门

  1. 将**“选秀顺位标签已添加**”设为触发条件。
  2. 添加条件:addedTags 包含 approved。
  3. 添加“通过 {{draftOrder.name}} 向财务部门发送内部邮件”这一选项。
  4. 启用该工作流程。

已删除订单草稿标签

当订单草稿中至少有一个标签被移除时触发。

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

用于

  • 撤销“添加匹配标签”工作流程所执行的操作。

“已删除的订单草稿标签”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 标签发生变化的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.tags 文本
addedTags 文本 在同一更新中添加到订单草稿中的标签列表(以逗号分隔,可以为空)
removedTags 文本 从订单草稿中移除的标签的逗号分隔列表
currentTags 文本 订单草稿中所有当前标签的逗号分隔列表
previousTags 文本 本次更新之前,订单草稿中所有先前标签的以逗号分隔的列表
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:当批准被撤销时,通知销售部门

  1. 将**“移除选秀顺位标签**”设为触发器。
  2. 添加条件:removedTags 包含 approved。
  3. 添加“向销售代表**发送内部邮件”**选项。
  4. 启用该工作流程。

订单草稿说明已修改

在订单草稿的票据被添加、修改或结清时触发。

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

用于

  • 将报价单上的内部备注转交给下一支团队。

“订单草稿注释已更改”会发送到您的工作流程中

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 那份备注内容发生变化的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.note 文本
oldNote 文本 关于该订单草稿的上一条备注(如果之前未设置备注,则为空)
newNote 文本 订单草稿上的新备注(如果备注已被清除,则为空)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将报价备注转发至账户渠道

  1. 将**“订单草稿中的选秀顺位备注已更改**”设为触发器。
  2. 添加“使用{{draftOrder.name}}: {{newNote}}向Slack发送HTTP请求”功能。
  3. 启用该工作流程。

订单草稿的顺序属性已更改

当订单草稿中的自定义属性被添加、删除或修改时触发。

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

用于

  • 根据作为属性存储的采购订单号或要求的交货周进行响应。

“订单草稿属性已更改”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 自定义属性发生变化的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
changes 对象 检测到属性变化。每个项都包含一个 changeType(添加、删除或修改)、键以及旧值和新值。
changes.items 对象列表 检测到的属性更改列表
changes.items (each).changeType 文本 变更类型:新增、删除、修改
changes.items (each).key 文本 属性键
changes.items (each).oldValue 文本 之前的值(当 changeType 为 'added' 时为空字符串)
changes.items (each).newValue 文本 新值(当 changeType 为 'removed' 时为空字符串)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:获取采购订单号

  1. 将**“订单草稿中的选秀顺位属性已更改**”设为触发器。
  2. 添加一个条件:changes.items中至少有一个满足key等于po_number。
  3. 添加“向 ERP 发送包含新值的 HTTP 请求”。
  4. 启用该工作流程。

《订单草稿》的电子邮件地址已更改

当订单草稿中的电子邮件地址发生变化时触发。该事件会携带当前的地址。

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

用于

  • 请确保发票寄往正确的地址。

“订单草稿已更改”邮件会向您的工作流程发送什么内容

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 那份电子邮件地址发生变更的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.note 文本
email 文本 该订单草稿目前的电子邮件地址
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:在电子邮件更正后重新发送发票

  1. “选秀顺位”电子邮件在Shopify Flow中已更改。
  2. 添加一个条件:draftOrder.status 等于 invoice_sent。
  3. 添加:**发送内部邮件,**请该代表重新发送发票。
  4. 启用该工作流程。

“订单草稿”收货地址已更改

当订单草稿的收货地址发生变更时触发。

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

用于

  • 当目的地发生变化时,重新计算报价中的运费或税费。

“发货地址已更改”订单草稿会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 发货地址发生变更的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.note 文本
shippingAddress 文本 订单草稿中当前的发货(送货)地址,以单行格式显示(可能为空)
shippingAddressDetails 对象 订单草稿中当前的发货(配送)地址,以结构化字段形式呈现(可能为空)
shippingAddressDetails.firstName 文本 地址上的名字
shippingAddressDetails.lastName 文本 地址上的姓氏
shippingAddressDetails.name 文本 全名,由“firstName”和“lastName”生成
shippingAddressDetails.company 文本 公司或组织名称
shippingAddressDetails.address1 文本 第一行 - - 街道地址或邮政信箱号码
shippingAddressDetails.address2 文本 第二行 - - 公寓、套房或单元
shippingAddressDetails.city 文本 市、区、村或镇
shippingAddressDetails.province 文本 地区 - - 省、州或区
shippingAddressDetails.provinceCode 文本 地区代码(例如 ON)
shippingAddressDetails.zip 文本 邮政编码
shippingAddressDetails.country 文本 国家名称
shippingAddressDetails.countryCode 文本 两位字母的国家代码(例如 US)
shippingAddressDetails.phone 文本 地址上的电话号码
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:标记目标国家发生变化的报价

  1. 在Shopify Flow中更改拣货顺序和发货地址。
  2. 在内部邮件中添加订单草稿标签 recheck-shipping,并@{{shippingAddressDetails.countryCode}}。
  3. 启用该工作流程。

“更改账单地址”订单草稿

当订单草稿的账单地址发生变更时触发。

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

用于

  • 在开具发票之前,应确保ERP系统中的债务人记录保持最新。

“订单草稿开票地址已更改”会向您的工作流程发送什么

Shopify Flow中的变量 类型 内容简介
draftOrder 对象 账单地址发生变更的订单草稿
draftOrder.id ID
draftOrder.name 文本
draftOrder.status 文本
draftOrder.note 文本
billingAddress 文本 订单草稿当前的账单地址,以单行格式显示(可能为空)
billingAddressDetails 对象 订单草稿当前的账单地址(以结构化字段形式呈现,可为空)
billingAddressDetails.firstName 文本 地址上的名字
billingAddressDetails.lastName 文本 地址上的姓氏
billingAddressDetails.name 文本 全名,由 firstName 和 lastName 生成
billingAddressDetails.company 文本 公司或组织名称
billingAddressDetails.address1 文本 第一行 - - 街道地址或邮政信箱号码
billingAddressDetails.address2 文本 第二行 - - 公寓、套房或单元
billingAddressDetails.city 文本 市、区、村或镇
billingAddressDetails.province 文本 地区 - - 省、州或区
billingAddressDetails.provinceCode 文本 地区代码(例如 ON)
billingAddressDetails.zip 文本 邮政编码
billingAddressDetails.country 文本 国家名称
billingAddressDetails.countryCode 文本 两位字母的国家代码(例如 US)
billingAddressDetails.phone 文本 地址上的电话号码
eventId 文本 此事件的ID。请在应用的“事件历史记录”中搜索该ID,以查看具体发送了什么内容。

示例:开具发票前更新ERP系统

  1. 在Shopify Flow中选择了**“订单草稿”和“账单地址已更改**”。
  2. 添加“使用{{draftOrder.id}}发送HTTP请求”,并填写billingAddressDetails中的字段。
  3. 启用该工作流程。

下一步

订单草稿不属于 Shopify Flow 引用类型,因此这些触发器会返回一个包含 id、name 和 status 的 draftOrder 对象。对于其他情况,请添加一个**“发送管理 API 请求**”或**“运行代码**”步骤,并使用 draftOrder.id。