引言
对于 Shopify 商店的店主而言,当需要短暂离开(例如休假)时,他们通常希望商店能够继续在线展示商品,保持其在搜索引擎中的排名和潜在客户的浏览,但同时阻止顾客进行新的购买,避免因无法及时发货而产生问题。Shopify 内置的“密码页”功能虽然可以阻止购买,但其过于严格,会完全限制用户访问商店内容,这对于希望保持网站浏览量和搜索引擎排名的商家来说并非理想选择。
面对商店中成百上千甚至数千种商品及其变体,手动逐一更改库存状态无疑是一项耗时且极易出错的任务。本文将深入探讨如何利用强大的开源自动化工具 n8n,构建一个高效的工作流程,将所有商品的库存水平批量设置为零,从而优雅地实现“仅浏览”模式,让店主在享受假期之余,依然能保持商店的健康运营。
手动库存管理的痛点
想象一下,您的 Shopify 商店拥有数百个产品,每个产品又可能包含多个颜色、尺寸等变体。当您需要暂时停售所有商品时,比如店主度假、商品盘点或季节性调整,手动登录后台,逐一查找并修改每个产品的库存数量,不仅耗费大量宝贵时间,也极易在操作中出现遗漏或错误,从而影响客户体验或造成不必要的损失。这种低效率的工作方式,严重阻碍了商家将精力集中在更有价值的业务增长活动上。
n8n 工作流程详解:实现“售罄”模式
为了解决上述难题,我们设计了一个基于 n8n 的自动化工作流程。该流程连接到 Shopify 商店,获取所有商品列表,随后遍历每个商品的变体,将其库存水平设置为零。整个工作流程由以下四个核心节点组成:
1. 起点 (Start 节点)
每个 n8n 工作流程都以一个 Start 节点作为入口。在这个特定的场景下,Start 节点无需进行任何特殊配置,只需点击它即可手动触发整个工作流程的执行。
2. 获取所有产品 (Shopify 节点)
- 添加节点: 在
n8n工作流中添加一个Shopify节点。 - 连接凭据: 配置您的 Shopify API 凭据,确保
n8n能够安全地连接到您的商店。 - 资源与操作:
- 将 资源 (Resource) 设置为
Product。 - 将 操作 (Operation) 设置为
Get All。
- 将 资源 (Resource) 设置为
此节点的作用是向 Shopify API 发送请求,获取商店中所有商品的完整列表,包括每个商品的详细信息及其所有变体(variants)的数据,并以 JSON 对象的形式输出。
3. 拆分数据 (Split Out 节点)
Shopify API 在更新库存时,通常需要针对每个具体的库存项(inventory item)进行操作,而每个商品变体都有一个唯一的 inventory_item_id。从上一步 Shopify 节点获取的数据通常会将所有变体数据嵌套在一个产品项内。
- 节点用途:
Split Out节点是此处一个关键的中间步骤。 - 配置: 我们将配置
Split Out节点,使其根据variants字段拆分数据。
这一操作将上一步输出的单个大型数据项(包含一个产品及其所有变体)转换为多个单独的数据项,每个单独项代表一个产品变体。这样,我们就可以方便地访问到每个变体独有的 inventory_item_id,为后续的批量库存更新做好准备。
4. 库存重置 (HTTP Request 节点)
为了更精细地控制库存更新操作,我们将使用一个通用的 HTTP Request 节点,直接向 Shopify Admin API 发送 POST 请求。
- 连接凭据: 使用与
Shopify节点相同的 Shopify API 凭据进行认证。 - 请求 URL: 配置请求的 URL 为:
https://[您的商店子域名].myshopify.com/admin/api/[API 版本号]/inventory_levels/set.json(请替换[您的商店子域名]和[API 版本号]为您的实际信息,例如myshop.myshopify.com和2024-07)。 - 请求方法: 选择
POST方法。 - 请求主体 (Request Body): 在请求体中包含以下三个关键参数:
inventory_item_id: 动态获取上一个节点(Split Out节点)输出的商品变体 ID。使用n8n表达式{{ $json.id }}即可。location_id: 这是您 Shopify 商店中用于管理库存的特定物理位置 ID。您可以在 Shopify 后台的“设置”->“地点”中找到此 ID。available: 将此值设置为数字0,指示 Shopify 将对应inventory_item_id的库存水平更新为零。
这个 HTTP Request 节点将迭代处理 Split Out 节点输出的每一个商品变体项,为每个变体独立发送 API 请求,将其库存水平精确地设置为零。
(此处可想象一个图示,展示 n8n 界面中,Start 节点连接 Shopify 节点,Shopify 节点连接 Split Out 节点,Split Out 节点连接 HTTP Request 节点,形成一个清晰的流程图。)
总结与展望
通过在 n8n 中构建上述自动化工作流程,原本需要耗费大量时间进行的手动库存管理任务,现在可以转化为一键式的简单操作。这不仅显著节省了运营时间,更大幅降低了因人为疏忽而导致的错误风险。在本文作者的实践中,甚至借助了 Gemini 这类 AI 工具来辅助查阅文档,进一步提升了开发效率。
对于希望简化日常运营的电商企业主而言,积极探索和利用 n8n 这类无代码/低代码自动化工具无疑是提升效率的关键。此项目清晰地展示了,即便没有深厚的编程背景,也能通过巧妙地组合现有工具,实现复杂业务流程的自动化,从而将更多精力投入到核心业务增长和客户服务中。
关于
关注我获取更多资讯