全量/增量更新商品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对该门店下的子品进行操作,即时零售单店版,无需使用 |
二、请求示例代码
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); }三、返回结果
{"code":0,"message":"ok","data":null}说明: code为0表示成功,非0为失败,message会包含失败原因。返回字段说明见文档 https://op.jinritemai.com/docs/api-docs/34/155