当前位置: API文档

purchase_apply_push.php(创建采购申请单)

¥标准

1.接口说明

1.1 接口描述:逐个推送采购申请单据给旺店通ERP

1.2 适用版本:客户端 V2.4.8.4及以上版本

2.调用场景

2.1 SCM、SRM等采购供应管理系统对接

3.请求参数说明

   3.1 请求地址

环境

HTTP地址

测试环境

https://sandbox.wangdian.cn/openapi2/purchase_apply_push.php

正式环境

https://api.wangdian.cn/openapi2/purchase_apply_push.php

   3.2 公共请求参数

名称字段类型长度必须描述

卖家账号

sid

String


购买ERP时由旺店通分配给ERP购买方,请从ERP购买方获取。

接口账号

appkey

String


本开放平台“自助对接”功能模块内自助申请,获取方式点击这里

时间戳

timestamp

int


北京时间1970-01-01 08:00:00起至现在的总秒数,10位int值,旺店通企业版API服务端允许请求最大时间误差为5min,date.timezone = Asia/Shanghai。

签名

sign

String


API输入参数签名结果,签名算法介绍单击这里

   3.3 业务请求参数

名称字段类型长度必须描述

仓库编号

warehouse_no

varchar

40

代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置),用于创建指定仓库数据信息(不支持一次推送多个仓库编码)

申请人(员工编号)

employee_no

 

varchar

40

如果不传,默认申请人是系统接口

预计到货时间

expected_time

datetime


如果不传,默认是当前时间

自动提交

is_submit

tinyint

1

是否自动提交,0 不提交,1 提交,默认自动提交

备注

remark

varchar

255

采购申请单备注

采购明细节点

details_list

data[ ]


请求参数的2级数据节点,包含采购单所有货品明细信息的数据节点,节点下数据字段详见下述“details_list”

   details_list

名称字段类型长度必须描述

商家编码

spec_no

varchar

40

代表单品(sku)所有属性的编码,SKU概念介绍,单击这里

采购申请

num

decimal

(19,4)

采购申请

供应商编号

provider_no

varchar

40

供应商编号

备注

remark

varchar

255

采购申请货品明细备注

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述

错误码

code


11

错误码,0为成功

错误信息

message


255

错误信息,code=0 返回EPR创建成功的采购单号

5.请求示例

PHP
<?php
    require_once("../WdtClient.php");
    $c = new WdtClient;
    $c->sid = '';
    $c->appkey = '';
    $c->appsecret = '';
    $c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/purchase_apply_push.php';
     
    $details_list = array (
    array (
        "spec_no" => "wzycolor",
        "num" => 6,
        "provider_no" => "zzd001",
        "remark" => ""
    ),
    array (
        "spec_no" => "jiaozi",
        "num" => 6,
        "provider_no" => "zzd001",
        "remark" => ""
    ),
    array (
        "spec_no" => "jiaozi",
        "num" => 6,
        "provider_no" => "",
        "remark" => ""
    ),
    array (
        "spec_no" => "wzycolor",
        "num" => 6,
        "provider_no" => "zsy001",
        "remark" => ""
    )
);

    $c->putApiParam('warehouse_no', 'POS-01');
    $c->putApiParam('is_submit', '1');
    $c->putApiParam('employee_no', 'syx');
    $c->putApiParam('expected_time', '2020-06-22 12:54:00');
    $c->putApiParam('remark', 'apitest');
    $c->putApiParam('details_list', json_encode($details_list));
    $json = $c->wdtOpenApi();
 
    var_dump($json);
?>
C#

JAVA
package com.wangdian.api.purchase;

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

        import com.alibaba.fastjson.JSON;
        import com.wangdian.api.WdtClient;

public class PurchaseApplyPush {

    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/
        
        List<Map<String, Object>> details_list = new ArrayList<Map<String, Object>>();

        Map<String, Object> detail_1 = new HashMap<String, Object>();
        detail_1.put("spec_no", "qqq");
        detail_1.put("num", "2");
        detail_1.put("provider_no", 123123);

        details_list.add(detail_1);


        String details_list_json = JSON.toJSONString(details_list);

        Map<String, String> params = new HashMap<String, String>();
        params.put("warehouse_no", "");
        params.put("details_list", details_list_json);
        try {
            String response = client.execute("purchase_apply_push.php", params);
            System.out.println(response);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
python
import WdtClient
import json

t = WdtClient.WdtClient('appkey', 'appsecret', 'sid', 'http://sandbox.wangdian.cn/openapi2/')
details_list = []
details_1 = {}
details_1.update({"spec_no": 'spec_001'})
details_1.update({"num": '10'})
details_1.update({"price": '1'})
details_1.update({"discount": ''})
details_1.update({"detail_remark": '备注'})
details_list.append(details_1)

# del(return_info[0])
jsonArr = json.dumps(details_list, ensure_ascii=False)
params = {}
params.update({"warehouse_no": '123'})
params.update({"employee_no": ''})
params.update({"expected_time": ''})
params.update({"is_submit": '1'})
params.update({"remark": ''})
params.update({"details_list": jsonArr})
response = t.execute("purchase_apply_push.php", params)
print(response)



6.响应示例

   6.1 正常响应示例 

· JSON

1

2

3

4

{

    "code": 0,

    "message""CG202006280005"

}

   6.2 异常响应示例

· JSON

1

2

3

4

{

    "code""2260",

    "message""仓库不存在或已停用"

}

 

常用工具