统一开放 API
统一 POST 地址已部署 · 按授权开通
查验、发票同步、连接管理及已实现的开票能力共用 HTTPS、AccessKey 请求签名和 JSON 信封。以下列出全部 32 个业务操作;扫码和短信共用创建连接地址,通过 method 区分。所有业务 JSON 调用统一为 POST,认证规则一致,参数按各接口定义传递。
版本与接入顺序
- 统一基础地址为
https://open.yifeihuilian.com/api/v2,地址形状为/{资源}/{操作}。业务查询、创建与修改都使用 POST;资源 ID、筛选和分页条件放入 JSON 请求体,不放 URL 查询参数。 /api/v3/tax/*只作为兼容地址;旧版/api/v2/tax/*、/access/v2/invoke/*和旧版查验入口保持各自原协议。票慧联原有调用路径不重定向、不自动切换。- 平台使用统一发布开关启用或关闭新版;关闭时新版返回 HTTP 503 /
OPENAPI_DISABLED,旧链路继续工作。 - 已开启新版的接入方按明确配置选择协议。认证或授权失败时不会自动回退到旧版,避免掩盖配置问题。
接入顺序:确认开通状态 → 申请凭证和税号授权 → 使用 服务端 SDK 生成签名 → 调用业务接口。所有新版调用均需企业及目标税号授权;服务端从凭证确定企业身份。签名凭证和旧版密钥相互独立。申请凭证后请先阅读 统一认证与安全。
查验中心:单张和批量
POST /api/v2/invoices/check
请求体示例
{
"tax_no": "<已授权企业税号>",
"invoices": [
{
"fphm": "<发票号码>",
"kprq": "20261023",
"kpje": "100.00"
}
]
}HTTP 200 响应结构示例
{
"code": "OK",
"message": "成功",
"request_id": "req_example_001",
"data": {
"status": "COMPLETED",
"results": [
{
"channel": "NATIONAL",
"billable": true,
"http_status": 200,
"response": {
"说明": "此处为查验渠道的实际业务结果,字段按渠道定义"
}
}
]
}
}tax_no 为已授权税号,invoices 一个元素表示单张,多个表示批量;上述发票字段均为 String。kprq 使用 YYYYMMDD(例如 20261023);每项必填 fphm、kprq、kpje,fpdm 可选。数电发票不传代码时,号码为 20 位数字;传统发票代码为 10 或 12 位数字。kpje 按票种表示金额或右上角 6 位校验码,不是所有票种都填价税合计。可使用 Idempotency-Key 按企业隔离同一业务请求。查验结论位于 data.results,接口受理成功不等于每张发票查验一致。响应示例仅展示结构,response 中的说明占位不是实际税局字段。
建议对消耗查验次数的请求提供 Idempotency-Key(1–128 位英文字母、数字、下划线或连字符)。同企业相同键和相同业务参数返回已完成结果;换请求 ID、时间戳和随机数不改变该业务键。不同业务参数复用同一键返回 IDEMPOTENCY_CONFLICT。不提供业务键不承诺去重。
IDEMPOTENCY_IN_PROGRESS 表示尚在处理,可稍后用原业务键及新签名重试;BUSINESS_RESULT_UNKNOWN(HTTP 503)表示无法确认结果,请保留原业务键与请求号联系平台核实,禁止更换业务键自动重复查验。权限撤销后,即使有历史结果也不再允许读取。
税局会话通道的 POST /api/v2/tax-connections/check-invoice 保留其独立业务契约与通道响应;认证统一不会把两个不同接口的业务字段强行改成同一套。
连接管理调用示例
POST /api/v2/tax-connections/create,method=QR(扫码)或 method=SMS(短信)。先按统一规则生成请求签名,直接发送 JSON;响应无需解密或二次 JSON.parse。
{
"method": "QR",
"nsrsbh": "<已授权企业税号>"
}{
"code": "OK",
"message": "成功",
"request_id": "req_example_002",
"data": {
"lsh": "<会话流水号>",
"ewmdz": "<平台返回的短期二维码图片地址>",
"yxq": "20261023120500"
}
}将返回的 ewmdz 作为短期图片资源地址获取 PNG;用 lsh 在 JSON 请求体中调用 POST /api/v2/tax-connections/detail 查询状态。示例占位值不可直接用于真实请求。
全部业务入口
本轮统一英文语义地址和 POST 方法,继续复用已验证的业务参数和处理逻辑;除创建连接新增 method 外,不会自动把 nsrsbh、lsh、kprq 等旧字段改名。英文业务字段、ISO 日期和任务模型仍为后续契约目标,不应混用。外层改为统一响应;旧版 returncode / returnmsg 不再作为新版外层字段返回。正常连接状态仍保留 data.ljzt 等业务字段;查无数据增加 data.status=NO_DATA,处理中返回 HTTP 202 并增加 data.status=PROCESSING。
连接管理
- 发起扫码连接
invoice.syncPOST /api/v2/tax-connections/create
JSON 请求体:
method = QR请求字段摘要:method 固定 QR,nsrsbh 为已授权企业税号。返回 data.lsh、data.ewmdz、data.yxq。
查看业务字段和返回字段说明(新版使用本页路径及信封) - 查询连接状态
invoice.syncPOST /api/v2/tax-connections/detail
请求字段摘要:lsh:发起连接时返回的会话流水号。返回 data.ljzt(1 已连接 / 0 未连接)和有效期。
查看业务字段和返回字段说明(新版使用本页路径及信封) - 按税号查连接状态
invoice.syncPOST /api/v2/tax-connections/query
请求字段摘要:nsrsbh:已授权企业税号。返回连接状态、当前 lsh 及有效期。
查看业务字段和返回字段说明(新版使用本页路径及信封) - 发起短信连接
invoice.syncPOST /api/v2/tax-connections/create
JSON 请求体:
method = SMS请求字段摘要:method 固定 SMS,nsrsbh;可选 account、password、identityType。正常调用使用已保存的税局账号配置,首次接入按平台安排配置。
查看业务字段和返回字段说明(新版使用本页路径及信封)已接入,尚无真机验证记录
- 提交短信验证码
invoice.syncPOST /api/v2/tax-connections/verify-sms
请求字段摘要:lsh、smsCode:短信连接的会话流水号及验证码。
查看业务字段和返回字段说明(新版使用本页路径及信封)已接入,尚无真机验证记录
- 配置税局账号密码
invoice.syncPOST /api/v2/tax-credentials/update
请求字段摘要:nsrsbh、account、password;可选 dqbh(新增账号的地区编号)。仅在调用方服务端传递账号密码。
查看业务字段和返回字段说明(新版使用本页路径及信封)
发票归集
- 查询增量下载发票信息
invoice.syncPOST /api/v2/invoices/query-incremental
请求字段摘要:nsrsbh、gjrq(归集日期)、sjlx、fplx、packageno;与按开票日期区间查询的 FPJCXX 是两种契约。
查看业务字段和返回字段说明(新版使用本页路径及信封) - 按开票日期查询发票清单
invoice.syncPOST /api/v2/invoices/query
请求字段摘要:nsrsbh、gjbq(1 销项 / 2 进项)、kprqq、kprqz;可选 fpztDm、fplyDm、fplxDm、sflzfp、dtBz、pageNumber、pageSize。
查看业务字段和返回字段说明(新版使用本页路径及信封) - 批量发票下载申请
invoice.syncPOST /api/v2/invoice-download-jobs/create
请求字段摘要:nsrsbh、kprqq、kprqz、fplx、sjlx;返回批次流水号用于申请反馈,不能混用其他企业或旧版批次。
乐企直连(NATURAL 通道)能力,tax-hub 已实现,E6 侧对接代码已完成(2026-09-21,commit e851fdf7),尚未真机/沙箱端到端验证
- 批量发票下载申请反馈
invoice.syncPOST /api/v2/invoice-download-jobs/query
请求字段摘要:lsh、packageno:本企业通过新版申请得到的批次流水号及分包号。
同上
- 发票用途状态信息查询
invoice.syncPOST /api/v2/invoices/query-usage-status
请求字段摘要:nsrsbh、fplx、fphm、kprq;可选 fpdm,按发票用途状态查询业务定义传递。
tax-hub 已实现,ERP 尚未接入调用
- 发票风险信息查询
invoice.syncPOST /api/v2/invoices/query-risks
请求字段摘要:nsrsbh、fplx、qsrq、zzrq、pagesize;其余筛选和分页字段按风险查询定义。
tax-hub 已实现,ERP 尚未接入调用
发票明细
- 发票票面明细查询
invoice.syncPOST /api/v2/invoices/detail
请求字段摘要:nsrsbh、qdfphm、kprq;可选 fphm、fpdm、fplydm、gjbqDm。kprq 使用清单返回的原始日期值。
查看业务字段和返回字段说明(新版使用本页路径及信封)
发票查验
- 发票查验
invoice.checkPOST /api/v2/tax-connections/check-invoice
请求字段摘要:nsrsbh、fphm、kprq(YYYYMMDD);fpdm、fplx、kpje、jym 按发票类型及通道要求。NATURAL 必须提供 fplx。
查看业务字段和返回字段说明(新版使用本页路径及信封)
基础版开票
- 获取数电票批量预赋码信息
invoice.issuePOST /api/v2/invoice-numbers/reserve
请求字段摘要:nsrsbh;lysl 为领用数量,ywlsh 为业务流水号,按预赋码业务约束传递。
对应 Natural System NS-API-001。tax-hub 已实现,E6 侧对接代码已完成(2026-09-21,commit e851fdf7),尚未真机/沙箱端到端验证
- 查询发票额度
invoice.issuePOST /api/v2/invoice-quotas/query
请求字段摘要:nsrsbh:已授权企业税号。
对应 Natural System NS-API-002。tax-hub 已实现,ERP 尚未接入调用
- 下载/退回发票额度
invoice.issuePOST /api/v2/invoice-quotas/apply
请求字段摘要:nsrsbh、ptbh、sqlx;sqed、ywlsh 按申请类型传递。写操作,先确认申请类型与额度。
对应 Natural System NS-API-003。写操作。tax-hub 已实现,ERP 尚未接入调用
- 调整发票额度有效期
invoice.issuePOST /api/v2/invoice-quotas/update-validity
请求字段摘要:xsfnsrsbh、sxedsq(额度所属月份)。税号字段是 xsfnsrsbh,不是 nsrsbh。
对应 Natural System NS-API-004。写操作,请求字段是 xsfnsrsbh,不是 nsrsbh。tax-hub 已实现,ERP 尚未接入调用
- 查询纳税人风险信息
invoice.issuePOST /api/v2/taxpayers/query-risks
请求字段摘要:nsrsbh:已授权企业税号。
对应 Natural System NS-API-005。tax-hub 已实现,ERP 尚未接入调用
- 查询纳税人基本信息
invoice.issuePOST /api/v2/taxpayers/detail
请求字段摘要:nsrsbh:已授权企业税号。
对应 Natural System NS-API-006。tax-hub 已实现,ERP 尚未接入调用
- 查询可用税率信息
invoice.issuePOST /api/v2/tax-rates/query
请求字段摘要:nsrsbh:用于校验本次调用的企业及税号权限,仍须在请求体中提供。
对应 Natural System NS-API-007。tax-hub 已实现,ERP 尚未接入调用
- 查询税收分类编码信息
invoice.issuePOST /api/v2/tax-categories/query
请求字段摘要:nsrsbh;可选 sjc、sjswjgdm。sjc 为业务时间戳,不替代签名头 X-Timestamp。
对应 Natural System NS-API-008。tax-hub 已实现,ERP 尚未接入调用
- 查询数电红字确认单列表信息
invoice.issuePOST /api/v2/red-letter-confirmations/query
请求字段摘要:yhjslx、xsfnsrsbh;可选购销双方名称/税号、录入日期区间、蓝字发票、确认单及 pageNumber、pageSize 等筛选字段。
对应 Natural System NS-API-009。tax-hub 已实现,ERP 尚未接入调用
- 查询数电红字确认单明细信息
invoice.issuePOST /api/v2/red-letter-confirmations/detail
请求字段摘要:uuid、xsfnsrsbh:确认单 UUID 及销售方税号。
对应 Natural System NS-API-010。tax-hub 已实现,ERP 尚未接入调用
- 数电票上传
invoice.issuePOST /api/v2/invoice-batches/issue
请求字段摘要:非空 JSON 发票数组;每项包含 xsfnsrsbh 及完整数电票业务字段(含开票方式、开票模式、发票明细等)。同一批次必须为同一销售方,须专门开通开票能力。
对应 Natural System NS-API-011。⚠ 写操作,会真实开出发票——CAP-01 核心接口,18 个行业变体母版,接入前需要专门授权,不可当成普通只读查询对待。tax-hub 已实现,E6 侧对接代码已完成(2026-09-21,commit e851fdf7),尚未真机/沙箱端到端验证
- 查询数电票上传结果
invoice.issuePOST /api/v2/invoice-batches/query-issue-result
请求字段摘要:sllsh:本企业通过新版上传获得的受理流水号;逐项判断 data.resultList 中的业务结果。
对应 Natural System NS-API-012。tax-hub 已实现,E6 侧对接代码已完成(2026-09-21,commit e851fdf7),尚未真机/沙箱端到端验证
- 数电红字确认单申请
invoice.issuePOST /api/v2/red-letter-confirmations/create
请求字段摘要:xsfnsrsbh、lzfphm、lzkprq 及录入身份、红冲原因、金额税额、hzqrdmxList 等完整申请字段。lzkprq 保留原蓝字发票的精确值,不自行改写。
对应 Natural System NS-API-013。写操作。tax-hub 已实现,ERP 尚未接入调用
- 数电红字确认单确认
invoice.issuePOST /api/v2/red-letter-confirmations/respond
请求字段摘要:xsfnsrsbh、uuid、hzqrdbh、qrlx。申请与确认是两个独立步骤,不自动串联。
对应 Natural System NS-API-014。写操作。tax-hub 已实现,ERP 尚未接入调用
- 上传发票汇总确认信息
invoice.issuePOST /api/v2/invoice-summaries/submit-confirmation
请求字段摘要:xsfnsrsbh、xsfsjswjgdm、ywlx、ptbh、yf;传递业务要求的蓝字/红字发票数量、金额与税额汇总。
对应 Natural System NS-API-015。写操作。tax-hub 已实现,ERP 尚未接入调用
- 查询发票汇总确认信息
invoice.issuePOST /api/v2/invoice-summaries/query-confirmation
请求字段摘要:xsfnsrsbh、xsfsjswjgdm;可选 yf、ptbh。
对应 Natural System NS-API-016。tax-hub 已实现,ERP 尚未接入调用
发票开具
- 蓝字发票开具
invoice.issuePOST /api/v2/invoices/issue
请求字段摘要:nsrsbh、bizNo 及 sellerName、buyerTaxNo、lines 等完整开票业务对象。bizNo 是业务幂等标识;结果未知时禁止换值重复开具。
已实现,写操作;bizNo 保持既有业务幂等语义,不自动重试。
发票查验中心
- 统一发票查验(单张 / 批量)
invoice.checkPOST /api/v2/invoices/check
请求字段摘要:tax_no:已授权企业税号;invoices:非空发票数组,每项 fphm、kprq、kpje 必填,fpdm 可选。
按 tax_no + invoices 调用;与税局会话通道 check-invoice 的业务字段和结果不同。
会话、流水号与重试
同步的 Web 通道仍需建立税局会话。按会话流水号调用时,平台先解析真实税号再检查权限;批次反馈仅能访问本企业通过新版提交的批次。数电票批量上传要求同一批次属于同一销售方,并校验销售方税号授权。
切换版本前应先完成旧版批次;旧版产生的上传或下载流水不能直接用新版反馈接口查询。开票、上传、红字确认等写操作的业务幂等规则保持不变;超时或结果未知时先核对业务状态,不能盲目重发。调用重试必须更新随机数和签名,保留原业务幂等键。