创建Shopware订单能否使用商品编号替代ID作为标识符?
Shopware订单创建是否支持用商品编号替代商品ID作为标识符
支持,原生Shopware 6全量订单创建相关接口(含Admin API、Sales Channel API)均兼容商品编号作为商品匹配标识符,不需要额外开发全量ID同步的重集成逻辑。
- 接口传参规则:构造订单创建请求的
lineItems数组时,无需传入productId字段,直接传入productNumber字段,赋值为Salesforce侧存储的对应商品编号即可,接口会自动匹配对应商品完成订单创建,核心请求片段参考:
{ "salesChannelId": "业务绑定的对应销售渠道ID", "orderNumber": "按规则生成的订单编号", "lineItems": [ { "type": "product", "productNumber": "SF侧存储的对应商品编号", "quantity": 实际购买数量 } ] // 其余收货地址、客户信息、交易金额等必填字段按接口规范正常传参即可 }
- 版本兼容说明:如果使用的Shopware实例版本低于6.4.0.0,上述传参方式不生效,此时也不需要做全量商品ID同步,仅需在订单创建前加一层轻量查询逻辑:调用商品列表接口,传入商品编号作为过滤条件,查询拿到对应商品ID后再传入订单创建接口即可,单商品查询的接口开销极低,不会影响集成链路性能。
- 避坑提示:Shopware后台默认对商品编号开启唯一约束,只要两边商品编号映射关系一致,就不会出现商品匹配错误。不建议为了适配ID传参做全量商品数据双向同步,后续商品上下架、信息变更会带来极高的维护成本。
内容的提问来源于stack exchange,提问作者RRI
相关产品推荐
相关产品推荐

