当前位置: API文档

stock_query.php(增量查询库存)

¥标准

1.接口说明

1.1 接口描述:增量获取旺店通ERP实际库存、库存占用等数据。
1.2 适用版本:客户端 V2.4.6.6及以上版本
1.3 增量获取:按照最库存管理数据最后修改时间增量获取数据,请求时输入start_time和end_time作为时间跨度的筛选条件。
1.4 全量获取:果需要查询全量库存数据,可以先用商家编码调遍历,之后根据开始时间/结束时间进行查询(按照商家编码调用全量数据建议每天不超过三次)
1.5 时间跨度:start_time和end_time最大跨度为30天,开始时间和结束时间取值范围为闭区间取值,例如2018-11-01 00:00:00至2018-11-30 23:59:59,建议根据获取数据量的多少适当减小时间跨度。
1.6 注意事项:接口返回的“库存量”字段值是仓库中的实物库存量,“可发库存量”是可销售库存量或未被占用库存量,各库存量的含义介绍单击这里

2.调用场景

2.1 线下ERP、自研商城等系统对接

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境https://sandbox.wangdian.cn/openapi2/stock_query.php
正式环境https://api.wangdian.cn/openapi2/stock_query.php

   3.2 公共请求参数

名称字段类型长度
必须描述
卖家账号sidString
购买ERP时由旺店通分配给ERP购买方,请从ERP购买方获取。
接口账号appkeyString
本开放平台“自助对接”功能模块内自助申请,获取方式点击这里
时间戳timestampint
北京时间1970-01-01 08:00:00起至现在的总秒数,10位int值,旺店通企业版API服务端允许请求最大时间误差为5min,date.timezone = Asia/Shanghai。
签名signString
API输入参数签名结果,签名算法介绍单击这里

   3.3 业务请求参数

名称字段类型长度
必须描述
仓库编号warehouse_novarchar
代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置),传此参数不传开始和结束时间,默认时间区间从请求时间前推一小时返回数据;
传此参数并且传开始和结束时间,按照传参的时间区间返回数据;(不支持一次推送多个仓库编号)
不传此参数则返回ERP所有仓库中符合传参条件的数据
商家编码spec_novarchar
代表单品(sku)所有属性的编码,SKU概念介绍,单击这里。传此参数,按照商家编码指定返回响应参数;若传该字段则不校验时间
已删除货品库存信息is_deletedtinyint

当is_deleted请求值为1时只返回在库存管理界面未删除的库存数据信息,不传或传其他值都返回未删除和已删除的库存数据信息
已删除货品档案信息
spec_is_deletedtinyint

不传值/传值0返回未删除货品档案信息的库存数据;传其他值返回删除和未删除的货品档案数据库存;
条码barcodevarchar
传此参数,按照条码指定返回响应参数,若传该字段则不校验时间
开始时间start_timedatetime
按最后修改时间增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss
结束时间end_timedatetime
按最后修改时间增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss
分页大小page_sizeint
每页返回的数据条数,输入值范围1~100,不传本参数,输入值默认为40,使用举例单击这里
页号page_noint
不传值默认从0页开始

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述
错误码codeint40状态码:0表示成功,其他表示失败
错误描述messagevarchar255错误描述
数据条数total_countint10只有,page_no = 0 时才返回的符合条件的数据总条数,用来分页
库存信息列表stocks[ ]data[ ]
响应参数的级数据节点,包含当前页的库存管理信息的数据节点,节点下数据字段详见下述stocks”列表

   4.2 业务响应参数

   stocks

名称字段类型长度必须描述
单品主键idspec_idint11单品主键id
货品编号goods_novarchar40代表SPU所有属性的唯一编号,用于系统货品的区分,SPU概念介绍,单击这里
品牌编号brand_novarchar32品牌编号
品牌名称brand_namevarchar64品牌名称,ERP版本V2.3.8.4及以上才可返回
货品名称goods_namevarchar255货品名称
商家编码spec_novarchar40代表单品(SKU)所有属性的唯一编号,用于系统单品的区分,SKU概念介绍,单击这里
规格名称spec_namevarchar100规格名称
规格码spec_codevarchar40规格码
条形码barcodevarchar50条形码
仓库主键idwarehouse_idint11仓库主键id
仓库编号warehouse_novarchar40代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置)
仓库名称warehouse_namevarchar64仓库名称
仓库类型warehouse_typetinyint4(0不限 1普通仓库 2自动流传外部 3京东仓储 4科捷 5百世物流 6SKU360 7通天晓 8中联网仓 9顺丰仓储 10网仓2号 11奇门仓储 12旺店通仓储 13心怡仓储 14力威仓储 15京东沧海 16云集仓储 17POS 18虎符 20外部链路型 22抖店云仓 126分销委外仓 127其它)
库存量stock_numdecimal(19,4)库存量
锁定量lock_numdecimal(19,4)锁定量
主键rec_idbigint20主键
创建时间createddatetime
创建时间
单品仓库编码spec_wh_no2 varchar40单品在仓库中编码,一般为空
委外出库库存占用量wms_reserve_numdecimal(19,4)委外出库库存占用量
状态Statustinyint40 未启用 1 启用 2停用
今日销量stock_today_numdecimal(19,4)今日销量
成本误差stock_diffdecimal(19,4)成本误差,如果非0,出库时要用掉
辅助单位Unitint11辅助单位
最大警戒库存safe_stock1decimal(19,4)依据最大警戒天数计算出的最大警戒库存
最小警戒库存safe_stock2decimal(19,4)最小警戒库存
最大警戒库存safe_stock3decimal(19,4)最大警戒库存
警戒库存类型alarm_type tinyint4警戒库存类型
警戒库存计算天数alarm_daysint11警戒库存计算天数
最大警戒天数alarm_days1int11最大警戒天数
销售增长率类型sales_rate_typetinyint4销售增长率类型
销售增长率sales_ratedecimal(19,4)销售增长率
销售周期sales_rate_cycle  decimal(19,4)销售周期
固定月销售增长率sales_fixratedecimal(19,4)固定月销售增长率
颜色标记flag_idint11颜色标记
默认入库货位default_position_idint11默认入库货位
最后一次入库货位last_position_idint11最后一次入库货位
上次盘点时间last_pd_time datetime
上次盘点时间
上次出入库时间last_inout_timedatetime
上次出入库时间
最后销售时间last_sales_timedatetime
最后销售时间
备注Remark varchar500备注
未付款量unpay_numdecimal(19,4)未付款量
预订单量subscribe_numdecimal(19,4)预订单量
待审核量order_numdecimal(19,4)待审核量
待发货量sending_numdecimal(19,4)待发货量
采在途量purchase_numdecimal(19,4)采在途量
调拨在途量transfer_numdecimal(19,4)调拨在途量
待调拨量to_transfer_numdecimal(19,4)待调拨量
待采购量to_purchase_numdecimal(19,4)待采购量
采购到货量purchase_arrive_numdecimal(19,4)采购到货量
采购退货量return_numdecimal(19,4)采购退货量
委外出库占用量
return_exch_numdecimal(19,4)委外出库占用量
委外在途量return_onway_numdecimal(19,4)委外在途量
销售退货量refund_numdecimal(19,4)销售退货量
生产在途量process_onway_numdecimal(19,4)生产在途量
销售退货在途量refund_onway_numdecimal(19,4)销售退货在途量
部分付款库存part_paid_numdecimal(19,4)部分付款库存
负库存出库量neg_stockout_numdecimal(19,4)负库存出库量
今日销量today_numdecimal(19,4)今日销量
警戒库存safe_stockdecimal(19,4)警戒库存
外部WMS中的编码spec_wh_novarchar40单品在外部WMS中的编码,如在物流宝仓库中主键
外部WMS同步时库存wms_sync_stockdecimal(19,4)外部WMS同步时库存
外部WMS同步时占用库存wms_preempty_stockdecimal(19,4)外部WMS同步时占用库存
外部WMS同步时,与系统库存的差wms_stock_diffdecimal(19,4)外部WMS同步时,与系统库存的差
与外部WMS同步时间wms_sync_timedatetimedatetime与外部WMS同步时间wms_sync_stock-stock_num  格式:yyyy-MM-dd HH:mm:ss
成本价cost_pricedecimal(13,4)成本价
重量weightdecimal(19,4)重量
商品图片urlimg_urlvarchar1024商品图片url
最后修改时间modifieddatetimedatetime最后修改时间,格式:yyyy-MM-dd HH:mm:ss
可发库存
avaliable_numdecimal(19,4)
可发库存

5.请求示例

PHP
<?php
    require_once ('../WdtClient.php');
    $c = new WdtClient();
    $c->sid = '';
    $c->appkey = '';
    $c->appsecret = '';
    $c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/stock_query.php';
    
    $c->putApiParam('start_time', '2018-06-03 00:00:00');
    $c->putApiParam('end_time', '2018-06-21 20:13:41');
    $json = $c->wdtOpenApi();
    var_dump($json);
?>
JAVA
package com.wangdian.api.stock;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.wangdian.api.WdtClient;

public class StockQuery {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        WdtClient client = new WdtClient("传入sid", "传入appkey", "传入appsecret", "传入url");
        //测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/
        //调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/
        
        Map<String, String> params = new HashMap<String, String>();
        params.put("start_time", "2018-12-01 00:00:00");
        params.put("end_time", "2018-12-10 00:00:00");
        try {
            String response = client.execute("stock_query.php", params);
            System.out.println(response);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WdtSdk;

namespace StockQuery
{
    class StockQuery
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/stock_query.php";

            client.putParams("start_time", "2019-01-16 00:00:00");
            client.putParams("end_time", "2019-01-17 12:00:00");

            string result = client.wdtOpenapi();
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}
python
import WdtClient

t = WdtClient.WdtClient('appkey', 'appsecret', 'sid', 'http://sandbox.wangdian.cn/openapi2/')
params = {}
params.update({"spec_no": ''})
params.update({"start_time": '2021-01-01 00:00:00'})
params.update({"end_time": '2021-01-01 00:59:59'})
params.update({"page_size": '40'})
params.update({"page_no": '0'})

response = t.execute("stock_query.php", params)
print(response)

6.响应示例

   6.1 正常响应示例 

JSON
{
    "code": 0,
    "stocks": [{
        "spec_id": "21453",
        "warehouse_id": "67",
        "stock_num": "55.0000",
        "lock_num": "0.0000",
        "unpay_num": "0.0000",
        "subscribe_num": "0.0000",
        "order_num": "0.0000",
        "sending_num": "0.0000",
        "purchase_num": "0.0000",
        "transfer_num": "0.0000",
        "to_transfer_num": "0.0000",
        "to_purchase_num": "0.0000",
        "purchase_arrive_num": "0.0000",
        "return_num": "0.0000",
        "return_exch_num": "0.0000",
        "return_onway_num": "0.0000",
        "refund_num": "0.0000",
        "process_onway_num": "0.0000",
        "refund_onway_num": "0.0000",
        "part_paid_num": "0.0000",
        "neg_stockout_num": "0.0000",
        "today_num": "0.0000",
        "safe_stock": "0.0000",
        "spec_wh_no": "",
        "wms_sync_stock": "0.0000",
        "wms_preempty_stock": "0.0000",
        "modified": "2019-05-18 18:02:43",
        "wms_stock_diff": "0.0000",
        "wms_sync_time": "0000-00-00 00:00:00",
        "cost_price": "0.0000",
        "goods_no": "WDTPDA",
        "goods_name": "旺店通手持终端",
        "brand_no": "BD201811230002",
        "brand_name": "旺店通",
        "spec_no": "WDTPDA-BLACK007",
        "spec_name": "旺店通手持终端黑色007型",
        "spec_code": "BLACK007",
        "barcode": "WDTPDA-BLACK007",
        "weight": "0.0000",
        "img_url": "http://baidu.com",
        "warehouse_no": "xyp2test",
        "warehouse_name": "小鹏测试仓库",
        "warehouse_type": "1"
    }, {
        "spec_id": "1",
        "warehouse_id": "67",
        "stock_num": "99.0000",
        "lock_num": "0.0000",
        "unpay_num": "0.0000",
        "subscribe_num": "0.0000",
        "order_num": "0.0000",
        "sending_num": "0.0000",
        "purchase_num": "0.0000",
        "transfer_num": "0.0000",
        "to_transfer_num": "0.0000",
        "to_purchase_num": "0.0000",
        "purchase_arrive_num": "0.0000",
        "return_num": "1.0000",
        "return_exch_num": "0.0000",
        "return_onway_num": "0.0000",
        "refund_num": "0.0000",
        "process_onway_num": "0.0000",
        "refund_onway_num": "0.0000",
        "part_paid_num": "0.0000",
        "neg_stockout_num": "0.0000",
        "today_num": "2.0000",
        "safe_stock": "0.0000",
        "spec_wh_no": "",
        "wms_sync_stock": "0.0000",
        "wms_preempty_stock": "0.0000",
        "modified": "2019-05-18 17:52:41",
        "wms_stock_diff": "0.0000",
        "wms_sync_time": "0000-00-00 00:00:00",
        "cost_price": "0.9900",
        "goods_no": "WDTPDA",
        "goods_name": "旺店通手持终端",
        "brand_no": "BD201811230002",
        "brand_name": "旺店通",
        "spec_no": "WDTPDA-BLACK006",
        "spec_name": "旺店通手持终端黑色006型",
        "spec_code": "BLACK006",
        "barcode": "WDTPDA-BLACK006",
        "weight": "0.0000",
        "img_url": "http://www.h27.com/static/uploadfile/file/2019-01-25/5c4ad08885932.jpg",
        "warehouse_no": "xyp2test",
        "warehouse_name": "小鹏测试仓库",
        "warehouse_type": "1"
    }],
    "total_count": "2"
}

   6.2 异常响应示例

JSON
{
    "code": 2104,
    "message": "start_time与end_time时间跨度不能超过最大范围 30天"
}



常用工具