每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 10 天前

三个店铺加一个 ERP,数据怎么不打架

2 个回答 2,740 次浏览 Admin API 与 GraphQL 最后活跃 10 天前
25

国内一个店、美国一个店、还有一个 B2B 站,都接了同一个 ERP。现在库存经常对不上,订单有时候两边都有有时候两边都没有。

镇
小镇提问者
Shopify Plus 架构顾问 · 跨境多市场
10 天前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
85

多店同步的唯一原则:每个字段只有一个写入方。库存以 ERP 为准,订单以 Shopify 为准,商品主数据放一边。三方都能写,必然对不上。

1处理顺序

  1. 定主线:库存与成本价由 ERP 写 Shopify;订单与客户由 Shopify 写 ERP;商品标题描述由 ERP 写,Shopify 侧只读。列一张字段归属表贴在文档里。
  2. 防回环:ERP 写库存后 Shopify 会产生 inventory_levels/update 事件,同步程序必须识别「这是自己刚写的」并跳过,用来源标记或版本号。
  3. 幂等:所有同步以 shopify_order_id / erp_order_no 做唯一键,重复推送直接忽略,不要靠时间戳判断。
  4. 失败补偿:每个同步任务记录状态与重试次数,连续失败进死信队列,每天生成一份差异对账表(ERP 有、Shopify 无)。
  5. 限流意识:三店共用一套程序时,GraphQL 配额是按店铺算的,但你的 worker 并发是共享的,要按店铺分别限速。

B2B 站的价格与库存规则和零售站不同,别用同一套同步逻辑。B2B 常需要「可超卖」和独立价目表,混在一起会把零售库存算错。

验收:连续两周每天对账,库存差异为 0(或差异有明确人工处理记录),订单无重复无丢失。
风 风格技术团队 · Shopify 官方合作伙伴 · 11 年建站经验 · 10 天前
14
对账表比实时同步更重要。实时同步只能保证「大概率对」,每天一次全量对账才能兜住那 0.5% 的意外。
泽 阿泽 · 前端工程师 · Hydrogen / Storefront API · 10 天前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu