Skip to content

创建授权

POST /api/v1/channel/authorization-links

这是一切业务的起点。客户服务端在请求体中声明采集范围、输出类型、交付方式与回调配置; 企业用户在授权页只负责登录税局和确认协议,不填写任何业务参数

最小请求

http
POST /api/v1/channel/authorization-links
X-Channel-Key: rpa_channel_xxx
Content-Type: application/json; charset=utf-8
json
{
  "external_order_id": "BANK-20260812-0001",
  "enterprise_name": "示例企业有限公司",
  "taxpayer_id": "91420100XXXXXXXXXX"
}

省略的字段全部走默认值:采集税务和发票、发票期间 CURRENT_YEAR_PLUS_4、 保留期 30 天、链接有效期 1800 秒、不加密、不生成报告。

必填字段

字段说明
external_order_id客户业务订单号,同时是本接口的幂等键,同一渠道内唯一,最长 128 字符
enterprise_name企业名称,最长 256 字符
taxpayer_id统一社会信用代码 / 纳税人识别号,3–64 字符

采集范围

字段默认说明
collect_taxtrue是否采集税务
collect_invoicetrue是否采集发票
invoice_periodCURRENT_YEAR_PLUS_4发票采集期间

collect_taxcollect_invoice 至少一项为 true

发票期间

代码范围
CURRENT_YEAR_PLUS_4本年度及往前 4 个完整年度
CURRENT_YEAR_PLUS_3本年度及往前 3 个完整年度
CURRENT_YEAR_PLUS_2本年度及往前 2 个完整年度
LAST_36_MONTHS近 36 个月
LAST_24_MONTHS近 24 个月

响应会回显解析后的 invoice_start_dateinvoice_end_date,便于客户核对实际区间。

输出类型

tax_data_typesinvoice_data_types 各自接受 WORKER_RAWALLSTANDARD 的任意非空组合(最多三项)。平台只交付已选择的结果。

json
{
  "tax_data_types": ["ALL", "STANDARD"],
  "invoice_data_types": ["ALL", "STANDARD", "WORKER_RAW"]
}
取值产出
ALL税局原始/映射数据
STANDARD平台加工后的标准化结构
WORKER_RAWWorker 采集到的原始表格文件(通常 XLSX)

省略时的兼容行为:tax_data_types 省略 → 兼容 ALLSTANDARDinvoice_data_types 省略 → 仅允许 ALL

范围不可后补

取数阶段不能扩大范围。未选择 ALLSTANDARD 时,对应数据接口直接返回 业务码 10001;未选择 WORKER_RAW 的产品不会给出原始文件下载地址。

STANDARD 没有模块筛选

选择 STANDARD 后,税务固定返回完整 24 个模块,发票固定返回完整 13 个模块。 历史的模块筛选字段(tax_standard_modulesinvoice_standard_modules 等) 仍会被接收但直接忽略,新接入不应继续发送。

发票交付方式

invoice_delivery_mode 只影响发票 ALL,不影响 Worker 原始文件与 STANDARD。

取值适用取数方式
LEGACY(默认)小批量/api/channel/data/invoice/all 分页
CURSOR边拉边处理V2 游标接口续拉
PACKAGE大批量离线V2 分片包状态 → 清单 → 逐片下载

详见大批量发票交付。需要 collect_invoice=true

报告

字段说明
pdf_report_types唯一的 PDF 选择参数;可下载 PDF
generate_html_reports是否生成两份 HTML 在线版报告,默认 false

两者相互独立:只开 HTML 不会隐式生成 PDF,只申请 PDF 也不会隐式生成 HTML。 两者都要求同时采集税务和发票

pdf_report_types 可选值:

编码含义是否需要后台授权
TAX_INVOICE_DETAIL税票 PDF(详版)
TAX_INVOICE_SUMMARY税票 PDF(简版)
LEASING_CREDIT_CUSTOM定制版统一开关
定制报告为什么只有一个编码

PDF 报告采用「后台配置 + 订单选择」两层控制。平台可为渠道配置一个或多个具体定制报告, 客户无需知道这些内部名称和版本,只需在本单传入统一编码 LEASING_CREDIT_CUSTOM, 平台就会生成为当前渠道配置的全部有效定制报告

后台已配置但本单未传入时不会生成;当前渠道没有任何有效定制报告却传入该编码时, 接口返回 403 REPORT_NOT_ENTITLED

回调与返回地址

字段说明
callback_url平台向客户服务端推送结果的地址
callback_modeAGGREGATE(默认,整单一次)或 PER_PRODUCT(按产品分别通知)
success_url用户授权完成后返回的浏览器页面
exit_url用户取消、主动结束或授权失败后返回的浏览器页面

三个地址均须为通过平台安全校验的完整公网 HTTPS 地址;省略时使用渠道默认配置。 详见回调通知

其他常用字段

字段默认说明
output_encryptionNONESM4 时成功 JSON 报文替换为 SM4-GCM 信封,见输出加密
data_retention_days30本订单数据保留期,7–365 天,推荐 7 / 30 / 90 / 180 / 365
expires_in_seconds1800授权链接有效期,60–86400 秒
extras_data{}客户扩展信息,回调时原样返回
tax_url自动解析一般不传;平台按纳税人识别号解析归属地区
已废弃与兼容字段
字段现状
data_delivery_mode旧客户端兼容。新接入请在输出类型数组中选择 WORKER_RAW
support_long_auth仅兼容旧客户端,始终归一化为 false
need_verify_code已废弃,直接丢弃
tax_standard_modules / invoice_standard_modules被接收但忽略,不参与幂等比较

所有字段同时接受下划线与驼峰两种写法(如 output_encryption / outputEncryption)。

成功响应

json
{
  "authorization_code": "550e8400-e29b-41d4-a716-446655440000",
  "authorization_url": "https://rpa-auth.xiaowu005.xyz/user/authorization/taxXyd?...",
  "external_order_id": "BANK-20260812-0001",
  "invoice_period": "LAST_36_MONTHS",
  "invoice_start_date": "2023-08-12",
  "invoice_end_date": "2026-08-12",
  "expires_at": "2026-08-12T10:30:00Z",
  "dataDeliveryMode": "STRUCTURED",
  "generateHtmlReports": true,
  "outputEncryption": "SM4"
}

必须直接跳转

客户前端必须直接打开 authorization_url,不得自行拼接授权页面地址。

幂等规则

同一渠道内 external_order_id 唯一。

  • 完全相同的活动请求可以安全重试,返回同一个授权。
  • 企业、税号、extras_data、回调/返回地址、回调模式、采集范围、输出类型、 output_encryptiongenerate_html_reports、PDF 报告选择、数据保留期、 发票交付模式或发票期间任一发生变化409 EXTERNAL_ORDER_CONFLICT
  • 链接未提交且已过期后,可用同一 external_order_id 创建新的授权代次。

旧版模块筛选字段被忽略,不参与幂等比较。

近期成功结果复用

平台可按渠道配置 1–365 天的成功落库复用窗口。新授权链接打开时, 如果同一渠道、同一纳税人识别号在窗口内存在已成功完成且以下要素完全一致的任务, 授权页面会提示用户是否直接使用已有结果:

采集范围、发票期间、WORKER_RAW/ALL/STANDARD 选择、PDF 报告、 HTML 在线报告开关、数据保留期、发票交付模式。

旧版模块筛选字段不参与复用指纹。

常见错误

HTTPcode处理
401CHANNEL_AUTH_REQUIRED / INVALID_CHANNEL_KEY核对 X-Channel-Key 与环境
403REPORT_NOT_ENTITLED渠道未配置任何有效定制报告,去掉 LEASING_CREDIT_CUSTOM
409EXTERNAL_ORDER_CONFLICT换新订单号,或改回与首次完全一致的请求体
409TAX_URL_MISSING该纳税人所在地区尚未配置税局入口,联系平台
422VALIDATION_ERRORdetails.errors 定位字段
422INVALID_CALLBACK_URL地址未通过安全校验

适配平台 1.5.3 · 客户交付 R4.4;本文档仅供已签约渠道客户使用。