开票接口
## 1.合并开票接口
![image.png](https://cos.easydoc.net/74722269/files/kxof0tmk.png)
#### 接口地址:
/open/api/v1/invoices/batchCreate
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|-|
|dateStart|开票开始时间|String(19)|否|精确到秒示例:"2020-10-01 20:18:00",如果不填写则默认所有未开票的订单合并,该时间以订单同步的时间为条件进行查询|
|dateEnd|开票结束时间|String(19)|否|精确到秒示例:"2020-10-02 20:18:00",,如果不填写则默认所有未开票的订单合并,该时间以订单同步的时间为条件进行查询|
|mainstayId|主体ID|Integer(2)|是||
|invoiceCode|发票编码|String(32)|是||
|invoiceType|发票类型|String(255)|是|普票/专票|
|recipient|收件人|String(32)|是||
|phone|收件人联系电话|String(16)|是||
|area|收件人所在地区|String(255)|是||
|detailAddress|收件人详细地址|String(255)|是||
|email|电子邮件|String(255)|是||
|remark|备注|String(640)|否||
|billFile|结算单文件|String(640)|否||
|billDesc|结算单说明|String(640)|否||
|sceneFile|场景说明文件|String(640)|否||
|sceneDesc|场景说明|String(640)|否||
#### 响应参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceId|发票单号|String|是|生成发票后返回需要存储起来,方便后面查询状态|
|totalInvoiceAmount|总开票金额|String|是|此次开票的总金额|
|totalBillSuccessAmount|总结算金额|String|是|此次开票订单所有的结算金额|
## 2.开票结果查询
#### 接口地址:
/open/api/v1/invoices/detail
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceId|发票单号|String(32)|否|二选一,必传,都传以发票单号为准|
|thirdOrderNo|商户订单号|String|否|二选一,必传,都传以发票单号为准|
#### 响应参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceId|发票单号|String|是||
|invoiceTitle|发票抬头|String|是||
|taxNumbe|税号|String|是||
|addressPhone|地址、电话|String|是||
|addressee|收件地址|String|是||
|invoiceAmount|合并开票金额|String|是||
|bankAccount|开户行及账号|String|是||
|invoiceContent|发票内容|String|是||
|invoiceType|发票类型|String|是|普票/专票|
|mainstayId|代征主体ID|Integer|是||
|mainstayName|代征主体|String|是||
|remark|备注|String|否||
|phone|联系电话|String|是||
|area|所在地区|String|是||
|detailAddress|详细地址|String|是||
|email|邮箱|String|是||
|expressCompany|快递公司|String|否||
|expressNo|快递单号|String|否||
|invoiceStatus|发票状态|Integer|是|详情请参考【发票状态说明】|
|refuseReason|拒绝原因|String|否||
|haveBusinessDetermination | 业务确认单 | Integer | 否 | 1、存在业务确认单 0、无业务确认单|
|billInformation| 票据信息 | String| 否 | 存在则返回,如果有多个附件则逗号拼接返回|
#### 发票状态说明
|invoiceStatus|说明|
|-|-|-|
|0|待审核|
|1|待寄出|
|2|已寄出|
|3|已拒绝|
## 3.业务确认单查询
#### 接口地址:
/open/api/v1/zykCompanyTask/dz/queryCompanyTaskDetail
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceId|发票单号|Integer|是||
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|taskNo | 服务编号 |string |是|
| taskName | 服务名称 | string |是|
| result | 服务结果| string |是|
| commerceFullName | 支付单位(验收方) |string |是|
| mainstayCompanyName |服务单位 | string|是|
| invoiceContent | 开票内容| string |是|
| totalAmount | 本次验收总金额 |string|是|
| startTime |开始日期 |string|是|
| taskContent |服务要求 | string | 是|
| billNoList | 关联结算订单号 | List<String> |是|
| confirmTime | 确认时间 | String| 是|
| mobile | 确认手机号|string |是|
| companyName | 公司名称 | string |是|
| ip | 确认IP地址| string |是|
#### 返回报文示例:
```java
{
"taskNo": "",
"taskName": "",
"result": "",
"commerceFullName": "",
"mainstayCompanyName": "",
"invoiceContent": "",
"totalAmount": "",
"startTime": "",
"taskContent": "",
"billNoList": [
""
],
"confirmTime": "",
"mobile": "",
"companyName": "",
"ip": ""
}
```