当前位置: API文档

vip_wms_stockinout_order_push.php(创建委外出入库单)

¥增值

1.接口说明

1.1 接口描述:创建委外出入库单据
1.2 适用版本:客户端 V2.4.5.0及以上版本

2.调用场景

2.1 线下ERP、SCM、SRM等系统对接

3.请求参数说明

   3.1 请求地址

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

名称字段类型长度必须描述
委外出入库单列表节点stockin_infodata
其他入库单列表节点

stockin_info

名称字段类型长度必须描述
接口外部单号api_outer_novarchar40

调用本接口时推送的唯一单据编号,避免重复推送数据
仓库编号warehouse_novarchar40

代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置);本接口仓库编号对应的仓库类型必须为委外仓类型。【例如: 3京东仓储 4科捷 5百世物流 6 SKU360 7通天晓 8中联网仓 9顺丰仓储 10网仓2号 11奇门仓储 12旺店通仓储 13心怡仓储 14力威仓储 15京东沧海 16云集仓储 )】

出入类型
order_typetinyint1

可选值:1(出库);2(入库)
物流编号logistics_codevarchar20
代表物流所有属性的唯一编码,用于物流区分,ERP内支持自定义(ERP物流界面设置)
邮资logistics_feedecimal(19,4)物流或者快递运输货物产生的费用,默认为0
其他费用other_feedecimal(19,4)其他费用,默认为0
provincevarchar50省份名称,直辖市注意输入值为“北京”不是“北京市”,“北京市”在city参数内输入
cityvarchar50市名称
县(区)districtvarchar50区县名称
详细地址addressvarchar40地址详情描述 ,例如 xx街道XX小区xx号楼xx单元401
联系人contactvarchar40
联系人姓名
手机号mobilevarchar40
手机号码
固话telnovarchar40
固定电话号码
自定义属性1prop1varchar255委外出库单据的自定义属性1
自定义属性2prop2varchar255委外出库单据的自定义属性2
自定义属性3prop3varchar255委外出库单据的自定义属性3
自定义属性4prop4varchar255委外出库单据的自定义属性4
备注remarkvarchar255委外其他出入库单据备注
自动审核auto_checktinyint
4

1.自动审核 0.不自动审核 默认1
运输模式transport_modetinyint40 到仓自提,1快递,2干线物流
物流单号logistics_novarchar40物流单号
货品明细节点goods_listdata[ ]
入库单货品列表节点

goods_list

名称字段类型长度必须描述
商家编码spec_novarchar40ERP内单品唯一编码(SKU),代表单品(SKU)所有属性,并且为库存量出入计算最小单元。SKU概念介绍,单击这里
注意:推送的spec_no值在ERP货品档案必须存在,否则单据会创建失败。
入库数量numdecimal(19,4)入库数量
货位编号position_novarchar20商品在仓库内的位置编号,不传此参数,读ERP配置【入库开单货位优先级配置】,来决定取默认货位、上一次入库货位、ZANCUN货位其中一个货位。
价格pricedecimal(19,4)
委外出入库货品价格
批次batch_novarchar20货品批次编号(需要传客户端中存在的批次编号,仅支持入库类型单据)
备注
remark
varchar255

货品明细备注

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述
错误码codeint11
状态码:0表示成功,其他表示失败
错误原因messagevarchar255错误原因
委外出入库单号stockout_novarchar40ERP系统生成出入库单据分配的单号,委外出入库单之间的唯一标识编号

5.请求示例

PHP
<?php
require_once("../WdtClient.php");
$c = new WdtClient;
$c->sid = '';
$c->appkey = '';
$c->appsecret = '';
$c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/vip_wms_stockinout_order_push.php';

$stockin_info = array(
    "outer_no" => "1608040006",
    "api_outer_no" => '113',
    "warehouse_no" => "qimen001",
    "order_type" => "2",
    "logistics_fee" => "0",
    "other_fee" => "0",
    "logistics_code" => "0",
    "logistics_no" => "0",
    "is_check" => "0",
    "province" => "北京",
    "city" => "北京市",
    "district" => "海淀区",
    "address" => "1111",
    "contact" => "1111345346",
    'mobile'=>"32423432",
    'telno'=>"",
    'prop1'=>"32423432",
    'prop2'=>"32423432",
    'prop3'=>"32423432",
    'prop4'=>"32423432",
    'auto_check' => '0',
    'remark'=>"32423432",
    "goods_list"=>array(
        array(
            "spec_no" => "G-CY006",
            "num" => '1',
            "position_no" => "G-YFHW01",
            "remark" => "测试货品",
            "price" => "1111",
        )
    )
);

//添加查询参数
$c->putApiParam('stockin_info',json_encode($stockin_info,JSON_UNESCAPED_UNICODE));
$json = $c->wdtOpenApi();
var_dump($json);
?>
JAVA
package com.wangdian.api.vip;

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

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

public class VipWmsStockinoutOrderPush {

    public static void main(String[] args) {
        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, Object> stockin_info = new HashMap<String, Object>();
        List<Map<String, Object>> goods_list = new ArrayList<Map<String, Object>>();
        Map<String, Object> goods_1 = new HashMap<String, Object>();

        goods_1.put("spec_no", "111");
        goods_1.put("num", 1);
        goods_1.put("price", "100");
        goods_1.put("stockin_num", "10");
        goods_1.put("position_no", "");
        goods_1.put("contact", "1111");
        goods_1.put("production_date", "2019-01-01 00:00:00");
        goods_1.put("validity_days", "365");
        goods_1.put("price", "10");
        goods_1.put("src_price", "10");
        goods_1.put("stockin_price", "10");
        goods_1.put("tax", "0.16");
        goods_list.add(goods_1);

        stockin_info.put("outer_no", "12312313");
        stockin_info.put("api_outer_no", "123123r41241241");
        stockin_info.put("warehouse_no", "EOP005");
        stockin_info.put("order_type", "2");
        stockin_info.put("logistics_fee", "0");
        stockin_info.put("other_fee", "0");
        stockin_info.put("logistics_code", "");
        stockin_info.put("logistics_no", "");
        stockin_info.put("is_check", "0");
        stockin_info.put("province", "北京");
        stockin_info.put("city", "北京市");
        stockin_info.put("district", "海淀区");
        stockin_info.put("address", "3543543");
        stockin_info.put("contact", "5345");
        stockin_info.put("mobile", "534");
        stockin_info.put("telno", "55543534");
        stockin_info.put("prop1", "ghs2test");
        stockin_info.put("prop2", "ghs2test");
        stockin_info.put("prop3", "ghs2test");
        stockin_info.put("prop4", "ghs2test");
        stockin_info.put("auto_check", "0");
        stockin_info.put("remark", "ghs2test");
        stockin_info.put("goods_list",goods_list);

        String stockin_info_json = JSON.toJSONString(stockin_info);

        Map<String, String> params = new HashMap<String, String>();
        params.put("stockin_info", stockin_info_json);
        try {
            String response = client.execute("vip_wms_stockinout_order_push.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 VipWmsStockinoutOrderPush
{
    class VipWmsStockinoutOrderPush
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/vip_wms_stockinout_order_push.php";
            var stockin_info = new
            {
                outer_no = "34567898765432",
                api_outer_no = "12234",
                warehouse_no = "qimen001",
                order_type = "2",
                logistics_fee = "0",
                other_fee = "0",
                logistics_code = "0",
                logistics_no = "0",
                is_check = "0",
                province = "北京",
                city = "北京市",
                district = "海淀区",
                address = "1111",
                contact = "1111345346",
                mobile = "32423432",
                telno="",
                prop1="32423432",
                prop2="32423432",
                prop3="32423432",
                prop4="32423432",
                auto_check = '0',
                remark="32423432",
                goods_list = new[]
                {
                    new{
                        spec_no = "G-CY006",
                        num = "1",
                        stockin_num = "1",
                        position_no = "G-YFHW01",
                        batch_no = "0",
                        contact = "1111",
                        production_date = "2019-01-01 00:00:00",
                        validity_days = "365",
                        price = "1111",
                        src_price = "1111",
                        stockin_price = "1111",
                        tax = "0.16"
                    },
                    new{
                        spec_no = "SMBZ001-2",
                        num = "1",
                        stockin_num = "1",
                        position_no = "0",
                        contact = "1111",
                        production_date = "2019-01-01 00:00:00",
                        validity_days = "365",
                        price = "1111",
                        src_price = "1111",
                        stockin_price = "1111",
                        tax = "0.16"
                    }
                }
            };

            string json = stockin_info.ToJsonString();
            client.putParams("stockin_info", json);
            string result = client.wdtOpenapi();
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}
python
import WdtClient
import json

t = WdtClient.WdtClient('appkey', 'appsecret', 'sid', 'http://sandbox.wangdian.cn/openapi2/')
stockin_info = {}
goods_list = []
goods_1 = {}
goods_1.update({"spec_no": 'spec_001'})
goods_1.update({"position_no": ''})
goods_1.update({"price": '1'})
goods_1.update({"num": '5'})
goods_1.update({"remark": '备注'})
goods_list.append(goods_1)

stockin_info.update({"api_outer_no": '12345678'})
stockin_info.update({"warehouse_no": '001'})
stockin_info.update({"order_type": '1'})
stockin_info.update({"logistics_fee": ''})
stockin_info.update({"other_fee": ''})
stockin_info.update({"province": ''})
stockin_info.update({"city": ''})
stockin_info.update({"district": ''})
stockin_info.update({"address": ''})
stockin_info.update({"remark": ''})
stockin_info.update({"auto_check": '1'})
stockin_info.update({"goods_list": goods_list})
# del(stockin_info[0])
jsonArr = json.dumps(stockin_info, ensure_ascii=False)
params = {}
params.update({"stockin_info": jsonArr})
response = t.execute("vip_wms_stockinout_order_push.php", params)
print(response)

6.响应示例

   6.1 正常响应示例 

JSON
{
    "code": "0",
    "message": "ok",
    "data": {
        "stockout_no": "WK201905280002"
    }
}

   6.2 异常响应示例

JSON
{
    "code": 1644,
    "message": "外部单号已存在:113"
}



常用工具