全量/增量更新商品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:
公共参数
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
---|---|---|---|---|
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-12-11 19:34 作者:JSL