当前位置: 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.请求示例
Json格式请求报文 | [ { "purchase_no": "CG2212190001" }, [ { "spec_no": "water", "settle_num": 2 }, { "spec_no": "mgh1", "settle_num": 10 } ] ] |
PHP | <?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 正常响应示例
JSON | { "status": 0, "data": { "order_no": "JS202212300003" } } |
6.2 异常响应示例
JSON | { "status": 100, "message": "结算数量[非残品]不可超过结算数量, 商家编码: water 货品名称:纯净水" } |