跳转到内容
返回官网

全量保存SKU接口

全量保存SKU。注意:SKU是由销售属性值来确定是否与库中数据匹配,不是根据skuId。若要新增SKU,需要传入新的SKU销售属性值组合,同理,修改时,也需要传入对应的SKU的销售属性值组合。另外,同商品下有效的sku的销售属性值维度必须统一。 注意!!!!销售属性组合变动 会引起sku删除、新增 新模式具体调用样例请参考如下地址 https://joyspace.jd.com/pages/BIqTNsLGXWsg70lhdgBC

一、请求参数

请求URL:

POST https://kf.fw199.com/gateway/jd/sku/write/savewareskus

公共参数

参数名称参数类型是否必须示例值参数描述
appidString合作伙伴AppId
timestampString1657525936当前Unix时间戳,秒
seller_nickString38173182京东的账号,对应蜂巢授权返回jdseller字段
signString

业务参数

名称类型必须示例值描述
wareIdNumber480068商品ID(必填),来自已有商品
skusjava.util.List<com.jd.pop.ware.ic.api.domain.Sku>需要保存的sku列表(注意不在列表中的sku会做删除操作)最大100个
— skuIdNumber480068skuID,人工生成
— saleAttrsjava.util.Set<com.jd.pop.ware.ic.api.domain.Prop>SKU销售属性,最大10个
—— attrValueAliasString[]结构化是json结构,非结构化是直接传文本销售属性别名信息,分为结构化和非结构化,最大1个
—— attrIdString类目读取到的销售属性id销售属性ID 使用接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 传末级类目id + type=4获取
—— attrValuesString[]销售属性值修改已有sku时需传值,添加新sku时无需传。最大1个
—— attrValuesSeqNoNumber[][1]销售属性值排序,需要和attrValueAlias相同数量,人工排序,最大1个
— featuresjava.util.Set<com.jd.pop.ware.ic.api.domain.Feature>sku特殊属性(不能用于修改京配标isJDexpress修改isJDexpress请使用打标接口)最大1个
—— cnString无需填写cn(可不填写)
—— valuesString2特殊属性值
—— keyString7无特殊属性标识
— jdPriceNumber200京东价必填 单位:元,最大值为9个9
— outerIdString商家外部id外部ID,系统不保证唯一性,如需唯一性自行保证
— stockNumString200总库存数
— barCodeString13位UPC等SKU的条形码,固定值
— propsjava.util.Set<com.jd.pop.ware.ic.api.domain.Prop>(已废弃 使用multiCateProps),最大不超过5个
—— attrValueAliasString[]已废弃 使用multiCateProps值别名(已废弃 使用multiCateProps),最大1个
—— attrIdString已废弃 使用multiCateProps属性ID,来自类目(已废弃 使用multiCateProps)
—— attrValuesString[]已废弃 使用multiCateProps属性值,来自类目(已废弃 使用multiCateProps),最大1个
— multiCatePropsjava.util.Set<com.jd.pop.ware.ic.api.domain.Prop>多级SKU属性,仅当属性可以下沉时才能设置,不验证必填!sku维度设置后,以sku上的属性为准!最大10个
—— attrValueAliasString[]无用字段值别名(此方法不使用这个字段),个数需要与units相同,最多1个
—— attrIdString10001属性ID 下沉到sku的属性ID 通过接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 获取 features字段中attrLevel=1
—— attrValuesString[][a,b,c]属性值 下沉到sku属性值 单选或者多选 通过接口jingdong.category.read.findValuesByAttrIdUnlimit获取 输入类型请手动输入,个数需要与attrValueAlias相同,最多100个
—— expandsString[][a,b,c]扩展字段,个数需要与attrValueAlias相同,最多100个
—— unitsString[][g,kg,mg]单位字段,个数需要与attrValueAlias相同,人工传值,最多100个
— capacityString20L 20T容量,在有特殊要求的类目下必填!最多支持6位小数。
— promiseIdNumber123456时效模板id,来源于时效系统
— saleAttrTemplateIdStringPOP_MODEL销售属性模板id,新模式要求必填,传固定值
— enableNumber0启用停用 0:无效删除(只读不能设置) 1:启用 2:停用
— currencySpuIdNumber1标品ID,来自标品接口获取
— mappingIdString传递进来的参数会被透传返回映射Id,传递进来的参数会被透传返回
— weightString100sku维度的重量,单位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会包含失败原因。