当折扣到期时触发Shopify Flow
为什么要使用“折扣到期”触发器?
如果促销活动在午夜结束,但第二天早上您的首页横幅仍显示该活动,购物者可能会尝试使用已经失效的优惠码。这通常会导致结账失败,并产生本可避免的客服工单。
“折扣已过期”触发器有助于防止这种情况发生。当折扣过期时,应用可以自动启动一个Shopify Flow工作流。在一种常见的配置中,该工作流会将过期的折扣代码从“商店”元字段中移除,同时也会从商店前端移除促销横幅。
视频指南
您可以在视频中看到整个过程。
该设置的作用
- 关注从**“有效”状态变为“已过期”**状态的折扣
- 使用“折扣过期”触发器启动一个Shopify Flow工作流
- 允许您删除或更新依赖于已过期折扣的网店内容
- 有助于确保首页横幅、公告栏以及由元字段驱动的促销活动保持同步
开始之前
该触发器需要该应用的**“折扣数据访问**”权限。您无需提前授予该权限:当您开启该触发器时,应用会自动请求该权限。
设置触发器
在应用中,打开**“触发器**”,并在搜索栏中输入**“折扣”。开启“折扣过期**”功能。
如果该应用尚未启用“Discount Data Access”权限,Shopify 会立即请求该权限 - - 批准该对话框后,触发器即刻生效。启用一个以该触发器为起点的 Shopify Flow 工作流,也会同时启用该触发器。
该应用现在每隔几分钟就会检查您的折扣,一旦有折扣过期,就会启动您的Shopify Flow工作流。

打开 Shopify Flow 并创建一个新的工作流。在触发器选择器中,选择“Workflow Trigger Extensions”,然后选择**“Discount Expired**”。
该触发器显示为**“折扣已过期**”,其描述为:“当折扣过期时,此工作流将启动。”

在工作流编辑器中,选择**“测试事件**”,然后点击**“记录事件**”。这将捕获一个真实事件,以便您可以使用实际的折扣到期数据来测试工作流。您可以显式创建一个测试折扣,然后从“过去”中选择结束日期和结束时间,这样折扣就会过期,您就能看到该事件。

然后在 Slack 中创建一个以 Webhook 为起点的流程,您可以在这里配置相关变量,当该 Webhook 被触发时,系统会向指定的 Slack 频道发送消息。当折扣被触发时,我们将使用来自 Shopify 流程中的折扣数据向该 Webhook 发送请求。
然后在 Shopify Flow 中,您可以向 Slack Webhook 发送包含折扣数据的请求。如果您使用的是 Shopify 基础套餐,则 Shopify 流程中不提供 HTTP 请求选项。您可以使用 流程操作扩展来发送 HTTP 请求。 我在该流程中使用了相同的流程操作扩展,向 Slack Webhook 发送包含折扣数据的 HTTP POST 请求。
现在,您可以在Shopify中明确设置折扣过期时间,从而启用 Shopify Flow 并测试该流程。在 Slack 中,您将看到如下消息:
在事件历史记录中,您可以看到“折扣已过期”事件及其有效负载,如下所示:
示例:删除过期的主页横幅
一个常见的用例是删除由“Shop”元字段驱动的商店首页横幅。
- 将有效的促销代码存储在“商店”元字段中。
- 您的主题会读取该元字段,并在首页上显示横幅。
- 当折扣到期时,“折扣已过期”触发器将启动您的Shopify Flow工作流。
- 该工作流会从“商店”元字段中移除已过期的折扣码。
- 由于该元字段现在为空或已被更新,因此该横幅不再显示在商店首页上。
预期结果
设置完成后:
- 该应用会检测折扣何时到期
- Shopify Flow 自动启动**“折扣已过期**”工作流
- 您后续的操作可以删除过时的推广内容、更新元字段,或清理已过期的活动数据
故障排除
该工作流始终无法启动。在应用中,打开“触发器”,确认**“折扣已过期**”已启用,然后打开**“权限**”,确认已授予“折扣数据访问”权限。如果某个触发器已启用但未获得相应权限,则无法触发。
**它会稍晚一些开始。**系统会每隔几分钟检查一次您的折扣情况来检测有效期是否已过,因此工作流会在结束时间过后几分钟才开始,而不是在结束时刻的第二秒就开始。
您无法在 Flow 中找到该触发器。创建工作流时,请选择“Workflow Trigger Extensions”作为应用源,然后搜索“Discount Expired”。
您想测试一下。在 Shopify Flow 中,打开触发器步骤,单击“选择测试事件”,然后使用**“记录事件”功能**,以便工作流能够捕获一个真实的示例事件。

