HC小区接口文档

商品更新接口文档

一、接口名称

商品信息更新接口

二、接口描述

该接口用于更新商品的基本信息、规格、详情、图片等内容。支持更新商品封面图、轮播图、规格值、详情描述等完整商品信息。

三、接口路径

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 返回码说明

返回码 描述
0 操作成功
其他 操作失败

八、示例请求

{
  "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
}

十、业务逻辑说明

  1. 参数校验:校验必填参数是否完整
  2. 规格校验:确保至少有一个默认规格
  3. 商品更新:更新商品基本信息
  4. 关键词处理:删除旧关键词并保存新关键词
  5. 图片处理
    • 删除旧封面图并保存新封面图
    • 删除旧轮播图并保存新轮播图
  6. 规格处理
    • 删除旧规格
    • 保存新规格(新增或更新)
  7. 详情处理:更新商品详情内容
  8. H5菜单处理:更新商品关联的家政服务类型

十一、注意事项

  1. 必须至少提供一个默认规格
  2. 关键词多个时用分号(;)分隔
  3. 图片URL需要提前上传到文件服务器
  4. 规格必须有价格和库存信息
  5. 操作是事务性的,任一环节失败会回滚所有操作