如何通过BigCommerce V3 Cart API创建含文件类型修饰符的购物车
BigCommerce V3 Cart API 提交带文件类型修饰符产品的购物车实现方案
文件类型产品修饰符无法在单次创建购物车的请求中直接完成传参,V3 接口的标准处理流程分为3步:
- 提前拉取对应产品的修饰符配置
调用产品查询接口拿到目标商品的修饰符列表,筛选出类型为file的修饰符ID,注意不要和普通SKU选项、其他类型修饰符的ID混淆,前端上传控件对应的就是这类file类型的Modifier。 - 首次创建购物车传入非文件类参数
调用创建购物车接口时,line_items节点下仅传入商品ID、数量、其他非文件类型的选项/修饰符值,不要携带文件类型修饰符的相关参数,请求成功后拿到返回的购物车ID、对应商品行项目的item ID。 - 更新行项目绑定上传文件
调用购物车行项目更新接口,传入上一步拿到的cart ID、item ID,在请求体的option_selections节点传入文件修饰符的对应值,文件不需要提前单独走上传接口,直接传base64编码后的文件内容即可,参考请求结构:
{ "line_item": { "option_selections": [ { "option_id": "提前获取的文件类型修饰符数字ID", "file_value": { "file_data": "文件内容的base64编码字符串", "file_name": "自定义上传文件名.对应后缀", "file_size": 文件实际字节大小 } } ] } }
常见踩坑说明
- 首次创建购物车的接口不支持接收
file_value类型的参数,直接在创建Cart阶段传文件参数会直接报参数校验错误,必须走创建后更新行项目的流程 - 上传的文件大小、格式必须和店铺后台该文件修饰符配置的校验规则一致,否则会返回422校验不通过错误
- 如果该文件修饰符支持多文件上传,在
option_selections数组中按顺序传入多个对应修饰符ID的file_value对象即可
内容的提问来源于stack exchange,提问作者manas paul
相关产品推荐
相关产品推荐

