平台接入·V6.6.8

妙手ERP数据订阅:库存变更推送下游

妙手ERP开放库存变更订阅接口,以 Webhook 与消息队列两种方式推送到自建系统,平均延迟 1.2 秒,日推送量可达 1200 万条,提供四种语言示例代码。

妙手ERP 库存变更推送 配图

7 月 24 日,妙手ERP开放库存变更订阅接口。卖家与 ISV 可以订阅 SKU 级的库存变动事件,系统通过 Webhook 或消息队列推送,包含变更前后数量、仓库、原因与关联订单号。自建 ERP、WMS 或数据仓库可以实时接收,不必再定时轮询全量库存。

轮询模式在高频变动时既浪费资源又容易漏单:某卖家每 5 分钟拉一次全量库存,接口响应 4.2 秒,遇到大促仍会错过中间状态。改为订阅后,平均延迟降到 1.2 秒,日推送量可达 1200 万条,接口调用次数下降 96%。

事件模型与幂等设计

库存事件分为入库、出库、锁定、释放、盘盈、盘亏六类,每条事件带唯一 ID、发生时间、SKU、仓库与变更前后数量。接收方按事件 ID 去重,重复推送不会造成重复扣减;事件按发生顺序编号,乱序到达时可以暂存等待。

订阅粒度可以到店铺、仓库或 SKU 分类,避免把全量数据推给只需要一部分的下游系统。每个订阅有独立的密钥,签名使用 HMAC-SHA256,接收方校验失败时系统返回 401 并记录日志。

接口开放的意义,是让数据流动起来,而不是让卖家多写一套同步脚本。—— 顾长风,妙手ERP 开放平台负责人

推送保障与失败重试

Webhook 推送超时时间为 5 秒,失败后按 10 秒、30 秒、2 分钟、10 分钟、30 分钟五次重试,仍失败则进入死信队列并通知订阅方。消息队列方式支持 Kafka 与 RabbitMQ,分区键使用 SKU,保证同一 SKU 的事件有序。

系统对每个订阅方做限流,默认每秒 500 条,可按需申请提升。连续 10 分钟失败率超过 20% 的订阅会被自动暂停,恢复后从断点续推,最多回溯 24 小时,超出部分需要重新拉取快照。

库存订阅上线首月数据(2026 年 7 月)
接入 ISV / 自建系统46 / 128
平均推送延迟1.2 秒
日推送峰值1200 万条
接口调用下降96%
死信率0.03%

自建系统怎么接

开放平台提供 Python、Java、PHP 与 Node.js 四种语言的示例代码,包含签名校验、去重与重试处理。接入流程分三步:创建应用、配置回调地址、订阅事件类型,测试环境可以先用沙箱推送验证。

对于没有公网地址的内部系统,可以使用消息队列方式拉取,或通过反向隧道把回调转到内网。上线首月已有 46 家 ISV 与 128 家自建系统接入,累计推送 8.7 亿条事件,死信率 0.03%。

库存变更订阅随 V6.6.8 上线,专业版及以上用户可创建 5 个订阅,企业版不限制数量。妙手ERP表示,后续会开放订单、采购与售后事件,统一到同一套开放平台。

把接口做稳,卖家才敢把自己的系统接上来。—— 秦朗,妙手ERP 平台架构师
库存变更推送 场景实拍配图

用户评论(5)

施
施远2026-07-24

我们自建 WMS 用 Webhook 接的,延迟基本在一秒左右。

康
康宁2026-07-25

幂等设计很关键,之前轮询经常重复扣库存。

阮
阮玲2026-07-26

希望示例代码补一个 Go 版本,我们后端用的是 Go。

毛
毛磊2026-07-28

限流能申请提升就好,大促时 500 条每秒有点紧。

薛
薛峰2026-07-30

死信队列有通知,排查起来比以前方便多了。

↑