API列表

# 创建新的激活码 请求路径: `/openapi/activeCode/pmsAdd` 请求方法: `POST` 接口参数: | 字段名 | 类型 | 必填 | 说明 | | ------------ | ------------ | -----| ------------ | | data | 数组 | 是 | 支持批量的参数(ActiveCodeCreateParam) | | uniqueNo | String | 是 | 调用方唯一业务凭证号, 相同凭证号会保证幂等 | ActiveCodeCreateParam: | 字段名 | 类型 | 必填 | 说明 | | ------------ | ------------ | -----| ------------ | | tenantId | String | 是 | 租户ID | | companyTaxNo | String | 是 | 公司税号 | | strategy | int | 是 | 到期的策略 | | invoiceType | String | 是 | 票种,多个逗号分割 | 票种: | 值 | 类型 | | ------------ | ------------ | | c | 增值税普通发票 | | s | 增值税专用发票 | | ce | 增值税电子普通发票 | | v | 机动车票 | | bc | 区块链电票 | | se | 增值税电子专用发票 | strategy: 1. 指定时长, 按照首张票时间自动计算失效时间 2. 指定时长, 按注册时间自动计算失效时间 3. 指定失效日期 strategy为1/2: | 字段名 | 类型 | 必填 | 说明 | | ------------ | ------------ | -----| ------------ | | period | int |是 | 有效期数值 | | unit | String | 是 | 有效期单位: y(年)/m(月)/d(日) | strategy为3: | 字段名 | 类型 | 必填 | 说明 | | ------------ | ------------ | -----| ------------ | | expireDate | String | 是 | 格式:20000101 | 注: 1.如果只填companyTaxNo,则该激活码只能用于该税号的公司创建使用。 2.如果只填partnerStoreNo,则公司创建时填写该激活码,那么公司注册后会自动创建对应门店。 3.一次请求最多不能超过50个 4.请求的集合不保证事务, 每一个结果可以单独成功或失败 请求参数示例: ```json { "uniqueNo": "123456789", "data": [{ "tenantId": "123456", "invoiceType": "c,s,se", "strategy": 3, "expireDate": "20900101" }] } ``` 响应结果: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | code | Integer | 处理结果 | | message | String | 结果描述 | | data | 数组 | 激活码信息(ActiveCodeDTO) | ActiveCodeDTO: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | success | boolean | 是否创建成功 | | tenantId | String | 租户ID | | companyTaxNo | String | 公司税号 | | activeCode | String | 激活码 | | message | String | 创建失败消息 | 注: 1. 外层的结果表示调用是否成功: 可能的错误: 个数超限或者参数格式不对 2. 内存的结果表示业务是否成功 响应结果示例: ```json 失败: { "code": -1, "message": "一次请求不能超过50个" } 成功: { "code": 0, "data": [{ "success": true, "tenantId": "123", "companyTaxNo": "abc", "activeCode": "wefcspmfe" }, { "success": false, "tenantId": "123", "companyTaxNo": "abc", "message": "******" }] } ``` # 更新公司有效期 延长公司的有效期 请求路径: `/openapi/activeCode/updateExpireDate` 请求方式: `POST` 接口参数: | 参数 | 类型 | 是否必填 | 说明 | | ------------ | ------------ | ------------ |------------ | | companyTaxNo | String | 是 | 公司税号 | | expireDate | String | 是 | 格式: 20000909 | 响应结果: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | code | Integer | 处理结果 | | message | String | 结果描述 | 响应结果示例: ```json 失败: { "code": -1, "message": "税号不能为空。" } 成功: { "code": 0 } ``` # 查询激活码使用状态 查询激活码的使用详情,包括:激活时间、激活状态、过期时间。 请求路径: `/openapi/activeCode/get` 请求方式: `POST` 接口参数: | 参数 | 类型 | 是否必填 | 说明 | | ------------ | ------------ | ------------ |------------ | | activeCode | String | 是 | 激活码 | 请求示例: `/openapi/activeCode/get?activeCode=Z4KS4H` 响应结果: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | code | Integer | 处理结果 | | message | String | 结果描述 | | data | Object | 激活码信息(ActiveCodeDTO) | ActiveCodeDTO: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | activeCode | String | 激活码 | | status | Integer | 激活状态【0:未使用;1:使用中;2:已失效 3.已生效 4.即将失效】 | | activeTime | DateTime | 激活时间:2019-03-27 11:22:17 | | endTime | DateTime | 结束时间:2019-03-27 11:22:17 | | useTime | DateTime | 使用时间:2019-03-27 11:22:17 | 响应结果示例: ```json 失败: { "code": -1, "message": "激活码不能为空。" } 成功: { "code": 0, "message": "success", "data": { "activeCode":"Z4KS4H", "status":3, "activeTime":"2019-03-27 11:22:17", "endTime":"2099-12-31 23:59:59", "useTime":"2099-12-31 23:59:59", } } ``` # 回调激活码使用状态 激活码状态更新后,发票管家会把相关激活码信息发送给PMS,PMS需要接收处理,并按文档规范返回应答。 注意: 1、同样的通知可能会多次发送。PMS必须能够正确处理重复的通知。 2、后台通知交互时,如果发票管家收到PMS的应答不符合规范或超时,发票管家会判定本次通知失败,重新发送通知,直到成功为止(在通知一直不成功的情况下,会发起多次通知,通知频率为1min一次,一共发送10次),但发票管家不保证通知最终一定能成功。 3、在激活码状态不明或者没有收到发票管家通知的情况下,建议PMS主动调用【查询激活码使用状态API】确认激活码状态。 通知url: PMS提供给发票管家的回调url,必须为直接可访问的url,不能携带参数。 请求方式: `POST` POST请求会在HTTP Header中设置Content-Type:application/json。token 放到 Header 的 Authorization 中。 token的生成与校验可参考JWT工具 通知字段: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | code | Integer | 处理结果 | | message | String | 结果描述 | | requestId | String | 同一个回调唯一 | | data | Object | 激活码信息(ActiveCodeDTO) code=0时,data才有值 | ActiveCodeDTO: | 字段名 | 类型 | 说明 | | ------------ | ------------ | ------------ | | companyTaxNo | String | 公司税号 | | activeCode | String | 激活码 | | status | Integer | 激活状态【0:未使用;1:使用中;2:已失效 3.已生效 4.即将失效】 | | activeTime | DateTime | 激活时间:2019-03-27 11:22:17 | | endTime | DateTime | 结束时间:2019-03-27 11:22:17 | | useTime | DateTime | 使用时间:2019-03-27 11:22:17 | 响应结果示例: ```json 成功: { "code": 0, "message": "success", "data": { "companyTaxNo": "abc", "activeCode":"Z4KS4H", "status":3, "activeTime":"2019-03-27 11:22:17", "endTime":"2099-12-31 23:59:59", "useTime":"2099-12-31 23:59:59", } } ``` 返回字段: | 字段名 |必填| 类型 | 说明 | | ------------ | ------------ | ------------ | ------------ | | code | 是 | Integer | 处理结果 code=0,表示PMS接收通知成功并校验成功;code=-1,表示失败 | | message | 否 | String | 结果描述 比如签名校验失败 |