电商网站最怕库存不准——卖多了发不出货,卖少了又压库存。用 WooCommerce 的 API 和 Webhook 功能,就能和仓库系统(ERP/WMS)实时同步库存数据,彻底解决这些问题。下面介绍具体怎么操作。
1. 为什么要实现库存同步
库存同步对于电商平台的重要性体现在:
避免超卖:多渠道销售时,如果库存不同步,可能出现卖出无货的情况
提高发货效率:ERP/WMS 实时获取 WooCommerce 最新订单,及时发货
自动化运营:减少人工核对库存,降低出错率
数据一致性:库存信息随时更新,财务、销售和仓储系统保持一致
2. WooCommerce API 与 Webhook 的区别与配合
WooCommerce API:用于 主动请求和操作 数据,如查询商品库存、更新库存数量。
WooCommerce Webhook:用于 被动接收事件通知,如有订单创建、更新时,WooCommerce 会自动推送事件到指定 URL。
二者结合,可以实现:
Webhook 监听订单变化(如新订单扣库存)
API 更新库存信息(如 ERP 回传实际库存数量至 WooCommerce)
3. 实现库存同步的整体流程
以下为 WooCommerce 与 ERP/WMS 的库存同步逻辑:
WooCommerce Webhook 通知 ERP当 WooCommerce 中创建新订单时,触发 Webhook
将订单详情(包括商品 SKU 和数量)发送给 ERP 系统
ERP 根据库存扣减逻辑更新实际库存
ERP 更新 WooCommerce 库存当仓库收货、补货或其他系统库存变动时
ERP 通过 WooCommerce API 调用,更新对应商品库存
4. 配置 WooCommerce Webhook
4.1 创建 Webhook
登录 WordPress 后台
进入【WooCommerce】>【设置】>【高级】>【Webhook】点击【添加 Webhook】
4.2 配置参数
名称:如 “Order Created Webhook”
状态:激活
主题:选择 “Order Created” (订单创建时触发)
传送 URL:填写 ERP 系统接收通知的接口 URL
API 版本:选择最新 v3
保存后,WooCommerce 会在每次有新订单创建时,向 ERP 接口推送订单 JSON 数据。
5. 使用 WooCommerce API 更新库存
当 ERP 收到订单后,完成扣库存处理,需要把最新库存同步回 WooCommerce。
5.1 请求路径
更新单个商品库存的 API Endpoint:
PUT /wp-json/wc/v3/products/{product_id}
5.2 请求参数
JSON 请求体示例:
{
“stock_quantity”: 95, // 更新后的库存数量
“manage_stock”: true // 启用库存管理
}
5.3 cURL 请求示例
curl -X PUT https://example.com/wp-json/wc/v3/products/123
-u consumer_key:consumer_secret
-H “Content-Type: application/json”
-d ‘{
“stock_quantity”: 95,
“manage_stock”: true
}’
6. 注意事项
API 认证配置
使用 WooCommerce REST API 需要生成 Consumer Key 和 Secret
保证 ERP 系统保存并安全管理 API Key
Webhook 安全验证
WooCommerce Webhook 请求头会包含签名,可在 ERP 接收端验证 HMAC-SHA256 确认来源
API 调用频率限制
WooCommerce 本身无严格 rate limit,但服务器配置可能限制短时间过多请求,建议做好队列或节流处理
多仓库处理
如果使用多仓库,需要在 ERP 中根据区域库存计算总库存,再更新到 WooCommerce
7. 高级扩展方案
双向同步
除了 ERP 更新 WooCommerce,如果在 WooCommerce 后台手动修改库存,也可以通过 Webhook 将变化推送到 ERP,实现真正双向同步。
中间件队列架构
对于订单量较大的平台,可以在 WooCommerce 与 ERP 之间使用中间件(如 RabbitMQ、Redis 队列)缓冲请求,确保证 保系统稳定。
商品 SKU 对应关系表
保证 WooCommerce 与 ERP 商品 SKU 保持一致,避免更新错误产品。
总结
用WooCommerce的API和Webhook功能可以自动同步库存数据,实时更新避免这些问题。不管是连接仓库系统还是多平台管理,只要掌握好库存变动提醒和数据更新的方法,就能让库存管理变得简单高效。