全量保存SKU接口

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

1.请求参数:

请求URL:

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

公共参数

参数名称 参数类型 是否必须 示例值 参数描述
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。根据配置的商家支持,目前仅支持亚马逊

2. 请求示例代码(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);
    }

3. 返回结果如下:

{
    "code": 0,
    "message": "ok",
    "data": {
        "---": {
            "skuId": "480068",
            "saleAttrs": [{
                "---": {
                    "attrValueAlias": "结构化是json结构,非结构化是文本",
                    "attrId": "123456",
                    "expands": "无需关注",
                    "units": "无需关注",
                    "attrValues": "[1001]",
                    "attrValuesSeqNo": "[1]"
                }
            }]
        }
    }
}
}

说明: code为0表示成功,非0为失败,message会包含失败原因。

文档更新时间: 2024-06-28 16:37   作者:JSL