1. 商品模块API
API URL
post {HTTP(S)地址}/api/{version}/sku
商品分类主数据(树查询/创建/更新/删除)见下文 商品分类,请求 URL 为 /api/{version}/sku_category。商品新增/编辑仍用 categoryName1 / categoryName2 / categoryName3 按名称挂分类。普通属性、SPU 属性见下文 普通属性、SPU属性。
1.1. 商品列表查询接口
1.1.1. SERVICE_TYPE
QUERY_SIMPLE_LIST_SKU
1.1.2. 请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| page | Y | Number | 1 | 页码,默认1 |
| pageSize | Y | Number | 50 | 每页条数.不超过200条; 默认100 |
| categoryName1 | N | String | 一级商品分类 | |
| categoryName2 | N | String | 二级商品分类 | |
| categoryName3 | N | String | 三级商品分类 | |
| updateTimeFrom | N | String | 2022-09-26 | 更新开始时间 |
| updateTimeTo | N | String | 2022-09-26 | 更新结束时间 |
| skus | N | List <String> |
["123","456"] | 商品编码 |
| titles | N | List <String> |
["商品名称"] | 商品名称 |
| skuCustomFieldValueSOList | N | List<SkuCustomFieldValueSO> | 自定义栏位搜索条件 |
SkuCustomFieldValueSO(自定义栏位搜索)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| customFieldId | Y | Long | 3 | SERVICE_TYPE中的CUSTOMER_FIELD_QUERY接口返回的id |
| value | N | String | “张三” | 自定义栏位对应的值 STRING:字符串; SELECT:下拉框格式支持。 |
| from | N | String | "1970/01/01" | 范围查询左区间 NUMBER:数字; DATE:日期格式支持。 |
| to | N | String | "1971/01/01" | 范围查询右区间 NUMBER:数字; DATE:日期格式支持。 |
1.1.3. 返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
| errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
| state | Y | String | success | 请求结果 |
| total | Y | Number | 100 | 总条数 |
| result | Y | List<Sku> | 商品列表信息,详情查看下表 |
Sku(商品)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 商品SKU,最大255字符 |
| title | Y | String | “abc” | 商品名称,最大255字符 |
| barcode | N | String | 商品条码,最大255字符 | |
| type | Y | String | “SINGLE” | 商品类型 |
| isAssembly | N | Int | 0或者1 | 是否组装品 1:是 0:否 |
| picUrl | N | String | 图片地址,最大255字符 | |
| saleStatus | N | String | 销售状态,最大50字符 | |
| weight | Y | Decimal | 毛重 | |
| netWeight | Y | Decimal | 净重 | |
| weightUnit | Y | String | 重量单位 | |
| abbrTitle | N | String | 简称,最大255字符 | |
| brand | N | String | 商品品牌,最大50字符 | |
| unit | N | String | 商品单位,最大128字符 | |
| color | N | String | 颜色,最大255字符 | |
| size | N | String | 尺码,最大255字符 | |
| length | Y | Decimal | 长 | |
| width | Y | Decimal | 宽 | |
| height | Y | Decimal | 高 | |
| dimensionUnit | Y | String | 长度单位 | |
| itemPackage | N | Number | 包装数量 | |
| description | N | String | 商品描述,最大2048字符 | |
| descriptionEn | N | String | 商品描述英文,最大2048字符 | |
| functionDescription | N | String | 性能描述,最大2048字符 | |
| enable | Y | Number | 商品状态(0:禁用;1:有效) | |
| shelfLife | Y | Number | 90 | 保质期(默认单位天) |
| categoryName1 | N | String | 一级商品分类 | |
| categoryName2 | N | String | 二级商品分类 | |
| categoryName3 | N | String | 三级商品分类 | |
| singleBoxCode | N | String | 单箱条码 | |
| singleItemVolume | N | Decimal | 单品体积 | |
| cartonVolumeUnit | N | String | 体积单位 | |
| customProp1 | N | String | 自定义字段1 | |
| customProp2 | N | String | 自定义字段2 | |
| customProp3 | N | String | 自定义字段3 | |
| price | N | Decimal | 默认售价 | |
| remarkName | N | String | 备注名 | |
| singleSkuList | N | List <SubSkuDTO> |
如果是组合品,返回子品信息 | |
| parts | N | List <SubSkuDTO> |
组装品子品信息 1. sku:子品编码 2. quantity:子品数量 |
|
| skuCustomFieldValueVOList | N | SkuCustomFieldValueVO | 自定义栏位信息 | |
| packingRate | N | Number | 单箱数量 | |
| purchaseCost | N | Decimal | 采购成本 | |
| purchaseCostUnit | N | String | 采购成本币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| skuSupplierList | N | List <SkuSupplierDTO> |
供应商信息 | |
| isRelatedSingleCost | N | Boolean | 是否关联单品成本 | |
| isIssueInvoice | N | Int | 是否开票 1: 是 2:否 |
|
| ncm | N | String | NCM | |
| taxGoodsName | N | String | 商品税务名称 | |
| cest | N | String | CEST | |
| placeOrigin | N | String | 原产地 |
SubSkuDTO(子品信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 商品SKU,最大255字符 |
| quantity | Y | Integer | 1 | 数量 |
SkuCustomFieldValueVO(自定义栏位信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| tableName | Y | String | SYS_ITEM | SYS_ITEM:系统商品自定义栏位; SYS_ORDER:订单自定义栏位; SYS_ODO:出库单自定义栏位; SYS_ASN:入库单自定义栏位。 |
| columType | Y | String | NUMBER | 筛选不同填入类型的自定义栏位 NUMBER:数字; DATE:日期; STRING:字符串; SELECT:下拉框。 |
| columName | Y | String | 生产日期 | 用户自己定义的栏位名称 |
| defaultValue | N | String | "1970/01/01"(无双引号) | 自定义栏位默认值 |
| candidateValue | N | String | ["1970/01/01","1970/01/02"] | 下拉框的候选值 |
| remark | N | String | 上架日期区分于出厂日期 | 备注 |
| required | N | Integer | 1 | 是否只查询必填栏位 1:true;0:false |
| isQuery | N | Integer | 1 | 是否只查询支持查询的栏位 1:true;0:false |
| isShow | N | Integer | 1 | 是否只查询支持列配置的栏位 1:true;0:false |
SkuSupplierDTO(供应商信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| name | Y | String | 供应商名称 | |
| isDefault | Y | Boolean | 是否默认供应商 | |
| purchaserList | Y | List <String> |
采购员,用户名非姓名 | |
| deliveryCycle | Y | Number | 预计交期(天) | |
| purchasePrice | N | Decimal | 采购单价,小数点后2位有效,多余部分四舍五入 | |
| purchasePriceUnit | N | String | 采购单价币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| minimumPurchaseQuantity | N | Number | 最小采购量,正整数 | |
| purchaseTaxRate | N | Decimal | 采购税率,单位:% | |
| drawbackRate | N | Decimal | 退税税率,单位:% | |
| purchaseUrl | N | String | 采购链接 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/sku' \
--form 'appId="TEST"' \
--form 'serviceType="QUERY_SIMPLE_LIST_SKU"' \
--form 'bizParam="{
\"page\":1,
\"pageSize\":1
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="a9837b4485a8e427f584933267dc4ea4"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"result\":[{\"cartonVolumeUnit\":\"cm3\",\"ccPriceUnit\":\"USD\",\"customsDeclarationPriceUnit\":\"USD\",\"dangerousTransportGoodsType\":\"NONE\",\"dimensionUnit\":\"cm\",\"enable\":1,\"exportTax\":0.0,\"height\":33.3,\"isDeleted\":0,\"length\":33.3,\"needQualityInspection\":false,\"netWeight\":33.0,\"picUrl\":\"https://test-logo.pomogo.co/STORE/1902244893482377216/default/ced190dda0e74aa0ba25879dffb8b9bc.png\",\"price\":0.0000,\"priceUnit\":\"USD\",\"sku\":\"3WkC2QzAnXPTsGO4vCNUgm\",\"skuCustomFieldValueVOList\":[{\"candidateValue\":[],\"columCode\":1,\"columName\":\"商品有效期\",\"columType\":\"DATE\",\"customFieldId\":17,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":17,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":2,\"columName\":\"商品产地\",\"columType\":\"STRING\",\"customFieldId\":16,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":16,\"isQuery\":1,\"isShow\":1,\"required\":0},{\"candidateValue\":[\"1\",\"2\",\"3\",\"123\"],\"columCode\":3,\"columName\":\"测试单选栏位\",\"columType\":\"SELECT\",\"customFieldId\":47,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":47,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":5,\"columName\":\"货值\",\"columType\":\"DATE\",\"customFieldId\":26,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"id\":26,\"isQuery\":0,\"isShow\":1,\"required\":0},{\"candidateValue\":[],\"columCode\":6,\"columName\":\"产品编码\",\"columType\":\"STRING\",\"customFieldId\":33,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":33,\"isQuery\":1,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":7,\"columName\":\"123\",\"columType\":\"STRING\",\"customFieldId\":40,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":40,\"isQuery\":1,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":10,\"columName\":\"地区账套\",\"columType\":\"STRING\",\"customFieldId\":27,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":27,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":11,\"columName\":\"单箱条码\",\"columType\":\"STRING\",\"customFieldId\":28,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":28,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[],\"columCode\":12,\"columName\":\"规格型号\",\"columType\":\"STRING\",\"customFieldId\":29,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":29,\"isQuery\":0,\"isShow\":0,\"required\":0}],\"title\":\"yhx母婴商品测试001自营 33\",\"type\":\"SINGLE\",\"weight\":33.0,\"weightUnit\":\"KG\",\"width\":33.3}],\"state\":\"success\",\"total\":3960}",
"requestId": "afac1414-8397-4657-bd57-ed2c90bdc9b7"
}
1.2. 商品新增接口
1.2.1. SERVICE_TYPE
INSERT_SKU_INFO
1.2.2. 请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 商品SKU,最大255字符 |
| title | Y | String | “abc” | 商品名称,最大255字符 |
| barcode | N | String | 商品条码,最大255字符 | |
| type | Y | String | “SINGLE” | 商品类型 |
| isAssembly | N | Int | 0或者1 | 是否组装品 1:是,需填写parts字段 0:否 |
| picUrl | N | String | 图片地址,最大255字符,建议使用picUrlList | |
| picUrlList | N | List<String> |
多张图片地址 | |
| saleStatus | N | String | 销售状态,最大50字符 | |
| weight | Y | Decimal | 毛重 | |
| netWeight | Y | Decimal | 净重 | |
| weightUnit | Y | String | 重量单位 | |
| abbrTitle | N | String | 简称,最大255字符 | |
| brand | N | String | 商品品牌,最大50字符 | |
| unit | N | String | 商品单位,最大128字符 | |
| color | N | String | 颜色,最大255字符 | |
| size | N | String | 尺码,最大255字符 | |
| length | Y | Decimal | 长 | |
| width | Y | Decimal | 宽 | |
| height | Y | Decimal | 高 | |
| dimensionUnit | Y | String | 长度单位 | |
| itemPackage | N | Number | 包装数量 | |
| description | N | String | 商品描述,最大2048字符 | |
| descriptionEn | N | String | 商品描述英文,最大2048字符 | |
| functionDescription | N | String | 性能描述,最大2048字符 | |
| enable | Y | Number | 商品状态(0:禁用;1:有效) | |
| serialEnable | N | Number | 0 | 是否启用序列号管理(0:否;1:是) |
| shelfLife | Y | Number | 90 | 保质期(默认单位天) |
| packingRate | N | Number | 装箱率,若未填写则不保存外箱尺寸、外箱毛重、外箱净重等值 | |
| cartonLength | N | Decimal | 外箱长度,装箱率填写时此字段必填 | |
| cartonWidth | N | Decimal | 外箱宽度,装箱率填写时此字段必填 | |
| cartonHeight | N | Decimal | 外箱高度,装箱率填写时此字段必填 | |
| cartonWeight | N | Decimal | 外箱毛重,装箱率填写时此字段必填 | |
| cartonNetWeight | N | Decimal | 外箱净重,装箱率填写时此字段必填 | |
| cartonDimensionUnit | N | String | 外箱尺寸单位(cm; m),装箱率填写时此字段必填 | |
| cartonWeightUnit | N | String | 外箱重量单位(KG; G),装箱率填写时此字段必填 | |
| chineseCustomsDeclarationName | N | String | 中文报关品名 | |
| englishCustomsDeclarationName | N | String | 英文报关品名 | |
| cdPriceMethod | N | String | 报关价格计算方式(RATE:按比例; CONSTANT:按固定值) | |
| cdPriceRate | N | Decimal | 报关价格比例 | |
| cdPriceMaximum | N | Decimal | 报关价格最大值 | |
| customsDeclarationPrice | N | Decimal | 报关价格 | |
| customsDeclarationPriceUnit | N | String | 报关价格单位(CNY; USD; CAD; GBP; EUR; JRY) | |
| customsCode | N | String | 海关编码 | |
| exportTax | N | Decimal | 出口税率 | |
| declaration | N | String | 申报说明 | |
| dangerousTransportGoodsType | N | String | 危险品类型(NONE, LIQUID, POWDER, CONTAIN_ELECTRIC, ELECTRIC) | |
| batteryType | N | Integer | 电池类型(0:不带电; 1:配套锂离子电池; 2:内置锂离子电池; 3:配套锂金属电池; 4:内置锂金属电池; 5:配套干电池) | |
| ccPriceMethod | N | String | 清关价格计算方式(RATE:按比例; CONSTANT:按固定值) | |
| ccPriceRate | N | Decimal | 清关价格比例 | |
| ccPriceMaximum | N | Decimal | 清关价格最大值 | |
| ccPrice | N | Decimal | 清关价格 | |
| ccPriceUnit | N | String | 清关价格币种(CNY; USD; CAD; GBP; EUR; JRY) | |
| needQualityInspection | N | Boolean | 是否需要质检 | |
| price | N | Decimal | 默认售价 | |
| priceUnit | N | String | 默认售价单位(大写三位币种代码) | |
| asin | N | String | ASIN | |
| customProp1 | N | String | 自定义属性1 | |
| customProp2 | N | String | 自定义属性2 | |
| customProp3 | N | String | 自定义属性3 | |
| categoryName1 | N | String | 一级商品分类 | |
| categoryName2 | N | String | 二级商品分类 | |
| categoryName3 | N | String | 三级商品分类 | |
| remarkName | N | String | 备注名 | |
| singleSkuList | N | List <SubSkuDTO> |
子品信息 | |
| parts | N | List <SubSkuDTO> |
组装品子品信息,需填写信息 1. sku:子品编码 2. quantity:子品数量 |
|
| singleBoxCode | N | String | 单箱条码 | |
| singleItemVolume | N | Decimal | 单品体积 | |
| skuCustomFieldValueVOList | N | List <SkuCustomFieldValueVO> |
自定义栏位信息 | |
| purchaseCost | N | Decimal | 采购成本 | |
| purchaseCostUnit | N | String | 采购成本币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| skuSupplierList | N | List <SkuSupplierDTO> |
供应商信息 | |
| isRelatedSingleCost | N | Boolean | 是否关联单品成本,仅组合品生效 | |
| warehouseNameList | N | List |
["warehouseName1"] | type=SINGLE时,可填该字段,自动创建仓库商品并异步下发仓库 |
| createAllWarehouseItems | N | Boolean | false | 默认false,type=SINGLE时,自动创建全部三方仓库商品并异步下发仓库;与warehouseNameList二选一 |
| developerUserNameList | N | List |
开发员账号 | |
| isIssueInvoice | N | Int | 是否开票 1: 是 2:否 |
|
| ncm | N | String | NCM,isIssueInvoice=1时必填 | |
| taxGoodsName | N | String | 商品税务名称:isIssueInvoice=1时必填 | |
| cest | N | String | CEST,非必填,isIssueInvoice=1时填写 | |
| placeOrigin | N | String | 原产地,非必填,isIssueInvoice=1时填写 |
SubSkuDTO(组合品子品信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 子品SKU |
| quantity | Y | Number | 3 | 组合品中该子品数量 |
SkuCustomFieldValueVO(自定义栏位)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| customFieldId | Y | Long | 3 | SERVICE_TYPE中的CUSTOMER_FIELD_QUERY接口返回的id |
| value | Y | String | “张三” | 自定义栏位对应的值 |
SkuSupplierDTO(供应商信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| name | Y | String | 供应商名称 | |
| isDefault | Y | Boolean | 是否默认供应商 | |
| purchaserList | Y | List <String> |
采购员,用户名非姓名 | |
| deliveryCycle | Y | Number | 预计交期(天) | |
| purchasePrice | N | Decimal | 采购单价,小数点后2位有效,多余部分四舍五入 | |
| purchasePriceUnit | N | String | 采购单价币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| minimumPurchaseQuantity | N | Number | 最小采购量,正整数 | |
| purchaseTaxRate | N | Decimal | 采购税率,单位:% | |
| drawbackRate | N | Decimal | 退税税率,单位:% | |
| purchaseUrl | N | String | 采购链接 |
1.2.3. 返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
| errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
| state | Y | String | success | 请求结果 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/sku' \
--form 'appId="TEST"' \
--form 'serviceType="INSERT_SKU_INFO"' \
--form 'bizParam="{
\"sku\":\"ckfsku\",
\"title\":\"ckfsku\",
\"type\":\"SINGLE\",
\"weight\":1,
\"netWeight\":1,
\"weightUnit\":\"KG\",
\"length\":1,
\"width\":1,
\"height\":1,
\"dimensionUnit\":\"cm\",
\"enable\":1,
\"serialEnable\":1,
\"shelfLife\":90,
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="bb8a4a78ebd8b43d6bc71f81e83ae900"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"state\":\"success\"}",
"requestId": "223f998d-b0d6-43e4-95cb-5c691572417d"
}
1.3. 商品编辑接口
1.3.1. SERVICE_TYPE
UPDATE_SKU_INFO
1.3.2. 请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 新增商品时填写的SKU |
| title | Y | String | “abc” | 商品名称,最大255字符 |
| barcode | N | String | 商品条码,最大255字符 | |
| type | Y | String | “SINGLE” | 商品类型 |
| isAssembly | N | Int | 0或者1 | 是否组装品 1:是,需填写parts字段 0:否 |
| picUrl | N | String | 图片地址,最大255字符,建议使用picUrlList | |
| picUrlList | N | List<String> |
多张图片地址 | |
| saleStatus | N | String | 销售状态,最大50字符 | |
| weight | Y | Decimal | 毛重 | |
| netWeight | Y | Decimal | 净重 | |
| weightUnit | Y | String | 重量单位 | |
| abbrTitle | N | String | 简称,最大255字符 | |
| brand | N | String | 商品品牌,最大50字符 | |
| unit | N | String | 商品单位,最大128字符 | |
| color | N | String | 颜色,最大255字符 | |
| size | N | String | 尺码,最大255字符 | |
| length | Y | Decimal | 长 | |
| width | Y | Decimal | 宽 | |
| height | Y | Decimal | 高 | |
| dimensionUnit | Y | String | 长度单位 | |
| itemPackage | N | Number | 包装数量 | |
| description | N | String | 商品描述,最大2048字符 | |
| descriptionEn | N | String | 商品描述英文,最大2048字符 | |
| functionDescription | N | String | 性能描述,最大2048字符 | |
| enable | Y | Number | 商品状态(0:禁用;1:有效) | |
| serialEnable | N | Number | 0 | 是否启用序列号管理(0:否;1:是) |
| shelfLife | Y | Number | 90 | 保质期(默认单位天) |
| packingRate | N | Number | 装箱率,若未填写则不保存外箱尺寸、外箱毛重、外箱净重等值 | |
| cartonLength | N | Decimal | 外箱长度,装箱率填写时此字段必填 | |
| cartonWidth | N | Decimal | 外箱宽度,装箱率填写时此字段必填 | |
| cartonHeight | N | Decimal | 外箱高度,装箱率填写时此字段必填 | |
| cartonWeight | N | Decimal | 外箱毛重,装箱率填写时此字段必填 | |
| cartonNetWeight | N | Decimal | 外箱净重,装箱率填写时此字段必填 | |
| cartonDimensionUnit | N | String | 外箱尺寸单位(cm; m),装箱率填写时此字段必填 | |
| cartonWeightUnit | N | String | 外箱重量单位(KG; G),装箱率填写时此字段必填 | |
| chineseCustomsDeclarationName | N | String | 中文报关品名 | |
| englishCustomsDeclarationName | N | String | 英文报关品名 | |
| cdPriceMethod | N | String | 报关价格计算方式(RATE:按比例; CONSTANT:按固定值) | |
| cdPriceRate | N | Decimal | 报关价格比例 | |
| cdPriceMaximum | N | Decimal | 报关价格最大值 | |
| customsDeclarationPrice | N | Decimal | 报关价格 | |
| customsDeclarationPriceUnit | N | String | 报关价格单位(CNY; USD; CAD; GBP; EUR; JRY) | |
| customsCode | N | String | 海关编码 | |
| exportTax | N | Decimal | 出口税率 | |
| declaration | N | String | 申报说明 | |
| dangerousTransportGoodsType | N | String | 危险品类型(NONE, LIQUID, POWDER, CONTAIN_ELECTRIC, ELECTRIC) | |
| batteryType | N | Integer | 电池类型(0:不带电; 1:配套锂离子电池; 2:内置锂离子电池; 3:配套锂金属电池; 4:内置锂金属电池; 5:配套干电池) | |
| ccPriceMethod | N | String | 清关价格计算方式(RATE:按比例; CONSTANT:按固定值) | |
| ccPriceRate | N | Decimal | 清关价格比例 | |
| ccPriceMaximum | N | Decimal | 清关价格最大值 | |
| ccPrice | N | Decimal | 清关价格 | |
| ccPriceUnit | N | String | 清关价格币种(CNY; USD; CAD; GBP; EUR; JRY) | |
| price | N | Decimal | 默认售价 | |
| priceUnit | N | String | 默认售价单位(大写三位币种代码) | |
| asin | N | String | ASIN | |
| customProp1 | N | String | 自定义属性1 | |
| customProp2 | N | String | 自定义属性2 | |
| customProp3 | N | String | 自定义属性3 | |
| categoryName1 | N | String | 一级商品分类 | |
| categoryName2 | N | String | 二级商品分类 | |
| categoryName3 | N | String | 三级商品分类 | |
| singleBoxCode | N | String | 单箱条码 | |
| singleItemVolume | N | Decimal | 单品体积 | |
| remarkName | N | String | 备注名 | |
| singleSkuList | N | List <SubSkuDTO> |
子品信息 | |
| parts | N | List <SubSkuDTO> |
组装品子品信息,需填写信息 1. sku:子品编码 2. quantity:子品数量 |
|
| skuCustomFieldValueVOList | N | List <SkuCustomFieldValueVO> |
自定义栏位信息 | |
| purchaseCost | N | Decimal | 采购成本 | |
| purchaseCostUnit | N | String | 采购成本币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| skuSupplierList | N | List <SkuSupplierDTO> |
供应商信息 | |
| isRelatedSingleCost | N | Boolean | 是否关联单品成本,仅组合品生效 | |
| developerUserNameList | N | List |
开发员账号 | |
| isIssueInvoice | N | Int | 是否开票 1: 是 2:否 |
|
| ncm | N | String | NCM,isIssueInvoice=1时必填 | |
| taxGoodsName | N | String | 商品税务名称:isIssueInvoice=1时必填 | |
| cest | N | String | CEST,非必填,isIssueInvoice=1时填写 | |
| placeOrigin | N | String | 原产地,非必填,isIssueInvoice=1时填写 |
SubSkuDTO(组合品子品信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 子品SKU |
| quantity | Y | Number | 3 | 组合品中该子品数量 |
SkuCustomFieldValueVO(自定义栏位)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| customFieldId | Y | Long | 3 | SERVICE_TYPE中的CUSTOMER_FIELD_QUERY接口返回的id |
| value | Y | String | “张三” | 自定义栏位对应的值 |
SkuSupplierDTO(供应商信息)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| name | Y | String | 供应商名称 | |
| isDefault | Y | Boolean | 是否默认供应商 | |
| purchaserList | Y | List <String> |
采购员,用户名非姓名 | |
| deliveryCycle | Y | Number | 预计交期(天) | |
| purchasePrice | N | Decimal | 采购单价,小数点后2位有效,多余部分四舍五入 | |
| purchasePriceUnit | N | String | 采购单价币种(CNY、USD、CAD、GBP、 EUR、JRY等) | |
| minimumPurchaseQuantity | N | Number | 最小采购量,正整数 | |
| purchaseTaxRate | N | Decimal | 采购税率,单位:% | |
| drawbackRate | N | Decimal | 退税税率,单位:% | |
| purchaseUrl | N | String | 采购链接 |
1.3.3. 返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
| errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
| state | Y | String | success | 请求结果 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/sku' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--form 'appId="TEST"' \
--form 'serviceType="UPDATE_SKU_INFO"' \
--form 'bizParam="{
\"sku\":\"ckfsku\",
\"title\":\"ckfsku\",
\"type\":\"SINGLE\",
\"weight\":1,
\"netWeight\":1,
\"weightUnit\":\"KG\",
\"length\":1,
\"width\":1,
\"height\":1,
\"dimensionUnit\":\"cm\",
\"enable\":1,
\"serialEnable\":1,
\"shelfLife\":90,
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="f843a75cdb3cf14f403fa423108bc410"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"state\":\"success\"}",
"requestId": "223f998d-b0d6-43e4-95cb-5c691572417d"
}
1.4. 商品启用/停用接口
1.4.1. SERVICE_TYPE
UPDATE_SKU_STATUS
1.4.2. 请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | Y | String | “sku1” | 新增商品时填写的SKU |
| enable | Y | Number | 商品状态(0:禁用;1:有效) |
1.4.3. 返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
| errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
| state | Y | String | success | 请求结果 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/sku' \
--form 'appId="TEST"' \
--form 'serviceType="UPDATE_SKU_STATUS"' \
--form 'bizParam="{
\"sku\":\"ckfsku\",
\"enable\":1
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="b5400443bf960060453cacf9c351b6a4"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"state\":\"success\"}",
"requestId": "758f16da-dea5-4f1d-a36a-054bd581f0c8"
}
1.5. 查询系统商品
1.5.1. SERVICE_TYPE
QUERY_SYS_SKU_LIST_SKU
1.5.2. 请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| platform | Y | String | “sku1” | 平台Code 例:AMAZON,ALIEXPRESS,EBAY,WALMART,WISH, LAZADA,SHOPEE_CNSC,SHOPEE,TIKTOK,TIKTOK_GLOBAL, TEMU,SHOPLINE,SHEIN ... |
| shopName | Y | Number | 店铺名称 | |
| skuExtDTOList | Y | List<SkuExtDTO> | 单次最多5个 |
SkuExtDTO(SKU查询条件)
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| onlineSkuId | N | String | "online-sku-id" | 线上skuId,其他(LAZADA,SHOPEE_CNSC,SHOPEE,TIKTOK,TIKTOK_GLOBAL等)用id查询 |
| onlineSku | N | String | “online-sku-code” | 线上skuCode,(AMAZON,ALIEXPRESS,EBAY,WALMART,WISH)用code查询 |
1.5.3. 返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| platform | Y | String | “sku1” | 平台Code 例:AMAZON,ALIEXPRESS,EBAY,WALMART,WISH, LAZADA,SHOPEE_CNSC,SHOPEE,TIKTOK,TIKTOK_GLOBAL, TEMU,SHOPLINE ... |
| shopName | Y | Number | 店铺名称 | |
| skuExtDTOList | Y | List<ReturnSkuExtDTO> |
ReturnSkuExtDTO
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| onlineSkuId | N | String | "online-sku-id" | 线上skuId,其他(LAZADA,SHOPEE_CNSC,SHOPEE,TIKTOK,TIKTOK_GLOBAL等) |
| onlineSku | N | String | “online-sku-code” | 线上skuCode,AMAZON,ALIEXPRESS,EBAY,WALMART,WISH |
| onlineSpuId | N | String | 线上spuId, 若有 | |
| onlineSpu | N | String | 线上spuCode, 若有 | |
| skuId | Y | String | 系统商品skuId | |
| sku | Y | String | 系统商品skuCode | |
| skuName | Y | String | 系统商品SkuName | |
| singleSkuList | N | List<SubSkuDTO> | 子品信息,如果系统商品是组合品则返回 |
SubSkuDTO
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| sku | N | String | 子品skuCode | |
| skuName | N | String | 子品skuName | |
| quantity | N | String | 子品数量 |
1.6. 商品分类
API URL
post {HTTP(S)地址}/api/{version}/sku_category
业务限制与报错与页面「商品 - 分类管理」/biz/sku_category/ 一致:最多三级;同父级下名称不可重复;更新不改上级;删除时若被系统商品或供应商占用则失败,并级联删除子分类。更新/删除必须传 id 与 version。
开放平台授权:四个接口均不自动授权。客户需在开放平台为应用勾选 QUERY_SKU_CATEGORY_LIST / CREATE_SKU_CATEGORY / UPDATE_SKU_CATEGORY / DELETE_SKU_CATEGORY 后才能调用,否则返回 SERVICE_TYPE_NOT_ALLOW。
1.6.1. 商品分类树查询接口
SERVICE_TYPE
QUERY_SKU_CATEGORY_LIST
请求参数
对齐页面 /biz/sku_category/get_all:返回当前客户下全部商品分类树(一级节点及其 childList),不是分页查询。无需 page / pageSize,无业务过滤参数,无条数上限。bizParam 可为空或 {}。
返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | ||
| errorMsg | Y | String | ||
| state | Y | String | success | |
| result | Y | List<SkuCategory> | 一级分类列表,子级在 childList |
SkuCategory
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Long | 1001 | 分类主键 |
| name | Y | String | 水果(A类) | 分类名称 |
| hsCode | N | String | 3 | 海关编码 |
| level | Y | Number | 1 | 1/2/3 |
| parentId | Y | Long | 0 | 一级为 0 |
| parentName | N | String | 上级名称 | |
| version | Y | Long | 0 | 乐观锁,更新/删除必传 |
| childList | N | List<SkuCategory> | 子分类 |
1.6.2. 商品分类创建接口
SERVICE_TYPE
CREATE_SKU_CATEGORY
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| name | Y | String | 普通水果 | 分类名称 |
| parentId | Y | Long | 0 | 上级 ID,一级传 0 |
| hsCode | N | String | 0801 | 海关编码 |
返回参数
成功时 result.id 为新建分类主键。失败错误码与页面一致,例如 SKU_CATEGORY_NAME_EXISTS、SKU_CATEGORY_PARENT_NOT_EXISTS、DATA_INPUT_ERROR(不可超过三级)。
1.6.3. 商品分类更新接口
SERVICE_TYPE
UPDATE_SKU_CATEGORY
请求参数
| 参数 | 是否必须 | 类型 | 备注 |
|---|---|---|---|
| id | Y | Long | 分类主键 |
| version | Y | Long | 乐观锁 |
| name | N | String | 分类名称 |
| hsCode | N | String | 海关编码 |
不可修改 parentId。version 不一致返回 VERSION_DIFF。
1.6.4. 商品分类删除接口
SERVICE_TYPE
DELETE_SKU_CATEGORY
请求参数
| 参数 | 是否必须 | 类型 | 备注 |
|---|---|---|---|
| id | Y | Long | 分类主键 |
| version | Y | Long | 乐观锁 |
被 SKU 占用:CATEGORY_USED_BY_SKU。被供应商占用:CATEGORY_USED_BY_SUPPLIER。删除时会同时删除其子分类。
1.7. 普通属性
API URL
post {HTTP(S)地址}/api/{version}/skuProperty
普通属性包括单位、品牌、销售状态和自定义分类,不含 SPU 属性。name/nameEN 最长 50,remark 最长 128。
1.7.1. 创建普通属性
SERVICE_TYPE
CREATE_SKU_PROPERTY
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| type | Y | String | BRAND | UNIT、BRAND、SALE_STATUS、CUSTOM,不接受 SPU |
| name | Y | String | 耐克 | 同类型唯一,最长 50 |
| nameEN | N | String | Nike | 英文名称,最长 50 |
| sequence | N | Number | 0 | 排序,范围 0-100,缺省 0 |
| remark | N | String | 品牌备注 | 最长 128 |
返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | 错误码 | |
| errorMsg | Y | String | 错误信息 | |
| state | Y | String | success | 请求结果 |
| result.id | Y | Number | 88 | 新建主键 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/skuProperty' \
--form 'appId="TEST"' \
--form 'serviceType="CREATE_SKU_PROPERTY"' \
--form 'bizParam="{\"type\":\"BRAND\",\"name\":\"耐克\",\"nameEN\":\"Nike\"}"' \
--form 'timestamp="1756865700001"' \
--form 'sign="sign"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"result\":{\"id\":88,\"name\":\"耐克\",\"nameEN\":\"Nike\",\"sequence\":0,\"type\":\"BRAND\"},\"state\":\"success\"}"
}
1.7.2. 修改普通属性
SERVICE_TYPE
UPDATE_SKU_PROPERTY
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 属性 id |
| type | Y | String | BRAND | 必须与原记录一致,不允许改类型 |
| name | Y | String | 耐克 | 同类型唯一 |
| nameEN | N | String | Nike | 不传则保持原值 |
| sequence | N | Number | 10 | 不传则保持原值 |
| remark | N | String | 不传则保持原值 |
成功时 bizContent 解码后为:
{"notSuccess":false,"state":"success"}
1.7.3. 删除普通属性
SERVICE_TYPE
DELETE_SKU_PROPERTY
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 属性 id |
| type | Y | String | BRAND | 必须与原记录一致 |
成功响应与修改接口相同;目标不存在或类型不匹配时返回业务错误。
1.7.4. 普通属性分页查询
SERVICE_TYPE
QUERY_SKU_PROPERTY_LIST
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| page | N | Number | 1 | 页码,默认 1,必须 >= 1 |
| pageSize | N | Number | 20 | 默认 20,范围 1-200 |
| type | Y | String | BRAND | UNIT、BRAND、SALE_STATUS、CUSTOM |
| name | N | String | 耐克 | 精确匹配 |
返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| total | Y | Number | 1 | 总条数 |
| result | Y | List<SkuProperty> | 属性列表 |
SkuProperty
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 主键 |
| type | Y | String | BRAND | 类型 |
| name | Y | String | 耐克 | 名称 |
| nameEN | N | String | Nike | 英文名 |
| sequence | Y | Number | 0 | 排序 |
| remark | N | String | 备注 |
空结果返回 result=[] 且 total=0。
分页返回示例:
{
"state":"success",
"errorCode":"",
"errorMsg":"",
"bizContent":"{\"notSuccess\":false,\"result\":[{\"id\":88,\"type\":\"BRAND\",\"name\":\"耐克\",\"nameEN\":\"Nike\",\"sequence\":0}],\"state\":\"success\",\"total\":1}"
}
1.7.5. 失败响应
参数校验、重名、目标不存在和类型不匹配等错误位于 bizContent。完整错误码见错误码。
{
"state":"success",
"errorCode":"",
"errorMsg":"",
"bizContent":"{\"errorCode\":\"sku.property.type.invalid\",\"errorMsg\":\"属性类型无效\",\"notSuccess\":true,\"state\":\"failure\"}"
}
1.8. SPU属性
API URL
post {HTTP(S)地址}/api/{version}/spuAttribute
管理 SPU 属性名和属性值。名称和值会去除首尾空格,最长 50;属性值最多 300 个。已被 SPU 引用的属性不可删除,已引用的属性名和属性值不可改掉。
1.8.1. 创建SPU属性
SERVICE_TYPE
CREATE_SPU_ATTRIBUTE
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| name | Y | String | 颜色 | 属性名称唯一,最长 50 |
| values | Y | List<String> | ["红","蓝"] | 完整列表,每项最长 50,最多 300 |
返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| errorCode | Y | String | 错误码 | |
| errorMsg | Y | String | 错误信息 | |
| state | Y | String | success | 请求结果 |
| result.id | Y | Number | 88 | 新建主键 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/spuAttribute' \
--form 'appId="TEST"' \
--form 'serviceType="CREATE_SPU_ATTRIBUTE"' \
--form 'bizParam="{\"name\":\"颜色\",\"values\":[\"红\",\"蓝\"]}"' \
--form 'timestamp="1756865700001"' \
--form 'sign="sign"'
返回示例:
{
"state":"success",
"errorCode":"",
"errorMsg":"",
"bizContent":"{\"notSuccess\":false,\"result\":{\"id\":88,\"name\":\"颜色\",\"values\":[\"红\",\"蓝\"]},\"state\":\"success\"}"
}
1.8.2. 修改SPU属性
SERVICE_TYPE
UPDATE_SPU_ATTRIBUTE
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 属性 id,不存在不创建 |
| name | Y | String | 颜色 | 已被引用时不可改名 |
| values | Y | List<String> | ["红","蓝"] | 完整目标列表,已引用值不可删除 |
成功时 bizContent 解码后为 {"notSuccess":false,"state":"success"}。
1.8.3. 删除SPU属性
SERVICE_TYPE
DELETE_SPU_ATTRIBUTE
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 被引用则失败 |
成功响应与修改接口相同;属性被引用时返回业务错误且不会删除。
1.8.4. 查询SPU属性详情
SERVICE_TYPE
GET_SPU_ATTRIBUTE
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 属性 id |
返回参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| id | Y | Number | 88 | 主键 |
| name | Y | String | 颜色 | 名称 |
| values | Y | List | ["红"] | 属性值 |
| attributeValues | Y | List | 含 related 引用标记 |
attributeValues 每项包含 name、value 和 related;related=true 表示该属性值已被 SPU 引用。
1.8.5. SPU属性分页查询
SERVICE_TYPE
QUERY_SPU_ATTRIBUTE_LIST
请求参数
| 参数 | 是否必须 | 类型 | 示例 | 备注 |
|---|---|---|---|---|
| page | N | Number | 1 | 默认 1,必须 >= 1 |
| pageSize | N | Number | 20 | 默认 20,范围 1-200 |
| name | N | String | 颜色 | 精确匹配 |
空结果返回 result=[] 且 total=0。列表不逐条返回引用标记,引用信息见详情。
列表成功响应的 bizContent 包含 result 和 total,result 每项包含 id、name、values;失败格式与普通属性接口一致。