跳到主要内容

商城

概念说明
  • SPU(Standard Product Unit):标准产品单位,从产品视角描述产品特性。例如 iPhone 14 就是一个 SPU。
  • SKU(Stock Keeping Unit):库存单位,从库存视角管理库存。例如 iPhone 14 白色 16G 就是一个 SKU。
  • 一个商品(SPU)可以包含多个 SKU(不同颜色、内存等规格组合)。

获取商品分类列表

获取商品的一级或二级分类列表。

  • URL/app-api/product/category/getParentCategoryList
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数类型约束说明
isParentBoolean-true-只获取父分类(一级),false-获取父分类和子分类(二级)
使用说明
  1. 用户点击某一分类进入分类列表时,需展示二级分类。
  2. 用户点击分类上的「更多」时,需展示二级分类。

请求示例

{
"isParent": true
}

响应示例

仅父分类:

{
"code": 0,
"data": [
{
"id": 15,
"parentId": 0,
"name": "童装童鞋",
"picUrl": "https://example.com/image.jpg",
"sort": 1,
"status": 0,
"subCategoryRespList": null
}
],
"msg": "成功"
}

父子分类:

{
"code": 0,
"data": [
{
"id": 15,
"parentId": 0,
"name": "童装童鞋",
"picUrl": "https://example.com/image.jpg",
"sort": 1,
"status": 0,
"subCategoryRespList": [
{
"id": 16,
"parentId": 15,
"name": "童装",
"picUrl": "https://example.com/sub.jpg",
"sort": 1,
"status": 0,
"subCategoryRespList": null
}
]
}
],
"msg": "成功"
}

响应说明

参数类型说明
idLong数据编号
parentIdLong父分类编号
nameString分类名称
picUrlString图片地址
statusLong状态,0-开启,1-禁用
sortLong排序
subCategoryRespListList子分类列表,结构同外层

获取商品 SPU 分页

获取商品列表,支持分类、品牌、热门、新品等筛选条件。

  • URL/app-api/product/spu/page
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数类型约束说明
pageNoNumber必传页码
pageSizeNumber必传每页条数
categoryIdNumber-分类编号
idsArray-商品 SPU 编号数组
categoryIdsArray-分类编号数组
brandIdLong-品牌编号,0 返回所有品牌
isHotBoolean-热门推荐,true-是,false-否
isNewBoolean-新品推荐,true-是,false-否
keywordString-关键字搜索商品名称
sortFieldString-排序字段,price-价格,salesCount-销量,createTime-最新
sortAscBoolean-排序方式,true-升序,false-降序

请求示例

{
"categoryId": 100,
"pageNo": 1,
"pageSize": 10
}

响应示例

{
"code": 0,
"data": {
"list": [
{
"id": 634,
"name": "HUAWEI Mate 60 Pro",
"introduction": "卫星通话,超可靠玄武架构",
"categoryId": 48,
"picUrl": "https://example.com/product.jpg",
"sliderPicUrls": [
"https://example.com/slide1.jpg",
"https://example.com/slide2.jpg"
],
"specType": true,
"price": 699900,
"marketPrice": 699900,
"stock": 977,
"salesCount": 6,
"isHot": null,
"isNew": null,
"branId": null
}
],
"total": 6
},
"msg": "成功"
}

响应说明

参数类型说明
idLong商品 SPU ID
nameString商品 SPU 名称
introductionString商品简介
categoryIdNumber分类编号
picUrlString商品封面
sliderPicUrlsArray商品轮播图
specTypeBoolean规格类型,false-单规格,true-多规格
priceNumber商品价格,单位:分
marketPriceNumber市场价(划线价),单位:分
vipPriceNumberVIP 价格,单位:分
stockNumber库存
salesCountNumber商品销量
isHotBoolean热门推荐,null 默认 false
isNewBoolean新品推荐,null 默认 false
branIdNumber品牌编号
totalLong分页总数量

获取商品 SPU 明细

获取单个商品的详细信息,包含 SKU 列表。

  • URL/app-api/product/spu/getSpuDetail
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
idLong必传商品编号

请求示例

{
"id": 640
}

响应示例

{
"code": 0,
"data": {
"id": 639,
"name": "商品名称",
"introduction": "商品简介",
"description": "<p>商品详情</p>",
"categoryId": 19,
"picUrl": "https://example.com/cover.jpg",
"sliderPicUrls": ["https://example.com/slide.jpg"],
"specType": false,
"price": 100,
"marketPrice": 200,
"stock": 4,
"skus": [
{
"id": 29,
"properties": [
{
"propertyId": 0,
"propertyName": "默认",
"valueId": 0,
"valueName": "默认"
}
],
"price": 100,
"marketPrice": 200,
"vipPrice": null,
"picUrl": "",
"stock": 4,
"weight": 5,
"volume": 6
}
],
"salesCount": 0,
"isHot": true,
"isNew": true,
"descriptionOne": "平台官方直营",
"descriptionTwo": "平台提供售后",
"descriptionThree": "支持七天无理由退换货",
"liveProductBaseInfo": {
"id": 12,
"liveId": 120,
"spuId": 639,
"status": 0,
"sort": 1,
"explainStatus": 1,
"createTime": 1734082373000
}
},
"msg": "成功"
}

响应说明

商品基本信息:

参数类型说明
idLong商品数据编号
nameString商品名称
introductionString商品简介
descriptionString商品详情信息
categoryIdNumber分类编号
picUrlString商品封面
sliderPicUrlsArray商品轮播图
specTypeBoolean规格类型,false-单规格,true-多规格
priceNumber商品价格(SKU 单价最低值),单位:分
marketPriceNumber市场价(划线价),单位:分
stockNumber库存
salesCountNumber商品销量
isHotBoolean热门推荐
isNewBoolean新品推荐
descriptionOneString商品保障说明一
descriptionTwoString商品保障说明二
descriptionThreeString商品保障说明三

SKU 字段(skus):

参数类型说明
idLong商品 SKU 编号
propertiesArray属性数组(propertyId/propertyName/valueId/valueName)
priceNumber销售价格,单位:分
marketPriceNumber市场价格,单位:分
vipPriceNumberVIP 价格,单位:分
picUrlString图片地址
stockNumber库存
weightNumber商品重量
volumeNumber商品体积

获取品牌分页

分页获取商品品牌列表。

  • URL/app-api/product/brand/page
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数类型约束说明
pageNoNumber必传页码
pageSizeNumber必传每页条数
nameString-品牌名称,模糊搜索

请求示例

{
"name": "索尼",
"pageNo": 1,
"pageSize": 10
}

响应示例

{
"code": 0,
"data": {
"list": [
{
"id": 3,
"name": "索尼",
"picUrl": "https://example.com/brand.png",
"sort": 2,
"description": "<p>品牌介绍</p>",
"status": 0,
"createTime": 1693463998000
}
],
"total": 1
},
"msg": "成功"
}

响应说明

参数类型说明
idLong品牌 ID
nameString品牌名称
picUrlString品牌封面
sortInteger排序
descriptionString品牌介绍
statusInteger状态,0-启用
createTimeLong创建时间
totalLong分页总数量

获取品牌列表

获取品牌列表(不分页)。

  • URL/app-api/product/brand/list
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数类型约束说明
nameString-品牌名称,模糊搜索

请求示例

{
"name": "索尼"
}

响应示例

{
"code": 0,
"data": [
{
"id": 2,
"name": "华为",
"picUrl": "https://example.com/huawei.png",
"sort": 0,
"description": "遥遥领先",
"status": 0,
"createTime": 1693463160000
},
{
"id": 3,
"name": "索尼",
"picUrl": "https://example.com/sony.png",
"sort": 2,
"description": "品牌介绍",
"status": 0,
"createTime": 1693463998000
}
],
"msg": "成功"
}

响应说明

响应字段同「获取品牌分页」。

说明

品牌分页及品牌列表接口均已返回品牌完整信息,单个品牌详情可直接从列表中获取。


获取直播间商品列表

获取直播间已挂载的商品列表。

  • 后台接口/admin-api/product/spu/getLiveSpuList
  • APP 接口/app-api/product/spu/getLiveSpuList
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数类型约束说明
liveIdNumber必传直播间编号
explainStatusNumber-当前讲解状态
statusNumber-状态,0-获取上架状态的商品列表

请求示例

{
"liveId": 120,
"explainStatus": 1,
"status": 0
}

响应示例

{
"code": 0,
"data": [
{
"id": 639,
"name": "商品名称",
"introduction": "商品简介",
"categoryId": 19,
"picUrl": "https://example.com/product.jpg",
"sliderPicUrls": ["https://example.com/slide.jpg"],
"specType": false,
"price": 100,
"marketPrice": 200,
"stock": 4,
"salesCount": 0,
"isHot": true,
"isNew": true,
"branId": null,
"liveProductBaseInfoRespApiVO": {
"id": 12,
"liveId": 120,
"spuId": 639,
"status": 0,
"sort": 1,
"explainStatus": 1,
"createTime": 1734082373000
}
}
],
"msg": "成功"
}

响应说明

商品字段同「获取商品 SPU 分页」。

挂载信息(liveProductBaseInfoRespApiVO):

参数类型说明
idLong挂载编号
liveIdLong直播间编号
spuIdLong商品 SPU 编号
statusLong上架状态,1-上架,0-下架
sortLong排序
explainStatusLong是否当前讲解,0-否,1-是
createTimeLong创建时间
updateTimeLong更新时间,可按此字段排序

获取直播间当前讲解商品明细

获取直播间当前正在讲解的商品 SPU 详细信息。

  • 后台接口/admin-api/product/spu/getLiveSpuDetail
  • APP 接口/app-api/product/spu/getLiveSpuDetail
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
liveIdNumber必传直播间编号
explainStatusNumber必传当前讲解状态,0-否,1-是
statusNumber-上架状态,0-获取上架商品

请求示例

{
"liveId": 120,
"explainStatus": 1,
"status": 0
}

响应示例

{
"code": 0,
"data": {
"id": 639,
"name": "商品名称",
"introduction": "商品简介",
"description": "<p>商品详情</p>",
"categoryId": 19,
"picUrl": "https://example.com/cover.jpg",
"sliderPicUrls": ["https://example.com/slide.jpg"],
"specType": false,
"price": 100,
"marketPrice": 200,
"stock": 4,
"skus": [
{
"id": 29,
"properties": [
{
"propertyId": 0,
"propertyName": "默认",
"valueId": 0,
"valueName": "默认"
}
],
"price": 100,
"marketPrice": 200,
"stock": 4,
"weight": 5,
"volume": 6
}
],
"salesCount": 0,
"isHot": true,
"isNew": true,
"descriptionOne": "平台官方直营",
"descriptionTwo": "平台提供售后",
"descriptionThree": "支持七天无理由退换货",
"liveProductBaseInfo": {
"id": 12,
"liveId": 120,
"spuId": 639,
"status": 0,
"sort": 1,
"explainStatus": 1,
"createTime": 1734082373000
}
},
"msg": "成功"
}

响应说明

响应字段同「获取商品 SPU 明细」,额外包含挂载信息(liveProductBaseInfo)。

错误码说明
错误码说明
1008005000商品 SPU ID 不能为空
1008005001商品 SPU 不存在
1008005002商品 SPU 不处于上架状态

以上三种状态码代表当前直播没有正在讲解的商品。


获取商品评价分页

  • URL/app-api/product/comment/getCommentPage
  • MethodPOST
  • 需要鉴权:否

请求参数

参数类型约束说明
spuIdLong必传商品 SPU 编号
goodCommentBoolean可选是否仅显示好评
pageNoLong可选页码,默认 1
pageSizeLong可选每页条数,默认 10

请求示例

{ "spuId": 639, "pageNo": 1, "pageSize": 10 }

响应示例

{
"code": 0,
"data": {
"list": [
{
"userId": 1024,
"userNickname": "用户A",
"userAvatar": "http://...",
"id": 100,
"anonymous": false,
"orderId": 200,
"orderItemId": 300,
"replyStatus": true,
"replyContent": "感谢您的好评!",
"replyTime": 1734082373000,
"createTime": 1734082000000,
"spuId": 639,
"spuName": "商品名称",
"skuId": 700,
"scores": 5,
"descriptionScores": 5,
"benefitScores": 5,
"content": "非常好用,推荐购买!",
"picUrls": ["http://..."],
"skuPicUrl": "http://..."
}
],
"total": 1
},
"msg": "成功"
}

响应说明

参数类型说明
userIdLong评价用户编号
userNicknameString评价用户昵称
userAvatarString评价用户头像
idLong评价编号
anonymousBoolean是否匿名
orderIdLong订单编号
orderItemIdLong订单项编号
replyStatusBoolean商家是否回复
replyContentString商家回复内容
replyTimeLong商家回复时间
createTimeLong评价时间
spuIdLong商品 SPU 编号
spuNameString商品名称
skuIdLong商品 SKU 编号
scoresLong综合评分
descriptionScoresLong描述评分
benefitScoresLong性价比评分
contentString评价内容
picUrlsString[]评价图片列表
skuPicUrlStringSKU 图片地址

爆款活动分页

  • URL/app-api/promotion/discount-activity/getDiscountActivityPage
  • MethodPOST
  • 需要鉴权:否

请求参数

参数类型约束说明
pageNoLong可选页码,默认 1
pageSizeLong可选每页条数,默认 10

请求示例

{ "pageNo": 1, "pageSize": 10 }

响应示例

{
"code": 0,
"data": {
"products": [
{
"spuId": 639,
"spuName": "商品名称",
"picUrl": "http://...",
"skuId": 700,
"discountType": 2,
"discountPercent": 80,
"discountPrice": 0,
"price": 10000,
"salePrice": 8000
}
],
"remark": "活动说明"
},
"msg": "成功"
}

响应说明

参数类型说明
productsArray活动商品列表
spuIdLong商品 SPU 编号
spuNameString商品名称
picUrlString商品封面图
skuIdLong商品 SKU 编号
discountTypeLong优惠类型,2-折扣,4-满减
discountPercentLong折扣百分比(80 表示 8 折)
discountPriceLong优惠金额,单位:分
priceLong原价,单位:分
salePriceLong折后价,单位:分
remarkString活动说明

爆款活动详情

  • URL/app-api/promotion/discount-activity/getDiscountActivity
  • MethodGET
  • 需要鉴权:否

请求参数

无请求参数。

请求示例

GET /app-api/promotion/discount-activity/getDiscountActivity

响应示例

{
"code": 0,
"data": {
"products": [
{
"spuId": 639,
"spuName": "商品名称",
"picUrl": "http://...",
"skuId": 700,
"discountType": 2,
"discountPercent": 80,
"discountPrice": 0,
"price": 10000,
"salePrice": 8000
}
],
"remark": "活动说明",
"imgUrl": "http://..."
},
"msg": "成功"
}

响应说明

参数类型说明
productsArray活动商品列表,字段同「爆款活动分页」
remarkString活动说明
imgUrlString活动海报地址