开发
Crownlivin —— Shopify 经销 商 配置 器
Crownlivin

背景
Crownlivin 是一个开在 Shopify 上的马来西亚家具品牌,自家店里有一个桌子的「自由搭配」配置器。品牌方希望转做供货方:让经销商把同一个配置器嵌进自己的 Shopify 店,用自己的品牌和定价卖 Crownlivin 的桌子,订单再流回 Crownlivin 履约。
需求梳理过程中商业规则一直在变 —— 钱谁收、谁给谁开票、订单怎么跨店流转 —— 所以必须先把架构验证出来,任何一方才好投入开发。
挑战
- 钱必须在经销商自己的结账里收,不是 Crownlivin 收;供货方只对经销商开票。
- 订单要在经销商批准之后,从经销商的 Shopify 跨到 Crownlivin 的 Shopify,落成批发订单。
- 每个经销商只看得到自己被授权的产品规格,并在供货方设定的底价之上加自己的价。
- 配置器要跑在经销商自己的域名下、不能用 iframe,并且加入经销商的原生购物车。
- 「这件事在 Shopify 上到底做不做得成」这个问题,答案必须来自真的跑一遍,而不是读文档。
我们做了什么
开发
我们随着客户商业规则的变化,把架构方案做了三版,然后在两个开发店上搭了一个零阶段的概念验证:
- 产品同步 —— 应用在经销商店里生成一组「Crownlivin 部件」产品,只限授权规格,价格按经销商的售价。
- 前台配置器 —— 通过 Shopify 的 app proxy 以 app block 的形式跑在经销商自己的域名下;选好的配置用同源购物车 API 加进经销商的购物车。
- 经销商结账 —— 经销商自己的支付通道、运费和邮件,完全不动。
- 订单转单 ——
orders/paidwebhook 打到我们的后端;经销商批准后,在 Crownlivin 店里生成一张批发订单,客户是经销商公司,价格按批发价。 - 两个内嵌后台做了设计 —— 供货方一侧(授权、每个经销商的底价、额度、订单、报表)和经销商一侧(加价、额度余额、订单、报表)。
过程中我们对照 Shopify 与 Stripe 的文档核实了 18 条平台事实,并记录下概念验证暴露出的七个坑。
结果
- 概念验证交付:完整的经销商流程在两个开发店之间端到端跑通。
- 架构被确认可行,因此可以对完整开发给出固定报价。
- 一份锁定的平台限制清单(自定义分发下每个经销商店只能装一个应用、第一版只支持 Shopify 经销商)写进了合同,避免后面出意外。
- 完整开发待客户决定。
- 范围
- Shopify 应用, 概念验证, 经销商平台, Webhook, 批发订单转单
- 成果
- 概念验证交付:两个开发店跑通了完整的经销商流程 —— 前台配置器、经销商结账、支付成功 webhook、在供货方 Shopify 生成批发订单 —— 在投入开发之前先把架构验证清楚。
进行中