全量/增量更新商品sku库存

1、支持修改普通库存,区域库存,阶梯库存
2、支持增量更新,当incremental=true时idempotent_id字段参数必传,同时stock_num支持加/减库存。加库存例:原商品库存是10个,接口传入5个,执行成功商品库存是15个。减库存例:原商品库存是10个,接口stock_num传入-5,执行成功商品库存是5个。注意:减库存时【商品现库存-即将减少库存数不能<0】,否则会报错系统错误:更新库存数失败: 31055 40 5out_warehouse_id=’store_id(门店id)表示更新门店商品库存’>

请求URL:

POST https://kf.fw199.com/gateway/dd/sku/sync/stock

公共参数

参数名称 参数类型 是否必须 示例值 参数描述
appid String 合作伙伴AppId
timestamp String 1657525936 当前Unix时间戳,秒
seller_nick String 38173182 抖店的账号,对应蜂巢授权返回doudianseller字段
sign String

业务参数

参数名称 参数类型 是否必须 示例值 参数描述
code String dy001 sku编码
sku_id Number 1737398770243598 规格id;抖店系统生成,商品id下唯一。
out_sku_id Number 44354354 外部skuid,开发者在创建或更新商品时设置。
product_id - 3539925204033339668 商品ID,抖店系统生成,店铺下唯一;长度19位。
out_product_id Number 435243654356 外部商品id;开发者在创建或更新商品时设置的。
out_warehouse_id String dy123 外部仓库id编码,开发者自定义;如传入传值表示更新区域库存,不传默认更新普通库存。可以使用【/warehouse/list】接口响应参数【out_warehouse_id】字段获取。超市小时达店铺类型,需传入store_id字段,store_id可以使用【/shop/batchCreateStore】创建成功后获取
supplier_id String 1 供应商ID
incremental Bool false 库存更新方式;true-增量更新,同时idempotent_id字段必填;false-全量更新;默认为false
idempotent_id String 202206021500001001 幂等ID,当incremental=true时该参数必传
stock_num Number 100 库存值;可以设置为0,不能小于0,当incremental=true时stock_num支持加/减库存。支持传入“-”,例如:-5表示减5个库存;加库存例:原商品库存是10个,接口传入5个,执行成功商品库存是15个。减库存例:原商品库存是10个,接口stock_num传入-5,执行成功商品库存是5个。注意:减库存时商品现库存-即将减少库存数不能<0,否则会报错系统错误:更新库存数失败>
step_stock_num Number 100 阶梯库存
store_id - 12345 即时零售连锁版,通过传入主品id+门店id对该门店下的子品进行操作,即时零售单店版,无需使用

2. 请求示例代码(Java)

请求示例代码

    @Test
    public void  DDSkuSyncstock() throws Exception {
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("appid",  Config.AppId);
        Long timestamp = System.currentTimeMillis() / 1000;
        data.put("timestamp", timestamp.toString());
        data.put("seller_nick", Config.DDSellerNick);
        data.put("code", "sk100");
//        data.put("sku_id", 173787598);
//        data.put("out_sku_id", 44354354);
//        data.put("product_id", 3539925204033339668L);
//        data.put("out_product_id", 435243654356L);
//        data.put("out_warehouse_id", "dy123");
//        data.put("supplier_id", "1");
//        data.put("incremental", false);
//        data.put("idempotent_id", "202206021500001001");
        data.put("stock_num", 500);
        data.put("step_stock_num", 100);
//        data.put("store_id", 12345);
        data.put("sign", Sign(data,Config.AppSecret));
        // 调用服务API
        String resp = doHttpRequest(Config.DDSkuSyncStock, data);
        System.out.println(resp);
    }

3. 返回结果如下:


{"code":0,"message":"ok","data":null}

说明: code为0表示成功,非0为失败,message会包含失败原因。返回字段说明见文档
https://op.jinritemai.com/docs/api-docs/34/155

文档更新时间: 2024-05-21 17:57   作者:JSL