当前位置: API文档

purchase_order_query.php(查询采购单)

¥标准

1.接口说明

1.1 接口描述:获取ERP的采购单及其明细信息
1.2 适用版本:客户端 V2.4.2.3及以上版本
1.3 增量获取:按照采购单的最后修改时间增量获取数据,请求时输入start_time和end_time作为时间跨度的筛选条件。
1.4 时间跨度:start_time和end_time最大跨度为30天,开始时间和结束时间取值范围为闭区间取值,例如2018-11-01 00:00:00至2018-11-30 23:59:59,建议根据获取数据量的多少适当减小时间跨度。

2.调用场景

2.1 财务系统、SAP、数据分析等系统的对接

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境http://sandbox.wangdian.cn/openapi2/purchase_order_query.php
正式环境http://api.wangdian.cn/openapi2/purchase_order_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 业务请求参数

名称字段类型必须描述
采购单号purchase_novarchar(40)ERP系统采购单编号
API单号outer_novarchar(40)外部创建采购单推送的单号
采购单状态statustinyint10 已取消,20 编辑中,30 待审核,35 待财审,40 已审核,43 待推送,45 推送失败,48 待收货,50 部分到货,60已到货,70 待结算,80 部分结算,90 已完成(不传默认查询全部状态采购单)
开始时间start_time
按最后修改时间增量获取数据,start_time作为开始时间,格式:YYYY-MM-DD HH:MM:SS
结束时间end_time
按最后修改时间增量获取数据,end_time作为结束时间,格式:YYYY-MM-DD HH:MM:SS
仓库编号warehouse_novarchar(40)代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置)
分页大小page_sizeint每页返回的数据条数,输入值范围1~100,不传本参数,输入值默认为40,使用举例单击这里
页号page_noint默认从0页开始

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述
错误码codeint
错误码,0成功
错误描述messagevarchar
错误描述
数据总条数total_countint
符合条件的数据总条数,当page_no=0时返回,用来分页
采购单列表节点purchase_listdata[]
响应参数的1级数据节点,包含当前页的采购单及其明细的数据节点,节点下数据字段详见下述" purchase_list"details_list

   4.2 业务响应参数

   purchase_list

名称字段类型长度必须描述
采购单idpurchase_idint11采购单id,采购单表主键
采购单号purchase_novarchar40ERP系统采购单编号
外部单号purchase_outer_novarchar40ERP推送采购单外部返回单号。
ERP客户端需升级至V2.3.8.6及以上版本可获取此字段
API单号outer_novarchar40外部创建采购单推送的单号
仓库warehouse_namevarchar64仓库名称
仓库编号warehouse_novarchar40代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置)
采购单状态statustinyint4采购单状态:10 已取消,20 编辑中,30 待审核,35 待财审,40 已审核,43 待推送,45 推送失败,48 待收货,50 部分到货,60已到货,70 待结算,80 部分结算,90 已完成
供应商编号provider_novarchar20供应商编号
供应商名称provider_namevarchar64供应商名称
联系人contactvarchar40联系人
电话telnovarchar40电话
采购员
purchaser_name
varchar20
采购员
收货地址receive_addressvarchar512收货地址
货运方式logistics_typesmallint6货运方式
审核时间check_timedatedatetime审核时间,格式:YYYY-MM-DD HH:MM:SS
货款goods_amountdecimal(19,4)货款
邮资post_feedecimal(19,4)邮资
其他费用other_feedecimal(19,4)其他费用
税后货品总金额tax_goods_amountdecimal(19,4)税后货品总金额
备注remarkvarchar255采购单备注
最后修改时间modifieddate
单据的最后修改时间,格式:YYYY-MM-DD HH:MM:SS
预计到货时间expect_arrive_timedate
采购预计到货时间,格式:YYYY-MM-DD HH:MM:SS
自定义属性1prop1varchar255自定义属性1
自定义属性2prop2varchar255自定义属性2
创建时间createddate
单据创建时间,格式:YYYY-MM-DD HH:MM:SS
采购单明细节点details_list
data[]
响应参数的2级数据节点,,节点下数据字段详见下述“details_list

   details_list

名称字段类型长度必须描述
主键rec_idint11采购明细表主键id
采购单idpurchase_idint11采购单id
商家编码spec_novarchar40代表单品(sku)所有属性的编码,SKU概念介绍,单击这里
品牌brand_namevarchar64品牌名称,推送此字段前需将版本升级至V2.3.9.1及以上的稳定版本
数量numdecimal(19,4)数量
税前单价pricedecimal(19,4)税前单价
折扣discountdecimal(19,4)折扣
税率taxdecimal(19,4)税率
税后单价tax_pricedecimal(19,4)税后单价
税后金额tax_amountdecimal(19,4)税后金额
税前金额amountdecimal(19,4)税前金额
采购到货入库总金额stockin_amountdecimal(19,4)采购到货入库总金额
采购到货入库数量stockin_numdecimal(19,4)采购到货入库数量
自定义属性1prop1varchar255自定义属性1
自定义属性2prop2varchar255自定义属性2
备注remarkvarchar255明细备注
修改时间modifieddate[]
修改时间,格式:YYYY-MM-DD HH:MM:SS
供应商货品编号provider_goods_novarchar40
供应商货品编号
货品编号goods_novarchar40
货品编号
货品名称goods_namevarchar255
货品名称
货品简称short_namevarchar255货品简称
规格名称spec_namevarchar255规格名称
规格码spec_codevarchar40
规格码
基本单位base_unitvarchar20
基本单位
采购单位purchase_unitvarchar20
采购单位
采购到货未入库数量arrive_numdecimal(19,4)采购到货未入库数量
停止等待数量
stopwait_numdecimal(19,4)停止等待数量
采购价purchase_pricedecimal(19,4)采购价
最后采购价last_pricedecimal(19,4)最后采购价
上一次采购价last_second_pricedecimal(19,4)上一次采购价
最低采购价lowest_pricedecimal(19,4)最低采购价
重量weightdecimal(19,4)重量
多到货量
arrive_more_numdecimal(19,4)多到货量
未到货量lack_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/purchase_order_query.php';
    
    $c->putApiParam('start_time', '2018-06-03 00:00:00');
    $c->putApiParam('end_time', '2018-06-21 20:13:41');
    $c->putApiParam('status', 40);
    $c->putApiParam('page_no', '0');
    $c->putApiParam('page_size', '10');
    $json = $c->wdtOpenApi();
    var_dump($json);
?>
JAVA
package com.wangdian.api.purchase;

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

import com.wangdian.api.WdtClient;

public class PurchaseOrderQuery {

    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-06 00:00:00");
        try {
            String response = client.execute("purchase_order_query.php", params);
            System.out.println(response);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

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

namespace PurchaseOrderQuery
{
    class PurchaseOrderQuery
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/purchase_order_query.php";
            
            client.putParams("start_time", "2018-06-03 00:00:00");
            client.putParams("end_time", "2018-06-21 20:13:41");
            client.putParams("status", "40");
            client.putParams("page_no", "0");
            client.putParams("page_size", "10");

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

6.响应示例

   6.1 正常响应示例 

JSON
{
    "code": "0",
    "message": "",
    "total_count": "1",
    "purchase_list": [{
        "purchase_id": "1004",
        "purchase_no": "CG201905180001",
        "warehouse_no": "xyp2test",
        "purchase_outer_no": "",
        "outer_no": "12345677qwertt-0",
        "status": "60",
        "provider_no": "001",
        "provider_name": "旺店通PDA供应商",
        "logistics_type": "0",
        "contact": "",
        "telno": "",
        "receive_address": "",
        "check_time": "2019-05-18 17:23:17",
        "goods_amount": "99.0000",
        "post_fee": "0.0000",
        "other_fee": "0.0000",
        "tax_goods_amount": "99.0000",
        "modified": "2019-05-18 17:24:23",
        "remark": "",
        "expect_arrive_time": "0000-00-00 00:00:00",
        "prop1": "",
        "prop2": "",
        "created": "2019-05-18 17:21:25",
        "details_list": [{
            "rec_id": "2931",
            "purchase_id": "1004",
            "spec_no": "WDTPDA-BLACK006",
            "brand_name": "旺店通",
            "num": "1.0000",
            "price": "99.0000",
            "discount": "1.0000",
            "tax": "0.0000",
            "tax_price": "99.0000",
            "tax_amount": "99.0000",
            "amount": "99.0000",
            "stockin_amount": "0.0000",
            "stockin_num": "0.0000",
            "prop1": "",
            "prop2": "",
            "remark": "",
            "modified": "2019-05-18 17:24:23",
            "provider_goods_no":"",
            "goods_no":"1010472",
            "goods_name":"COACH 小号PVC波士顿桶包",
            "short_name":"",
            "spec_name":"默认规格",
            "spec_code":"",
            "base_unit":null,
            "purchase_unit":null,
            "arrive_num":"0.0000",
            "stopwait_num":"0.0000",
            "purchase_price":"114.6047",
            "last_price":"30.0000",
            "last_second_price":"6.6775",
              "lowest_price":"6.6775",
              "weight":"0.0000",
              "arrive_more_num":"0",
              "lack_num":"0"
        }]
    }]
}

   6.2 异常响应示例

JSON
{
    "code": "7201",
    "message": "无效的外部采购单编号:CG201905180001"
}



常用工具