全量保存SKU接口
全量保存SKU。注意:SKU是由销售属性值来确定是否与库中数据匹配,不是根据skuId。若要新增SKU,需要传入新的SKU销售属性值组合,同理,修改时,也需要传入对应的SKU的销售属性值组合。另外,同商品下有效的sku的销售属性值维度必须统一。 注意!!!!销售属性组合变动 会引起sku删除、新增 新模式具体调用样例请参考如下地址 https://joyspace.jd.com/pages/BIqTNsLGXWsg70lhdgBC
一、请求参数
请求URL:
公共参数
| 参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
|---|---|---|---|---|
| appid | String | 是 | 合作伙伴AppId | |
| timestamp | String | 是 | 1657525936 | 当前Unix时间戳,秒 |
| seller_nick | String | 是 | 38173182 | 京东的账号,对应蜂巢授权返回jdseller字段 |
| sign | String | 是 |
业务参数
| 名称 | 类型 | 必须 | 示例值 | 描述 |
|---|---|---|---|---|
| wareId | Number | 是 | 480068 | 商品ID(必填),来自已有商品 |
| skus | java.util.List<com.jd.pop.ware.ic.api.domain.Sku> | 是 | 无 | 需要保存的sku列表(注意不在列表中的sku会做删除操作)最大100个 |
| — skuId | Number | 否 | 480068 | skuID,人工生成 |
| — saleAttrs | java.util.Set<com.jd.pop.ware.ic.api.domain.Prop> | 是 | 无 | SKU销售属性,最大10个 |
| —— attrValueAlias | String[] | 否 | 结构化是json结构,非结构化是直接传文本 | 销售属性别名信息,分为结构化和非结构化,最大1个 |
| —— attrId | String | 是 | 类目读取到的销售属性id | 销售属性ID 使用接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 传末级类目id + type=4获取 |
| —— attrValues | String[] | 是 | 销售属性值 | 修改已有sku时需传值,添加新sku时无需传。最大1个 |
| —— attrValuesSeqNo | Number[] | 否 | [1] | 销售属性值排序,需要和attrValueAlias相同数量,人工排序,最大1个 |
| — features | java.util.Set<com.jd.pop.ware.ic.api.domain.Feature> | 否 | 无 | sku特殊属性(不能用于修改京配标isJDexpress修改isJDexpress请使用打标接口)最大1个 |
| —— cn | String | 否 | 无需填写 | cn(可不填写) |
| —— values | String | 否 | 2 | 特殊属性值 |
| —— key | String | 否 | 7无 | 特殊属性标识 |
| — jdPrice | Number | 是 | 200 | 京东价必填 单位:元,最大值为9个9 |
| — outerId | String | 否 | 商家外部id | 外部ID,系统不保证唯一性,如需唯一性自行保证 |
| — stockNum | String | 是 | 200 | 总库存数 |
| — barCode | String | 否 | 13位UPC等 | SKU的条形码,固定值 |
| — props | java.util.Set<com.jd.pop.ware.ic.api.domain.Prop> | 否 | 无 | (已废弃 使用multiCateProps),最大不超过5个 |
| —— attrValueAlias | String[] | 否 | 已废弃 使用multiCateProps | 值别名(已废弃 使用multiCateProps),最大1个 |
| —— attrId | String | 否 | 已废弃 使用multiCateProps | 属性ID,来自类目(已废弃 使用multiCateProps) |
| —— attrValues | String[] | 否 | 已废弃 使用multiCateProps | 属性值,来自类目(已废弃 使用multiCateProps),最大1个 |
| — multiCateProps | java.util.Set<com.jd.pop.ware.ic.api.domain.Prop> | 否 | 无 | 多级SKU属性,仅当属性可以下沉时才能设置,不验证必填!sku维度设置后,以sku上的属性为准!最大10个 |
| —— attrValueAlias | String[] | 否 | 无用字段 | 值别名(此方法不使用这个字段),个数需要与units相同,最多1个 |
| —— attrId | String | 否 | 10001 | 属性ID 下沉到sku的属性ID 通过接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 获取 features字段中attrLevel=1 |
| —— attrValues | String[] | 否 | [a,b,c] | 属性值 下沉到sku属性值 单选或者多选 通过接口jingdong.category.read.findValuesByAttrIdUnlimit获取 输入类型请手动输入,个数需要与attrValueAlias相同,最多100个 |
| —— expands | String[] | 否 | [a,b,c] | 扩展字段,个数需要与attrValueAlias相同,最多100个 |
| —— units | String[] | 否 | [g,kg,mg] | 单位字段,个数需要与attrValueAlias相同,人工传值,最多100个 |
| — capacity | String | 否 | 20L 20T | 容量,在有特殊要求的类目下必填!最多支持6位小数。 |
| — promiseId | Number | 否 | 123456 | 时效模板id,来源于时效系统 |
| — saleAttrTemplateId | String | 否 | POP_MODEL | 销售属性模板id,新模式要求必填,传固定值 |
| — enable | Number | 否 | 0 | 启用停用 0:无效删除(只读不能设置) 1:启用 2:停用 |
| — currencySpuId | Number | 否 | 1 | 标品ID,来自标品接口获取 |
| — mappingId | String | 否 | 传递进来的参数会被透传返回 | 映射Id,传递进来的参数会被透传返回 |
| — weight | String | 否 | 100 | sku维度的重量,单位KG。最小值0.001,最大值10000。根据配置的商家支持,目前仅支持亚马逊 |
二、请求示例代码
Java
请求示例代码
@Test public void JDSkuWriteSaveWareSkus() throws Exception { String skus= "[{\"venderId\":0,\"props\":[],\"jdPrice\":96,\"stockNum\":101,\"saleAttrTemplateId\":\"POP_MODEL\",\"@type\":\"com.jd.pop.ware.ic.api.domain.Sku\"}]"; String sellerNick = Config.JDSellerNick ; //业务参数 Map<String, String> data = new HashMap<String, String>(); data.put("appid", Config.AppId); data.put("seller_nick", sellerNick); Long timestamp = System.currentTimeMillis() / 1000; data.put("timestamp", timestamp.toString()); data.put("wareId", "10024650147363"); data.put("content", skus); data.put("sign", Utils.Sign(data, Config.AppSecret)); doHttpRequest(Config.JDSkuWriteSaveWareSkus, data); }三、返回结果
{ "code": 0, "message": "ok", "data": { "---": { "skuId": "480068", "saleAttrs": [{ "---": { "attrValueAlias": "结构化是json结构,非结构化是文本", "attrId": "123456", "expands": "无需关注", "units": "无需关注", "attrValues": "[1001]", "attrValuesSeqNo": "[1]" } }] } }}}说明: code为0表示成功,非0为失败,message会包含失败原因。