# 托运方开票申请
接口名称:/trade/applicationInvoice
1、一次申请超过商家设定的最大开票金额直接拦截报错
2、电子发票+需要清单需要限制运单数不能超过100条
3、数电发票必须带清单,运单数不能超过500条
请求参数:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | transportBillNumberList | 运单号列表 | List<String> | 是 | ||
2 | 1 | invoiceAmount | 申请开票总金额 | Long | 20 | 是 | 单位为“分” |
3 | 1 | buyerName | 购票方名称 | String | 64 | 是 | 购票方名称 |
4 | 1 | buyerCreditCode | 购票方纳税人统一社会信用代码 | String | 64 | 是 | |
5 | 1 | invoicePhone | 联系电话(开票用) | String | 64 | 是 | |
6 | 1 | invoiceAddress | 发票抬头地址(完整地址) | String | 512 | 是 | |
7 | 1 | bankDeposit | 开户银行 | String | 64 | 是 | |
8 | 1 | bankCardNumber | 银行卡号 | String | 64 | 是 | |
9 | 1 | needInvoiceType | 要求发票类型 | Integer | 2 | 是 | 1-仅支持纸质发票 2-仅支持电子发票 3-支持数电发票,需根据平台配置 |
10 | 1 | receiverName | 收件人 | String | 64 | 是 | |
11 | 1 | receiverPhone | 联系电话 | String | 20 | 否 | 发票类型为纸质必填 |
12 | 1 | receiverProvince | 省 行政区划码 | String | 10 | 否 | 发票类型为纸质必填 |
13 | 1 | receiverCity | 市 行政区划码 | String | 10 | 否 | 发票类型为纸质必填 |
14 | 1 | receiverDistrict | 区县 行政区划码 | String | 10 | 否 | 发票类型为纸质必填 |
15 | 1 | receiverProvinceName | 省名称 | String | 64 | 否 | 发票类型为纸质必填 |
16 | 1 | receiverCityName | 市名称 | String | 64 | 否 | 发票类型为纸质必填 |
17 | 1 | receiverDistrictName | 区名称 | String | 64 | 否 | 发票类型为纸质必填 |
18 | 1 | receiverLocation | 详细地址 | String | 64 | 否 | 发票类型为纸质必填 |
19 | 1 | 电子邮箱 | String | 64 | 否 | 发票类型为电子必填 | |
20 | 1 | inventory | 是否需要清单 | Integer | 2 | 是 | 是否需要清单: 0-不需要 1-需要 |
21 | 1 | invoiceUnits | 开票单位 | String | 10 | 是 | 可支持:吨、千克、立方、件、车、趟、批(一定要选择不需要清单)、不填单位(填批默认是不需要清单) |
22 | 1 | invoiceQuantity | 开票数量 | String | 10 | 是 | 需根据单位级联: 吨或者千克: 装货重量、卸货重量、装卸货重量最小值、装卸货重量最大值 立方: 装货体积、卸货体积、装卸货体积最小值、装卸货体积最大值 件: 装货件数、卸货件数、装卸货件数最小值、装卸货件数最大值 车+需要清单: 清单中每车数量为1 车+不需要清单: 按总车数汇总 趟+需要清单: 清单中每趟数量为1 趟+不需要清单: 按总趟数汇总 批: 数量填1 不填单位: 不填数量 |
23 | 1 | model | 规格型号 | String | 64 | 否 | 非必选。如需选择,仅支持从车牌号、货物名称选择一个 |
24 | 1 | invoiceRemark | 发票备注要求 | String | 200 | 否 | 发票备注要求在GBK编码下字节长度最长为200(中文占两个字节,英文、数字、特殊字符占一个字节) |
25 | 1 | remark | 其他备注 | String | 256 | 否 |
返回结果:
序号 | 英文名称 | 中文名称 | 类型 | 说明 |
---|---|---|---|---|
1 | invoiceProofNumber | 开票凭证号 | String | |
2 | invoiceAmount | 申请开票总金额 | Long | 单位:分 |
3 | serviceCost | 服务费 | Long | 单位:分 |
4 | shipperTransportCost | 托运方运费 | Long | 单位:分 |
5 | transportBillCount | 运单数 | Long |
mock 数据示例
{
"code": "00000",
"data": {
"invoiceProofNumber":"202208010210015714",
"invoiceAmount":11100,
"serviceCost":1000,
"shipperTransportCost":10000,
"transportBillCount":1
},
"message": "请求成功"
}
# 撤销开票申请
接口名称: /trade/cancelApplicationInvoice
请求参数:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | invoiceProofNumber | 开票凭证号 | String | 是 |
返回结果
成功or失败
mock数据示例:
{
"code": "00000",
"data": true,
"message": "请求成功"
}
# 查询开票状态
接口名称:/trade/getShipperInvoiceProof
请求参数:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | invoiceProofNumber | 开票凭证号 | String | 是 |
返回结果:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 说明 |
---|---|---|---|---|---|
1 | 1 | invoiceProofNumber | 开票凭证号 | String | |
2 | 1 | auditStatus | 开票单审核状态 | Integer | 审核状态: 1-已拒绝 2-审核中 3-已通过 |
3 | 1 | rejectMsg | 审核拒绝原因 | String | |
4 | 1 | transportBillNumberList | 运单号列表 | List<String> | |
5 | 1 | invoiceAmount | 申请开票总金额 | Long | 单位:分 |
6 | 1 | demandInfo | 发票清单 | ||
7 | 2 | buyerName | 购票方名称 | String | |
8 | 2 | buyerCreditCode | 购票方纳税人社会统一信用代码 | String | |
9 | 2 | invoicePhone | 联系电话(开票用) | String | |
10 | 2 | invoiceAddress | 发票抬头地址(完整地址) | String | |
11 | 2 | bankDeposit | 开户银行 | String | |
12 | 2 | bankCardNumber | 银行卡号 | String | |
13 | 2 | needInvoiceType | 发票类型 | Integer | 1-纸质发票 2-电子发票 3-数电发票 |
14 | 2 | receiverName | 收件人姓名 | String | |
15 | 2 | receiverPhone | 联系人电话 | String | 纸质发票,该字段存在值 |
16 | 2 | receiverProvince | 省行政区划码 | String | 纸质发票,该字段存在值 |
17 | 2 | receiverCity | 市行政区划码 | String | 纸质发票,该字段存在值 |
18 | 2 | receiverDistrict | 区行政区划码 | String | 纸质发票,该字段存在值 |
19 | 2 | receiverProvinceName | 省份名称 | String | 纸质发票,该字段存在值 |
20 | 2 | receiverCityName | 市名称 | String | 纸质发票,该字段存在值 |
21 | 2 | receiverDistrictName | 区名称 | String | 纸质发票,该字段存在值 |
22 | 2 | receiverLocation | 详细地址 | String | 纸质发票,该字段存在值 |
23 | 2 | 电子邮箱 | String | 电子发票,该字段存在值 | |
24 | 2 | inventory | 是否需要清单 | Integer | 0-不需要 1-需要 |
25 | 2 | invoiceUnits | 开票单位 | String | 吨、千克、立方、件、车、趟、批或不填单位 |
26 | 2 | invoiceQuantity | 开票数量 | String | |
27 | 2 | model | 规格型号 | String | |
28 | 2 | invoiceRemark | 发票备注要求 | String | |
29 | 2 | remark | 其他备注 | String |
mock 数据示例
{
"code": "00000",
"data": {
"invoiceProofNumber": "",
"auditStatus": 3,
"rejectMsg": null,
"transportBillNumberList": [""],
"invoiceAmount": 100000,
"demandInfo": {
"buyerName": "",
"buyerCreditCode": "",
"invoicePhone": "",
"invoiceAddress": "",
"bankDeposit": "",
"bankCardNumber": "",
"needInvoiceType": 2,
"receiverName": null,
"receiverPhone": null,
"receiverProvince": null,
"receiverCity": null,
"receiverDistrict": null,
"receiverProvinceName": null,
"receiverCityName": null,
"receiverDistrictName": null,
"receiverLocation": null,
"email": "zhangsan@168.com",
"inventory": 1,
"invoiceUnits": "吨",
"invoiceQuantity": "装卸货重量最小值",
"model": "车牌号",
"invoiceRemark": "",
"remark": null
}
},
"message": "请求成功"
}
# 托运方发票信息查询
接口名称:/trade/getShipperInvoiceInfo
请求参数:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | invoiceProofNumber | 开票凭证号 | String | 是 |
返回结果:
序号 | 层级 | 英文名称 | 中文名称 | 类型 | 说明 |
---|---|---|---|---|---|
1 | 1 | invoiceProofNumber | 开票凭证号 | String | |
2 | 1 | invoiceTime | 开票时间 | String | "yyyy-MM-dd HH:mm:ss" |
3 | 1 | invoiceNumber | 发票号码 | String | |
4 | 1 | invoiceUrls | 发票URL地址 | String | 若有多个,则用英文逗号隔开 |
5 | 1 | transportBillNumberList | 运单号列表 | List<String> |
mock 数据示例
{
"code": "00000",
"data":{
"invoiceProofNumber": "",
"invoiceNumber": "",
"invoiceUrls": "",
"transportBillNumberList": ["",""]
},
"message": "请求成功"
}
# 开票审核回调通知接口
1.请求头会携带sign参数,用于鉴权
serviceName : invoiceAuditNotify
接口名称:由接入方提供回调地址
请求参数
序号 | 层级 | 英文****名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | serviceName | 服务名 | String | 是 | ||
2 | 1 | apiId | 接入appId | String | 是 | ||
3 | 1 | invoiceProofNumber | 开票凭证号 | String | 是 | ||
4 | 1 | auditStatus | 审核状态 | Integer | 20 | 是 | 审核状态: 1-已拒绝 2-审核中 3-已通过 |
5 | 1 | rejectMsg | 拒绝原因 | String | 64 | 是 | 长度64 |
mock 数据示例
{
"apiId":"9fa5c1643b454f7ab2e026082d610e6b",
"invoiceProofNumber":"20400",
"auditStatus":3,
"rejectMsg":"",
"serviceName":"invoiceAuditNotify"
}
返回参数
序号 | 英文名称 | 中文名称 | 类型 | 说明 |
---|---|---|---|---|
1 | code | 结果码 | String | 1-成功 2-失败 |
3 | message | 结果文本 | String | 结果文本 |
mock 数据示例
{
"code": "1",
"message": "请求成功"
}
# 开票成功回调通知接口
1.请求头会携带sign参数,用于鉴权
serviceName : invoiceSuccessNotify
接口名称:由接入方提供回调地址
请求参数
序号 | 层级 | 英文****名称 | 中文名称 | 类型 | 长度 | 是否必填 | 说明 |
---|---|---|---|---|---|---|---|
1 | 1 | serviceName | 服务名 | String | 是 | ||
2 | 1 | apiId | 接入appId | String | 是 | ||
3 | 1 | invoiceProofNumber | 开票凭证号 | String | 是 | ||
4 | 1 | invoiceTime | 开票时间 | String | 64 | 是 | "yyyy-MM-dd HH:mm:ss" |
5 | 1 | invoiceStatus | 开票状态 | Integer | 20 | 是 | 开票状态: 70-开票成功 |
6 | 1 | invoiceUrls | 发票url | String | 64 | 是 | 多张发票以逗号分隔 |
mock 数据示例
{
"apiId":"9fa5c1643b454f7ab2e026082d610e6b",
"invoiceProofNumber":"20400",
"invoiceStatus":70,
"invoiceUrls":"",
"serviceName":"invoiceSuccessNotify"
}
返回参数
序号 | 英文名称 | 中文名称 | 类型 | 说明 |
---|---|---|---|---|
1 | code | 结果码 | String | 1-成功 2-失败 |
3 | message | 结果文本 | String | 结果文本 |
mock 数据示例
{
"code": "1",
"message": "请求成功"
}