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

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

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

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

《命令草案》更新

每次保存选秀顺序时都会触发火焰特效。

火灾源于 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中

  1. 选择**“选秀顺位更新**”作为触发条件。
  2. 添加**“发送 HTTP 请求”**功能,支持 {{draftOrder.id}}{{draftOrder.name}}{{draftOrder.status}}{{draftOrder.totalPrice}} {{draftOrder.currencyCode}}
  3. 启用该工作流。

草案订单状态已更改

当草案订单在 openinvoice_sentcompleted 之间转移时触发。

火灾源于 Shopify Webhook 结合变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 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 结合变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 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,以查看具体发送了什么内容。

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

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

已添加草案订单标签

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

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

用于

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

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

流中的变量 类型 内容简介
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 结合变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 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 结合变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 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 结合变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 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 加 变更检测
权限 《命令草案》数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上

用于

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

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

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

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

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

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

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

火灾源于 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,以查看具体发送了什么内容。

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

  1. 在流程中选择了**“选单顺序”并更改了收货地址**。
  2. 在内部邮件中添加草稿订单标签 recheck-shipping,并@{{shippingAddressDetails.countryCode}}
  3. 启用该工作流。

“更改账单地址”草案

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

火灾源于 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系统

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

下一步

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