草案订单触发机制,分步说明
草稿订单是B2B报价、批发订单和电话订单的归属地,而Shopify Flow在这方面几乎没有任何功能。这十个触发条件涵盖了草稿的整个生命周期:编辑、状态、标签、备注以及(可选)联系人数据。
本页内容:预订单更新, 预订单状态变更, 预订单明细变更, 预订单添加标签, 预订单移除标签, 预订单备注变更, 预订单属性变更, 预订单邮箱变更, 预订单收货地址变更, 预订单账单地址变更

《命令草案》更新
每次保存选秀顺序时都会触发火焰特效。
| 火灾源于 | Shopify webhook |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。其专用开关位于应用的**“触发器**”页面上。 |
用于
- 将报价同步到CRM系统。
- 在您确定哪种更具体的触发条件适用之前,这是一个通用方案。
“草稿顺序更新”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
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/DraftOrder/123"}) |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:将每笔报价变动同步到CRM中
- 选择**“选秀顺位更新**”作为触发条件。
- 添加**“发送 HTTP 请求”**功能,支持
{{draftOrder.id}}、{{draftOrder.name}}、{{draftOrder.status}}和{{draftOrder.totalPrice}} {{draftOrder.currencyCode}}。 - 启用该工作流。
草案订单状态已更改
当草案订单在 open、invoice_sent 和 completed 之间转移时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 在发送发票时启动提醒序列。
- 当报价转为订单时,请告知客户经理。
“草稿状态变更”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
draftOrder |
对象 | 状态发生变化的命令草案 |
draftOrder.id |
ID | |
draftOrder.name |
文本 | |
draftOrder.status |
文本 | |
oldStatus |
文本 | 该订单草案的先前状态(已创建 / 已开具发票 / 已完成) |
newStatus |
文本 | 订单草稿的新状态(已开启 / 发票已发送 / 已完成) |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看确切的发送内容。 |
示例:在发票开具后三天提醒客户
- 将“选秀顺位状态发生变化”设为触发条件。
- 添加一个条件:
newStatus等于invoice_sent。 - 添加**“等待** 3 天”,然后使用
{{draftOrder.name}}向您的电子邮件工具发送 HTTP 请求。 - 启用该工作流。
订单行项目草案已更改
当草稿订单中的商品发生变更(添加、删除、数量、价格或变体)时触发。其changes.items结构与订单触发器相同。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 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(用于“已添加”或“变体已更改”) |
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,以查看具体发送了什么内容。 |
示例:当报价价格发生变更时,需申请批准
- 将“选秀顺位明细项发生变更”设为触发条件。
- 添加一个条件:
changes.items中至少有一个元素的changeType等于price_changed。 - 添加草稿订单标签
needs-approval,并向销售负责人发送内部邮件,其中包含已修改条目的oldPrice和newPrice(通过 Liquidfor循环遍历changes.items)。 - 启用该工作流。
已添加草案订单标签
当草稿订单中至少添加了一个标签时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 请销售人员通过给报价单添加标签来启动流程:
approved、rush。
“已添加的草稿订单标签”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
draftOrder |
对象 | 标签发生变化的草案 |
draftOrder.id |
ID | |
draftOrder.name |
文本 | |
draftOrder.status |
文本 | |
draftOrder.tags |
文本 | |
addedTags |
文本 | 添加到草稿订单中的标签列表(以逗号分隔) |
removedTags |
文本 | 在同一更新中从草稿订单中移除的标签的逗号分隔列表(可能为空) |
currentTags |
文本 | 草案订单中所有当前标签的以逗号分隔的列表 |
previousTags |
文本 | 本次更新之前,草案订单中所有先前标签的逗号分隔列表 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:报价一经批准,即通知财务部门
- 将**“选秀顺位标签已添加**”设为触发条件。
- 添加条件:
addedTags包含approved。 - 添加“通过
{{draftOrder.name}}向财务部门发送内部邮件”这一选项。 - 启用该工作流。
已删除草案中的标签
当草稿订单中至少有一个标签被移除时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 撤销“匹配标签”工作流所执行的操作。
“已删除的草稿顺序标签”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
draftOrder |
对象 | 标签发生变化的草案 |
draftOrder.id |
ID | |
draftOrder.name |
文本 | |
draftOrder.status |
文本 | |
draftOrder.tags |
文本 | |
addedTags |
文本 | 在同一更新中添加到草稿订单中的标签列表(以逗号分隔,可以为空) |
removedTags |
文本 | 从草案订单中移除的标签的逗号分隔列表 |
currentTags |
文本 | 草案订单中所有当前标签的以逗号分隔的列表 |
previousTags |
文本 | 本次更新之前,草案订单中所有先前标签的逗号分隔列表 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看确切的发送内容。 |
示例:在批准被撤销时通知销售部门
- 将**“移除选秀顺位标签**”设为触发条件。
- 添加条件:
removedTags包含approved。 - 添加“向销售代表**发送内部邮件”**选项。
- 启用该工作流。
草案命令说明已修改
在草拟单据的票据被添加、修改或结清时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 将报价单上的内部备注转交给下一支团队。
“草稿顺序说明”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
draftOrder |
对象 | 那份备注发生变化的命令草案 |
draftOrder.id |
ID | |
draftOrder.name |
文本 | |
draftOrder.status |
文本 | |
draftOrder.note |
文本 | |
oldNote |
文本 | 关于该订单草案的上一条备注(如果之前未设置备注,则为空) |
newNote |
文本 | 订单草稿上的新备注(如果备注已被清除,则为空) |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:将报价备注转发至账户渠道
- 将“选秀顺位备注已更改”设为触发条件。
- 添加“使用
{{draftOrder.name}}: {{newNote}}向Slack发送HTTP请求”功能。 - 启用该工作流。
草案订单属性已更改
当草稿订单中的自定义属性被添加、删除或修改时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 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,以查看具体发送了什么内容。 |
示例:获取采购订单号
- 将**“选秀顺位属性已更改**”设为触发条件。
- 添加一个条件:
changes.items中至少有一个满足key等于po_number。 - 添加“向 ERP 发送包含新值的 HTTP 请求”操作。
- 启用该工作流。
《草案命令》电子邮件已更改
当草稿订单中的电子邮件地址发生变化时触发。该事件会携带当前的地址。
| 火灾源于 | Shopify Webhook 加 变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 请确保发票寄往正确的地址。
“草稿订单已更改”邮件会向您的工作流发送什么内容
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
draftOrder |
对象 | 那份电子邮件地址发生变更的命令草案 |
draftOrder.id |
ID | |
draftOrder.name |
文本 | |
draftOrder.status |
文本 | |
draftOrder.note |
文本 | |
email |
文本 | 该命令草案目前的电子邮箱地址 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:在电子邮件更正后重新发送发票
- “选秀顺位”电子邮件在流程中已更改。
- 添加一个条件:
draftOrder.status等于invoice_sent。 - 添加:发送内部邮件,请销售代表重新发送发票。
- 启用该工作流。
“草稿订单”收货地址已更改
当草稿订单的收货地址发生变更时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《数据访问令》草案 |
| 已开启 | 启用一个使用该功能的 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,以查看具体发送了什么内容。 |
示例:标记目标国家发生变化的报价
- 在流程中选择了**“选单顺序”并更改了收货地址**。
- 在内部邮件中添加草稿订单标签
recheck-shipping,并@{{shippingAddressDetails.countryCode}}。 - 启用该工作流。
“更改账单地址”草案
当草稿订单的账单地址发生变更时触发。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 《命令草案》数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 在开具发票之前,应确保ERP系统中的债务人记录保持最新。
“草稿订单账单地址已更改”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
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系统
- 在流程中选择了**“选秀顺序”和“账单地址已更改**”。
- 添加“使用
{{draftOrder.id}}发送HTTP请求”,并填写billingAddressDetails中的字段。 - 启用该工作流。
下一步
草稿订单不属于 Flow 引用类型,因此这些触发器会返回一个包含 id、name 和 status 的draftOrder对象。对于其他情况,请添加**“发送管理 API 请求**”或**“运行代码**”步骤,并使用 draftOrder.id。
- 触发器完整参考指南 - 所有触发器都集中在一页上。
- 选择合适的扳机 - 哪一种适合您的情况。
- 自定义触发器 - 如果没有合适的内置触发器,请自行编写一个。
- 事件历史记录和故障排除 - 看看它发射了什么,又携带了什么。
- 在记录的管理页面上触发事件 - 某条记录的最新动态,显示在Shopify管理后台的独立页面上。

