Shopify Webhooks

products/update 全量 payload 太大怎么裁剪

现象#

一个两千变体的商品每次保存都推来几 MB JSON,网关偶发 413、函数内存告警;Logs 投递详情里的 Payload size 一路涨。

原因#

  • 默认投递整个资源,变体、图片、metafield 全带上,变体越多体积越大
  • 批量改价会为每个商品各发一条,几十条大 payload 同时到达打满入口带宽
  • handler 里先 JSON.parse 整包再丢字段,内存峰值与 payload 成正比
  • 用 products/update 同步库存,而库存本来有更轻的 inventory_levels 事件

处理步骤#

  1. 订阅加 include_fields,只留 id、updated_at、variants.price
  2. 用 filter 限定如 status:active,减少无关投递
  3. 精简后必须保留会变化的字段,否则相邻两条 payload 相同会被去抖丢掉
  4. 缺字段时按 id 回查 product(id:),别在入口做大对象同步
  5. 库存同步改订 inventory_levels/update,避免盘点时推整包商品

验收标准#

同一次保存的 Payload size 降到原来的十分之一以内,入口不再 413,函数内存曲线平稳。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。