当前位置: API文档
finance.settle.Purchase.upload(创建采购结算单)
1.接口说明
1.1 接口描述:创建采购结算单给ERP |
| 1.2 适用版本:客户端 V1.4.4.1及以上版本 |
| 1.3 权限校验: |
1.4注意事项:
|
2.调用场景
| 2.1 举例说明: |
3.请求参数说明
3.1 请求地址
| 环境 | HTTP地址 |
|---|---|
| 测试环境 | http://47.92.239.46/openapi |
| 正式环境 | http://wdt.wangdian.cn/openapi |
3.2 公共请求参数
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 卖家账号 | sid | String | 是 | 卖家账号, 由旺店通分配 | |
| 接口账号 | key | String | 是 | 由旺店通分配appkey, 在发送的数据中对应 key 字段,获取方式点击这里 | |
| 盐 | salt | String | 是 | 由旺店通分配appsecret,是由两部分构成, 冒号前面的部分是secret, 冒号后面的部分是salt. 例如一个appsecret是testsecret:testsalt, 那么secret为testsecret, salt为testsalt. | |
| 接口名称 | method | String | 是 | 调用的接口名称 | |
| 版本号 | v | String | 是 | 1.0 | |
| 秒级时间戳 | timestamp | int | 是 | 秒级时间戳, 当前时间戳减去 2012-01-01 00:00:00(1325347200), 时间与服务器时间差120s内即合法。 | |
| 签名 | sign | String | 是 | 签名 |
3.3 业务请求参数
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 单据信息 | settle_order | Map<String, Object> | 是 | 单据信息 | |
| 明细信息 | detail_list | List<Map<String, Object>> | 是 | 明细信息 |
settle_order
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 采购单号 | purchase_no | String | 40 | 是 | 采购单号 |
| 物流公司编号 | logistics_company_no | String | 20 | 否 | ERP内手动维护的物流公司编号 |
| 物流单号 | logistics_no | String | 100 | 否 | 物流单号 |
| 发票类型 | invoice_type | byte | 否 | 发票类型 0:无发票 1:电子普通发票 2:纸质普通发票 3:电子增值税专用发票 4:纸质增值税专用发票 | |
| 发票号码 | invoice_no | String | 100 | 否 | 发票号码 |
| 邮费 | post_fee | Decimal(19,4) | 否 | 邮费 | |
| 其他费用 | other_fee | Decimal(19,4) | 否 | 其他费用 | |
| 备注 | remark | String | 255 | 否 | 备注 |
| 是否审核 | is_check | boolean | 1 | 否 | 默认false,审核失败情况下单据会创建失败 |
| 模糊查询 | fuzzy_query | boolean | 1 | 否 | 默认false,业务单号进行模糊查询匹配,匹配数量大于1条时会报错 |
detail_list
| 商家编码 | spec_no | String | 40 | 是 | 商家编码 |
| 结算数量 | settle_num | Decimal(19,4) | 是 | 结算数量 | |
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 结算数量(非残品) | settle_normal_num | Decimal(19,4) | 否 | 默认值为传入的结算数量 | |
| 发票数量 | invoice_num | Decimal(19,4) | 否 | 默认值为预期数量 | |
| 单价 | price | Decimal(19,4) | 否 | 默认值为采购单明细税前单价*单位系数 | |
| 折扣 | discount | Decimal(19,4) | 否 | 默认值为采购单明细折扣(折扣字段,默认值为1,1代表原价,无折扣;假设需要折扣为一折时,可将字段值传为0.1,同理,折扣为5折时,传值0.5;折扣为八折时,传值0.8,以此类推) | |
| 税率 | tax_rate | Decimal(19,4) | 否 | 默认值为采购单明细税率 | |
| 分摊邮费 | share_post_fee | Decimal(19,4) | 否 | 分摊邮费 | |
| 其他分摊 | share_other | Decimal(19,4) | 否 | 其他分摊 | |
| 备注 | remark | String | 255 | 否 | 备注 |
| 批次号 | batch_no | String | 否 | 如果采购单包含批次则需传入 | |
| 有效期 | expire_date | String | 否 | 如果采购单包含有效期则需传入 |
4.响应参数
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 状态码 | status | Int | 是 | 返回0为正常 | |
| 错误信息 | message | String | 是 | 无错误信息不返回 | |
| 响应正文数据 | data | <Map<String, Object> | 否 | 有错误信息时不返回此节点 |
data
| 名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
|---|---|---|---|---|---|
| 结算单号 | order_no | String | 40 | 是 | 结算单号 |
5.请求示例
[
{
"purchase_no": "CG2212190001"
},
[
{
"spec_no": "water",
"settle_num": 2
},
{
"spec_no": "mgh1",
"settle_num": 10
}
]
] | |
<?php
header("Content-Type: text/html; charset=UTF-8");
date_default_timezone_set("Asia/Shanghai");
$client = new WdtErpClient("url", "wdtapi3", "appkey", "secret")
$parMap = new stdClass();
$parMap->purchase_no = "CG2212190001";
//$parMap->logistics_company_no = 'hsdhsdfh';
//$parMap->logistics_no = '102810840284';
//$parMap->invoice_type = 1;
//$parMap->invoice_no = 'affkdkl';
//$parMap->post_fee = 1.5;
//$parMap->other_total = 2.9;
//$parMap->remark = 'remark test';
//$parMap->is_check = false;
$detail1 = new stdClass();
$detail1->spec_no = 'water';
$detail1->settle_num = 2;
//$detail1->settle_normal_num = '';
//$detail1->invoice_num = '';
//$detail1->price = '';
//$detail1->discount = '';
//$detail1->tax_rate = '';
//$detail1->share_post_fee = '';
//$detail1->share_other = '';
//$detail1->remark = '';
//$detail1->batch_no = '';
//$detail1->expire_date = '';
$detail2 = new stdClass();
$detail2->spec_no = 'mgh1';
$detail2->settle_num = 10;
//$detail2->settle_normal_num = '';
//$detail2->invoice_num = '';
//$detail2->price = '';
//$detail2->discount = '';
//$detail2->tax_rate = '';
//$detail2->share_post_fee = '';
//$detail2->share_other = '';
//$detail2->remark = '';
//$detail2->batch_no = '';
//$detail2->expire_date = '';
$detailList = array($detail1, $detail2);
$data = $client->call("finance.settle.Purchase.upload", $parMap, $detailList);
?> | |
| JAVA | |
| C# |
6.响应示例
6.1 正常响应示例
{
"status": 0,
"data":
{
"order_no": "JS202212300003"
}
} |
6.2 异常响应示例
{
"status": 100,
"message": "结算数量[非残品]不可超过结算数量, 商家编码: water 货品名称:纯净水"
} |