第一年:从手动到半自动
1688自动采购这三年:我试过七八套系统,最后自己写了
凌晨两点,手机震了。
韩国客户发来一张商品截图,全是韩文。我打开翻译软件逐字猜,折腾半小时才弄明白她要的是哪款。正准备回消息,又一条——美国客户问为什么运费比上次贵了5美金。
那晚我坐在电脑前,突然觉得不对劲。明明用了自动采购系统,怎么比手动下单时还累?
后来我才明白,问题不在自动化本身,而在我用的那些系统。
第一年:从手动到半自动
创业头半年,每天五六十单,全靠手工。早上八点坐到电脑前,登录1688、淘宝,挨个复制链接、选规格、填地址。午饭在电脑前吃,下午继续,晚上对账。
有次漏了客户一单,对方等了两周问物流,我才发现根本没下单。那单最后亏了运费不说,客户直接把我拉黑了。
痛定思痛,上了第一套自动采购系统。
那套系统便宜,一个月几百块,核心功能就一个——客户下单后自动去1688找同款、自动下单。刚开始觉得捡到宝了,每天省下三四个小时。
但很快发现问题。1688的库存数据有延迟,大促期间能差半小时。系统显示有货,自动下单了,结果供应商那边早卖完了。客户那边款已付,我这里采购失败,两头不是人。
更糟的是回调丢包。高峰期1688的订单回调有1%-3%的丢包率,系统没收到失败信号,就一直显示“采购中”。等客户来催,已经过去好几天。
那段时间我每天早上的例行工作,就是手动核对异常订单。
第二年:换系统就像换工作
我以为是那套系统不行,开始换。
第二套功能多,支持多平台,但API限流卡得死。单用户每秒5次调用,高峰期动不动就429。一触发限流,系统就停摆十分钟,订单全卡住。
第三套解决了限流问题,但没做幂等校验。有次网络卡顿,采购页面刷新了一下,系统给同一个订单下了两单。供应商发了双倍货,客户只付了一单的钱,我亏了一单的成本。
第四套号称“全自动”,连售后都自动处理。结果供应商发错货,系统自动确认收货了,我追回款项花了两个月。
第五套。算了,不数了。
每换一套系统,都要重新配置、重新对接、重新培训团队。员工私下吐槽:“又换?上套还没用熟。”
我算了笔账,换系统的隐形成本——迁移数据的时间、对接新API的开发、员工的学习成本——比系统本身贵多了。
有意思的是,换了一圈发现,没有一套系统能同时解决好三个核心问题:1688的限流、回调的可靠性、多语言支付。
尤其是多语言。我的客户在韩国、日本、美国、欧洲,每个地方用的支付方式都不一样。韩国人用KakaoPay,日本人用便利店支付,欧美人用PayPal。大部分系统只接支付宝和微信,海外客户根本付不了款。
第三年:自己写
这不是冲动决策。
我用过的七八套系统,每套都有可取之处。A的限流处理做得好,B的回调补偿机制靠谱,C的多货币支持完善,D的多语言做得不错。
但就是没有一套能全包。
最后决定自研。不是因为我有技术背景——我也不会写代码。我找了个技术合伙人,把我踩过的坑、总结的规则,一条条写下来,让他实现。
核心就几条:
限流用令牌桶。1688限制每秒5次调用,我们就严格控制,超过的请求排队,不硬闯。触发429自动指数退避重试,不会一棍子打死。
回调丢失用补偿轮询。如果回调没到,系统定时去1688查订单状态,查到就更新。虽然会有几分钟延迟,但不会丢单。
下单前做幂等校验。同一个订单号只能采购一次,刷新页面也不会重复下单。
多语言和多货币做在前面。系统内置中英日韩法,支付接入了KakaoPay、PayPal、Line Pay,汇率按中间价加缓冲。
这些规则说起来简单,但市面上的系统很少同时做好。要么是技术架构限制,要么是产品经理没踩过这些坑。
后来我把这套系统产品化了,就是现在的taocarts。不是自夸,至少我自己用得顺手了。
说个很多人不知道的:1688的API限流是按账号类型分的,但大部分系统只做了应用级限流,没做用户级和IP级。
个人开发者账号QPS只有5-10次,日调用量一百次左右。企业认证账号能到50次/秒,日调用五千次。付费版可以申请千次/分钟级别。
但问题是,同一个AppKey下所有用户共享额度。如果你有几百个客户同时在用,瞬间就能打爆。
更隐蔽的是IP级限流。同公网IP下多个应用叠加,高频触发直接封IP。有些系统为了省钱,所有请求走同一个出口IP,高峰期一锅端。
我们的做法是:用户级限流兜底,每人每秒不超过3次;IP池轮询,自动切换出口;触发限流后指数退避,从1秒开始翻倍重试,最多等64秒。
这套规则写进代码后,429错误降低了八九成。
关于下篇
说到限流和重试,就绕不开仓库的合包策略。
自动采购只是把货买回来,货到了仓库,合包、验货、称重、算运费,每一步都有坑。我之前因为合包搞错,把A客户的货塞进B客户的包裹里,发到两个不同的国家,最后赔了运费还赔了货。
关于仓库管理和合包策略,我们下篇详细聊。那块儿的坑,比采购深多了。
回头想想,当初凌晨两点那晚的崩溃,其实是个转折点。不是因为系统不好用,而是我理解了——自动化解决的是效率问题,不是管理问题。
用过七八套系统后,我终于想明白:不是买一套系统就能躺赢,而是要让系统适配你的流程。如果流程本身有问题,自动化只会让错误跑得更快。
这道理,我花了三年才搞懂。