当前位置: API文档

stock_query_detail.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_detail.php
正式环境https://api.wangdian.cn/openapi2/stock_query_detail.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时只返回未删除数据,不传或传其他值都返回未删除和已删除的数据
条码barcodevarchar
传此参数,按照条码指定返回响应参数,若传该字段则不校验时间
开始时间start_timedatetime
按最后修改时间增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss
结束时间end_timedatetime
按最后修改时间增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss
是否获取全量库存is_allint
1.是 0.否  默认是0.当不获取全部库存时,时间跨度不得超过30天。全量获取有请求时间点限制
分页大小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为普通,非0为外部WMS
库存量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)可发库存
库存详情detailsdata[]data库存详情信息

details[]

名称字段类型长度必须描述
库存主单idstock_spec_idint40库存主单id
商家编码spec_novarchar40商家编码
货位编码position_novarchar40货位编码
批次编码batch_novarchar40批次编码
有效期expire_datedatetime
有效期
库存数量stock_numint11批次+货位+有效期 维度 库存数据量



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_detail.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("", "", "", "");
        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_detail.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_detail.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();
        }
    }
}

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",
        "details":[{
                 "stock_spec_id":1,
                 "spec_no":"",
                 "position_no":"",
                 "batch_no":"",
                 "stock_num":""
        }]
    }],
    "total_count": "1"
}

   6.2 异常响应示例

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



常用工具