POST 将报价配置加入购物车
智简魔方业务系统 V10 地域购物车加购接口,复核报价令牌、商品来源、配置、数量、库存与价格后保存到核心购物车。前台须使用原报价的完整配置与同一用户会话;若价格变化,展示最新报价并确认后使用新令牌再次加购。
接口概览
| 项目 | 内容 |
|---|---|
| 文档类型 | 前台接口 |
| 请求方式 | POST |
| 接口地址 | /console/v1/location_cart/cart |
| 所属业务 | 地域购物车 |
| 来源模块/系统 | 地域购物车插件(location_cart) |
| 接口版本 | v2 |
| 认证方式 | 支持游客 Cookie 购物车;登录用户沿用前台 JWT,子账户需具有购物车操作权限。涉及密码、私钥等配置时需要登录。 |
完整请求
请求
正在加载示例…请求体(cart-request.json)
正在加载示例…
config_options: {}仅为请求结构占位。实际请求必须替换为按商品配置项接口填写完整的配置;示例商品 ID、来源标识和令牌也必须替换为服务端返回值。
游客可去掉
Authorization请求头,但须保留 Cookie。报价与加购使用同一用户身份;游客调用还须保留同一 Cookie 及 User-Agent。
接口说明
复核报价令牌、原生来源、配置、数量、库存和价格后,将商品保存到 V10 核心购物车。
product_id、source_key、billing_mode、config_options 和 qty 必须与报价请求一致,并在同一用户身份及游客会话下调用。
加购成功后可继续添加其他地域或商品,再进入站点原有购物车结算流程。
若 data.reason 为 quote_changed,展示 data.quote 中的新报价。用户确认后,使用 data.quote.quote_token 和原完整配置再次加购。
请求参数
| 名称 | 位置 | 类型 | 必选 | 默认值 | 说明 |
|---|---|---|---|---|---|
product_id | body | integer | 是 | — | V10商品ID,必须与报价请求一致 |
source_key | body | string | 是 | — | 原生来源稳定标识,必须与报价请求一致 |
billing_mode | body | string | 是 | — | 计费方式,必须与报价请求一致 |
config_options | body | object | 是 | — | 完整配置,必须与报价请求一致 |
quote_token | body | string | 是 | — | 实时报价接口返回的五分钟有效令牌 |
qty | body | integer | 否 | 1 | 购买数量,必须与报价请求一致,默认1,范围1至999 |
成功响应
以下为结构示例,部分可选或动态字段省略;全部响应字段定义见“响应参数”。
正在加载示例…失败响应
业务状态 400:参数或业务校验失败。提示信息以实际响应中的 msg 为准。
正在加载示例…业务状态 404:无购物车操作权限。
正在加载示例…价格发生变化
正在加载示例…data.quote 为最新计价结果,并包含新报价令牌。确认后使用 data.quote.quote_token 再次加购;若再次变价、库存不足或令牌过期,展示最新提示并重新报价。
响应状态
| 业务状态码 | 含义 | 说明 |
|---|---|---|
200 | 请求成功 | 读取 data 继续购买流程。 |
400 | 请求参数或业务校验失败 | 令牌过期、配置或数量与报价不一致、库存不足或价格变化。 |
404 | 无购物车操作权限 | 报价或加购沿用核心购物车权限。 |
上表为 JSON 响应体中的
status,不是 HTTP 状态码。不能仅凭 HTTP 请求成功判断业务是否成功。
响应参数
成功响应与特定业务失败响应中使用的字段如下。字段是否出现取决于响应场景;原文档未声明返回字段的必选属性。
| 名称 | 类型 | 说明 |
|---|---|---|
status | integer | 状态码 200成功 400业务失败 404无购物车权限 |
msg | string | 提示信息 |
data | object | 加购结果;价格变化时包含最新报价 |
data.product_id | integer | 已加入购物车的V10商品ID |
data.source_key | string | 已加入购物车的原生来源稳定标识 |
data.reason | string | 失败原因,quote_changed表示价格发生变化需要用户重新确认 |
data.quote | object | 价格变化时返回的最新报价和新报价令牌 |
data.reason 和 data.quote 用于价格变化的失败响应,成功加购不要求返回这些字段。新令牌位于 data.quote.quote_token,过期时间位于 data.quote.expires_at。