接口说明
具有诺税通saas企业资质,才可以调用此接口。调用该接口,签收发票、取消签收发票、编辑签收发票。签收:只能针对未签收发票2、取消签收:只能针对已经签收发票3、编辑:只能针对已签收发票(发票代码+号码不可编辑),编辑的时候值为覆盖关系,用编辑新传入的值进行覆盖。
API 方法名:nuonuo.OpeMplatform.invoiceSign 版本:V2.0
请求地址
| 环境 | 请求地址 |
|---|
| 正式环境 | https://sdk.nuonuo.com/open/v1/services |
| 沙箱环境 | https://sandbox.nuonuocs.cn/open/v1/services |
公共请求参数(消息头)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| Content-type | String | 否 | - | MIME类型【消息头】 | - |
公共请求参数(消息体)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| senid | String | 否 | - | 唯一标识,由企业自己生成32位随机码【消息体】 | - |
私有请求参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| taxNum | String | 否 | - | | 100000000001000 |
| signMethod | Number | 否 | - | 签收方式1:签收、2:取消签收、3:编辑 | 1 |
| taxCalculationType | Number | 是 | - | 计税方式1:全额抵扣、2:不可抵扣、3:计算抵扣、4:加计抵扣 | 1 |
| signVoucherNo | String | 是 | - | 记账凭证号:30个字或60个字符,凭证日期不为空时,凭证号也不能为空。 | 第2020xxx |
| voucherCreateTime | String | 否 | - | 凭证日期 | 2021-01-01 |
| generalType | Number | 是 | - | 计算抵扣种类 1.农产品 2.税控类 3.运输服务 99.其他 | 1 |
| userCode | String | 是 | - | 签收人用户编码 | 154 |
| departmentCode | String | 是 | - | 签收部门编码 | CEE147 |
| customField1 | String | 是 | 50 | 自定义字段1 | - |
| customField2 | String | 是 | 50 | 自定义字段2 | - |
| customField3 | String | 是 | 50 | 自定义字段3 | - |
| customField4 | String | 是 | 50 | 自定义字段4 | - |
| customField5 | String | 是 | 50 | 自定义字段5 | - |
| customField6 | String | 是 | 50 | 自定义字段6 | - |
| customField7 | String | 是 | 50 | 自定义字段7 | - |
| customField8 | String | 是 | 50 | 自定义字段8 | - |
| customField9 | String | 是 | 50 | 自定义字段9 | - |
| customField10 | String | 是 | 50 | 自定义字段10 | - |
| invoiceList | Array | 否 | - | | - |
| └ invoiceCode | String | 是 | - | 发票号码长度为8位时,发票代码必填。发票号码长度为20位时,发票代码必须为空 | 0000000001 |
| └ invoiceNumber | String | 否 | - | 发票号码长度只支持8或20 | 00000008 |
响应参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| code | String | 否 | - | 操作成功 | E0000 |
| message | String | 否 | - | 返回码描述 | 成功 |
| result | Object | 否 | - | | - |
| └ invoiceList | Array | 否 | - | | - |
| └ invoiceCode | String | 否 | - | 发票代码 | 0000000001 |
| └ invoiceNumber | String | 否 | - | 发票号码 | 00000008 |
| └ signResult | String | 否 | - | 操作是否成功true:成功、false:失败 | true |
| └ signStatus | Number | 否 | - | 签收状态 | 1 |
| └ remarks | String | 否 | - | 失败原因 | - |
| └ total | Number | 否 | - | 发票总条数 | 2 |
| └ success | Number | 否 | - | 操作成功条数 | 0 |
请求报文示例
NNOpenSDK sdk = NNOpenSDK.getIntance();
String taxnum = "23***789"; // 授权企业税号
String appKey = "Hn***XL";
String appSecret = "F65***65F";
String method = "nuonuo.OpeMplatform.invoiceSign"; // API方法名
String token = "2d484e**************pdui"; // 访问令牌
String content = "{
\"generalType\": 1,
\"customField5\": \"\",
\"customField6\": \"\",
\"customField7\": \"\",
\"customField8\": \"\",
\"customField1\": \"\",
\"customField2\": \"\",
\"customField3\": \"\",
\"customField10\": \"\",
\"departmentCode\": \"CEE147\",
\"customField4\": \"\",
\"userCode\": \"154\",
\"signVoucherNo\": \"第2020xxx\",
\"invoiceList\": [
{
\"invoiceNumber\": \"00000008\",
\"invoiceCode\": \"0000000001\"
}
],
\"taxCalculationType\": 1,
\"voucherCreateTime\": \"2021-01-01\",
\"taxNum\": \"100000000001000\",
\"customField9\": \"\",
\"signMethod\": 1
}";
String url = "https://sdk.nuonuo.com/open/v1/services"; // SDK请求地址
String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
System.out.println(result);
返回码说明