当前位置: API文档

purchase.PurchaseOrder.createOrder(采购单新建)

¥标准

1.接口说明

1.1 接口描:推送采购单据给ERP
1.2 适用版本:客户端 V1.4.5.8及以上版本

1.5注意事项:【权限校验】:供应商权限、仓库权限

    金额计算逻辑: 基于系统配置【采购、采购退货-开单&结算价格计算方式】的计算逻辑

  • 已知-税前折后单价&税率-求-税后单价: 按照税前单价,折扣,税率 计算 税前折后价,税后单价,税后金额

  • 已知-税后单价&税率-求-税前折后单价: 按照税后单价,折扣,税率 计算 税后金额,税前折后单价,税前单价

2.调用场景

2.1 举例说明:财务系统、SAP、线下ERP、数据分析等系统的对接

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境http://47.92.239.46/openapi
正式环境http://wdt.wangdian.cn/openapi

  3.2 公共请求参数

名称字段类型长度
必须描述
卖家账号sidString
卖家账号, 由旺店通分配
接口账号keyString
由旺店通分配appkey, 在发送的数据中对应 key 字段,获取方式点击这里
saltString
由旺店通分配appsecret,是由两部分构成, 冒号前面的部分是secret, 冒号后面的部分是salt. 例如一个appsecret是testsecret:testsalt, 那么secret为testsecret, salt为testsalt.
接口名称methodString
调用的接口名称
版本号vString
1.0
秒级时间戳timestampint
秒级时间戳, 当前时间戳减去 2012-01-01 00:00:00(1325347200), 时间与服务器时间差120s内即合法。
签名signString
签名

  3.3 业务请求参数

名称字段类型长度
必须描述
新建参数paramsMap<String, Object>
Y新建参数

params

名称字段类型长度
必须描述
采购单编号purchase_noString40N采购单编号
供应商编号provider_noString20Y供应商编号
收货仓编号receive_warehouse_nosString40Y收货仓编号(不支持分销委外仓,支持传入多个仓库编号,仓库类型“平台仓”只允许传入一个仓库编号)
预计入库仓库编号expect_warehouse_noString40Y预计入库仓库编号(不支持分销委外仓)
采购员purchaser_nameString40Y采购员(员工页面对应"昵称"字段,员工的"工种"需要有"采购员")
是否要审核is_checkbool1N

审核:true

不审核:false

不传默认为false

引用的采购申请单编号apply_nosString255N采购申请单编号,使用英文逗号隔开
收货地址receive_addressString255N收货地址
联系人contactString40N联系人
电话telnoString32N电话
标记名称flag_nameString32N标记名称
预计到货时间expect_timeString19N

预计到货时间,例如:2021-07-10 10:35:00

1. 若系统不启用【采购开单时自动完善期望到货时间】配置,则采用接口传递的时间

2. 若系统启用【采购开单时自动完善期望到货时间】配置:

   - 供应商未设置或设置到货天数为0,仍使用接口传递的时间

   - 供应商设置了到货天数,以单据创建时间加到货天数来计算

创建时间createdString19N不传或为空,则为当前时间,例如:2021-07-10 10:30:01
付款方式pay_typeInt4N1:现付 2:到付
运费支付方式postfee_pay_typeInt4N0 无 1 现付 2 到付 3 包邮
备注remarkString255N备注
邮费post_feeDecimal(19,4)
N邮费
其他费用other_feeDecimal(19,4)
N其他费用
物流公司编号
logistics_no
String
NERP内维护的采购业务类型的物流公司编号
采购单自定义属性1
prop1
String255
N采购单自定义属性1
采购单自定义属性2prop2
String255
N采购单自定义属性2
采购单自定义属性3prop3
String255
N采购单自定义属性3
采购单自定义属性4prop4
String255
N采购单自定义属性4
采购单详情purchase_detailsList<Map<String, Object>>
N采购单详情

purchase_details

名称字段类型长度
必须描述
商家编码spec_noString40Y商家编码
采购数量numInt11采购数量
采购单位purchase_unit_nameString20N采购单位(对应辅助单位)
备注remarkString255N备注
自定义属性1prop1String255N自定义属性1
自定义属性2prop2String255N自定义属性2
自定义属性3prop3String255N自定义属性3
自定义属性4prop4String255N自定义属性4
税前单价priceDecimal(19,4)
N税前单价(当接口账户没有采购价字段权限时,price推送值无效,客户端税前单价字段按照供应商货品页面维护的采购价进行引用)
税后单价tax_priceDecimal(19,4)
N

税后单价(1、需系统配置【采购、采购退货-开单&结算价格计算方式】为【已知税后单价&税率求税前折后单价】时有效     

2、当接口账户没有采购价字段权限时,tax_price推送值无效)

折扣discountDecimal(19,4)
N折扣字段,默认值为1,1代表原价,无折扣;假设需要折扣为一折时,可将字段值传为0.1,同理,折扣为5折时,传值0.5;折扣为八折时,传值0.8,以此类推
税率tax_rateDecimal(19,4)
N税率(当接口账户没有采购价字段权限时,tax_rate推送值无效
批次号
batch_noString40
N批次号(如需使用,需要单独开通配置,开启配置的情况下不允许超量入库,开启配置情况下支持创建不存在的批次)
有效期
expire_date
String40
N有效期(如需使用,需要单独开通配置,开启配置的情况下不允许超量入库)

4.响应参数

名称字段类型长度
必须描述
状态码statusInt
Y

状态码为0,表示调用成功

错误信息

message

String


Y

成功返回创建成功的采购单号,否则返回错误信息

结果信息

data

Map<String, Object>


Y

结果信息

data

名称字段类型长度
必须描述
状态码statusInt
Y

0:操作全部成功

20:审核失败

返回信息

message

String


Y

成功返回创建成功的采购单号,否则返回错误信息

5.请求示例

Json格式请求报文
[{
	"receive_warehouse_nos": "wdtapi3-test",
	"purchase_details": [{
		"num": "1",
		"spec_no": "hcf"
	}],
	"purchaser_name": "lj",
	"expect_warehouse_no": "wdtapi3-test",
	"provider_no": "LCJtest"
}]
PHP

<php
header("Content-Type: text/html; charset=UTF-8");
date_default_timezone_set("Asia/Shanghai");
require_once('wdtsdk.php');
 
$client = new WdtErpClient("url", "wdtapi3", "appkey", "secret");
 
$purchase = new stdClass();
$purchase->provider_no='CMS4418046511659';
$purchase->receive_warehouse_nos='lz';
$purchase->expect_warehouse_no='lz';
$purchase->purchaser_name='lz';
$purchase->is_submit=1;
 
$purchaseDetails = array();
$purchaseDetails1 = new stdClass();
$purchaseDetails1->spec_no='lz11';
$purchaseDetails1->num=1;
array_push($purchaseDetails, $purchaseDetails1);
$purchase->purchase_details = $purchaseDetails;
 
$data = $client->call("purchase.PurchaseOrder.createOrder", $purchase); 
?>

JAVA
C#

6.响应示

   6.1 正常响应示例 

JSON

{
"status": 0,
"data": {
"message": "CG202003260001",
"status": 0
}
}

   6.2 异常响应示例

JSON
{
"status": 100,
"message": "供应商不存在"
}



常用工具