商品更新接口文档
一、接口名称
商品信息更新接口
二、接口描述
该接口用于更新商品的基本信息、规格、详情、图片等内容。支持更新商品封面图、轮播图、规格值、详情描述等完整商品信息。
三、接口路径
http://ip:port/app/product.updateProduct
四、请求方法
POST
五、请求头
参数名称 |
必填 |
类型 |
描述 |
store-id |
是 |
String |
商户ID |
Authorization |
是 |
String |
用户认证token |
app-id |
是 |
String |
应用ID |
transaction-id |
是 |
String |
请求流水号 |
sign |
是 |
String |
签名 |
req-time |
是 |
String |
请求时间 YYYYMMDDhhmmss |
六、请求参数
6.1 请求体参数
参数名称 |
必填 |
类型 |
描述 |
productId |
是 |
String |
商品ID |
prodName |
是 |
String |
商品名称 |
keyword |
是 |
String |
商品关键词,多个用分号(;)分隔 |
categoryId |
是 |
String |
商品分类ID |
unitName |
是 |
String |
商品单位 |
sort |
是 |
Integer |
排序值 |
isPostage |
是 |
String |
是否包邮(T/F) |
coverPhoto |
否 |
String |
封面图片URL |
carouselFigurePhoto |
否 |
JSONArray |
轮播图URL数组 |
content |
否 |
String |
商品详情HTML内容 |
productSpecs |
否 |
JSONArray |
商品规格数组 |
hktIds |
否 |
JSONArray |
家政服务类型ID数组 |
6.2 productSpecs规格参数说明
参数名称 |
必填 |
类型 |
描述 |
valueId |
否 |
String |
规格值ID(新增时可不传) |
specName |
是 |
String |
规格名称 |
specValue |
是 |
String |
规格值 |
price |
是 |
BigDecimal |
价格 |
stock |
是 |
Integer |
库存 |
isDefault |
是 |
String |
是否默认规格(T/F) |
deduction |
否 |
BigDecimal |
抵扣金额(默认0.00) |
七、返回值
7.1 返回值格式
{
"code": "0",
"msg": "成功",
"data": null
}
7.2 返回码说明
八、示例请求
{
"productId": "123456789",
"prodName": "高端智能手机",
"keyword": "手机;智能;5G",
"categoryId": "1001",
"unitName": "台",
"sort": 1,
"isPostage": "T",
"coverPhoto": "http://example.com/cover.jpg",
"carouselFigurePhoto": [
"http://example.com/img1.jpg",
"http://example.com/img2.jpg"
],
"content": "<p>商品详情HTML内容</p>",
"productSpecs": [
{
"specName": "颜色",
"specValue": "黑色",
"price": 5999.00,
"stock": 100,
"isDefault": "T",
"deduction": 0.00
},
{
"specName": "颜色",
"specValue": "白色",
"price": 5999.00,
"stock": 80,
"isDefault": "F",
"deduction": 0.00
}
],
"hktIds": ["1001", "1002"]
}
九、示例响应
{
"code": "0",
"msg": "保存成功",
"data": null
}
十、业务逻辑说明
- 参数校验:校验必填参数是否完整
- 规格校验:确保至少有一个默认规格
- 商品更新:更新商品基本信息
- 关键词处理:删除旧关键词并保存新关键词
- 图片处理:
- 删除旧封面图并保存新封面图
- 删除旧轮播图并保存新轮播图
- 规格处理:
- 详情处理:更新商品详情内容
- H5菜单处理:更新商品关联的家政服务类型
十一、注意事项
- 必须至少提供一个默认规格
- 关键词多个时用分号(;)分隔
- 图片URL需要提前上传到文件服务器
- 规格必须有价格和库存信息
- 操作是事务性的,任一环节失败会回滚所有操作