fujian_water_biz_doc/output/03_Interface_Design.html

7696 lines
207 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="系统设计团队" />
<title>福建水务营收系统-接口设计</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ background-color: #f8f8f8; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ef2929; } /* Alert */
code span.an { color: #8f5902; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #204a87; } /* Attribute */
code span.bn { color: #0000cf; } /* BaseN */
code span.cf { color: #204a87; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4e9a06; } /* Char */
code span.cn { color: #8f5902; } /* Constant */
code span.co { color: #8f5902; font-style: italic; } /* Comment */
code span.cv { color: #8f5902; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #8f5902; font-weight: bold; font-style: italic; } /* Documentation */
code span.dt { color: #204a87; } /* DataType */
code span.dv { color: #0000cf; } /* DecVal */
code span.er { color: #a40000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #0000cf; } /* Float */
code span.fu { color: #204a87; font-weight: bold; } /* Function */
code span.im { } /* Import */
code span.in { color: #8f5902; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #204a87; font-weight: bold; } /* Keyword */
code span.op { color: #ce5c00; font-weight: bold; } /* Operator */
code span.ot { color: #8f5902; } /* Other */
code span.pp { color: #8f5902; font-style: italic; } /* Preprocessor */
code span.sc { color: #ce5c00; font-weight: bold; } /* SpecialChar */
code span.ss { color: #4e9a06; } /* SpecialString */
code span.st { color: #4e9a06; } /* String */
code span.va { color: #000000; } /* Variable */
code span.vs { color: #4e9a06; } /* VerbatimString */
code span.wa { color: #8f5902; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="output/document_style.css" />
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<header id="title-block-header">
<h1 class="title">福建水务营收系统-接口设计</h1>
<p class="author">系统设计团队</p>
<p class="date">2024年12月19日</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#福建水务营收系统接口设计文档"
id="toc-福建水务营收系统接口设计文档"><span
class="toc-section-number">1</span> 福建水务营收系统接口设计文档</a>
<ul>
<li><a href="#文档信息" id="toc-文档信息"><span
class="toc-section-number">1.1</span> 文档信息</a></li>
<li><a href="#章节导航精简" id="toc-章节导航精简"><span
class="toc-section-number">1.2</span> 章节导航(精简)</a>
<ul>
<li><a href="#接口设计原则" id="toc-接口设计原则"><span
class="toc-section-number">1.2.1</span> 接口设计原则</a></li>
<li><a href="#通用响应格式" id="toc-通用响应格式"><span
class="toc-section-number">1.2.2</span> 通用响应格式</a></li>
<li><a href="#模块分组" id="toc-模块分组"><span
class="toc-section-number">1.2.3</span> 模块分组</a>
<ul>
<li><a href="#营收核心模块群" id="toc-营收核心模块群"><span
class="toc-section-number">1.2.3.1</span> 营收核心模块群</a></li>
<li><a href="#客户服务模块群" id="toc-客户服务模块群"><span
class="toc-section-number">1.2.3.2</span> 客户服务模块群</a></li>
</ul></li>
<li><a href="#跨系统协同边界" id="toc-跨系统协同边界"><span
class="toc-section-number">1.2.4</span> 跨系统协同边界</a></li>
</ul></li>
<li><a href="#外部接口分类" id="toc-外部接口分类"><span
class="toc-section-number">1.3</span> 外部接口分类</a>
<ul>
<li><a href="#if-ext-001-银行代扣批次下发接口"
id="toc-if-ext-001-银行代扣批次下发接口"><span
class="toc-section-number">1.3.1</span> IF-EXT-001
银行代扣批次下发接口</a></li>
<li><a href="#if-ext-002-银行代扣回盘接收接口"
id="toc-if-ext-002-银行代扣回盘接收接口"><span
class="toc-section-number">1.3.2</span> IF-EXT-002
银行代扣回盘接收接口</a></li>
<li><a href="#if-ext-003-银行实时收费接口"
id="toc-if-ext-003-银行实时收费接口"><span
class="toc-section-number">1.3.3</span> IF-EXT-003
银行实时收费接口</a></li>
<li><a href="#银行签约状态查询与批次控制扩展接口"
id="toc-银行签约状态查询与批次控制扩展接口"><span
class="toc-section-number">1.3.4</span>
银行签约、状态查询与批次控制扩展接口</a></li>
<li><a href="#if-ext-004-聚合支付下单接口"
id="toc-if-ext-004-聚合支付下单接口"><span
class="toc-section-number">1.3.5</span> IF-EXT-004
聚合支付下单接口</a></li>
<li><a href="#if-ext-005-聚合支付结果回调接口"
id="toc-if-ext-005-聚合支付结果回调接口"><span
class="toc-section-number">1.3.6</span> IF-EXT-005
聚合支付结果回调接口</a></li>
<li><a href="#if-ext-006-发票开具协同接口"
id="toc-if-ext-006-发票开具协同接口"><span
class="toc-section-number">1.3.7</span> IF-EXT-006
发票开具协同接口</a></li>
<li><a href="#if-ext-007-发票结果回写接口"
id="toc-if-ext-007-发票结果回写接口"><span
class="toc-section-number">1.3.8</span> IF-EXT-007
发票结果回写接口</a></li>
<li><a href="#if-ext-008-消息触达接口"
id="toc-if-ext-008-消息触达接口"><span
class="toc-section-number">1.3.9</span> IF-EXT-008 消息触达接口</a></li>
<li><a href="#if-ext-009-集抄数据接入接口"
id="toc-if-ext-009-集抄数据接入接口"><span
class="toc-section-number">1.3.10</span> IF-EXT-009
集抄数据接入接口</a></li>
</ul></li>
<li><a href="#sys-002-内部接口清单" id="toc-sys-002-内部接口清单"><span
class="toc-section-number">1.4</span> SYS-002 内部接口清单</a>
<ul>
<li><a href="#rev-接口清单" id="toc-rev-接口清单"><span
class="toc-section-number">1.4.1</span> REV 接口清单</a></li>
<li><a href="#cs-接口清单" id="toc-cs-接口清单"><span
class="toc-section-number">1.4.2</span> CS 接口清单</a></li>
<li><a href="#up-接口清单" id="toc-up-接口清单"><span
class="toc-section-number">1.4.3</span> UP 接口清单</a></li>
<li><a href="#meter-接口清单" id="toc-meter-接口清单"><span
class="toc-section-number">1.4.4</span> METER 接口清单</a></li>
<li><a href="#inst-接口清单" id="toc-inst-接口清单"><span
class="toc-section-number">1.4.5</span> INST 接口清单</a></li>
</ul></li>
<li><a href="#关键内部接口说明" id="toc-关键内部接口说明"><span
class="toc-section-number">1.5</span> 关键内部接口说明</a>
<ul>
<li><a href="#if-up-001-用户登录接口"
id="toc-if-up-001-用户登录接口"><span
class="toc-section-number">1.5.1</span> IF-UP-001 用户登录接口</a></li>
<li><a href="#if-rev-001-客户信息查询接口"
id="toc-if-rev-001-客户信息查询接口"><span
class="toc-section-number">1.5.2</span> IF-REV-001
客户信息查询接口</a></li>
<li><a href="#if-rev-004-抄表数据提交接口"
id="toc-if-rev-004-抄表数据提交接口"><span
class="toc-section-number">1.5.3</span> IF-REV-004
抄表数据提交接口</a></li>
<li><a href="#if-rev-005-账单生成接口"
id="toc-if-rev-005-账单生成接口"><span
class="toc-section-number">1.5.4</span> IF-REV-005 账单生成接口</a></li>
<li><a href="#if-rev-006-缴费处理接口"
id="toc-if-rev-006-缴费处理接口"><span
class="toc-section-number">1.5.5</span> IF-REV-006 缴费处理接口</a></li>
<li><a href="#if-rev-007-账务调整接口"
id="toc-if-rev-007-账务调整接口"><span
class="toc-section-number">1.5.6</span> IF-REV-007 账务调整接口</a></li>
<li><a href="#if-rev-008-发票申请接口"
id="toc-if-rev-008-发票申请接口"><span
class="toc-section-number">1.5.7</span> IF-REV-008 发票申请接口</a></li>
<li><a href="#if-rev-009-发票结果查询接口"
id="toc-if-rev-009-发票结果查询接口"><span
class="toc-section-number">1.5.8</span> IF-REV-009
发票结果查询接口</a></li>
<li><a href="#if-rev-013-催缴任务生成与结果承接接口"
id="toc-if-rev-013-催缴任务生成与结果承接接口"><span
class="toc-section-number">1.5.9</span> IF-REV-013
催缴任务生成与结果承接接口</a></li>
<li><a href="#if-rev-010-统计查询接口"
id="toc-if-rev-010-统计查询接口"><span
class="toc-section-number">1.5.10</span> IF-REV-010
统计查询接口</a></li>
<li><a href="#if-rev-011-银行代收协同接口"
id="toc-if-rev-011-银行代收协同接口"><span
class="toc-section-number">1.5.11</span> IF-REV-011
银行代收协同接口</a></li>
<li><a href="#if-rev-012-业务参数配置接口"
id="toc-if-rev-012-业务参数配置接口"><span
class="toc-section-number">1.5.12</span> IF-REV-012
业务参数配置接口</a></li>
<li><a href="#if-cs-001-账户绑定接口"
id="toc-if-cs-001-账户绑定接口"><span
class="toc-section-number">1.5.13</span> IF-CS-001 账户绑定接口</a></li>
<li><a href="#if-cs-002-历史账单查询接口"
id="toc-if-cs-002-历史账单查询接口"><span
class="toc-section-number">1.5.14</span> IF-CS-002
历史账单查询接口</a></li>
<li><a href="#if-cs-003-在线支付下单接口"
id="toc-if-cs-003-在线支付下单接口"><span
class="toc-section-number">1.5.15</span> IF-CS-003
在线支付下单接口</a></li>
<li><a href="#if-cs-004-电子发票消费接口"
id="toc-if-cs-004-电子发票消费接口"><span
class="toc-section-number">1.5.16</span> IF-CS-004
电子发票消费接口</a></li>
<li><a href="#if-cs-006-业务办理进度接口"
id="toc-if-cs-006-业务办理进度接口"><span
class="toc-section-number">1.5.17</span> IF-CS-006
业务办理进度接口</a></li>
<li><a href="#if-cs-007-柜面扫码支付接口"
id="toc-if-cs-007-柜面扫码支付接口"><span
class="toc-section-number">1.5.18</span> IF-CS-007
柜面扫码支付接口</a></li>
<li><a href="#if-meter-001-水表档案查询接口"
id="toc-if-meter-001-水表档案查询接口"><span
class="toc-section-number">1.5.19</span> IF-METER-001
水表档案查询接口</a></li>
<li><a href="#if-meter-002-表务工单处理接口"
id="toc-if-meter-002-表务工单处理接口"><span
class="toc-section-number">1.5.20</span> IF-METER-002
表务工单处理接口</a></li>
<li><a href="#if-meter-003-库存出入库接口"
id="toc-if-meter-003-库存出入库接口"><span
class="toc-section-number">1.5.21</span> IF-METER-003
库存出入库接口</a></li>
<li><a href="#if-meter-004-集抄数据接收接口"
id="toc-if-meter-004-集抄数据接收接口"><span
class="toc-section-number">1.5.22</span> IF-METER-004
集抄数据接收接口</a></li>
<li><a href="#if-inst-001-报装申请提交接口"
id="toc-if-inst-001-报装申请提交接口"><span
class="toc-section-number">1.5.23</span> IF-INST-001
报装申请提交接口</a></li>
<li><a href="#if-inst-002-踏勘结果回填接口"
id="toc-if-inst-002-踏勘结果回填接口"><span
class="toc-section-number">1.5.24</span> IF-INST-002
踏勘结果回填接口</a></li>
<li><a href="#if-inst-003-合同签署发起接口"
id="toc-if-inst-003-合同签署发起接口"><span
class="toc-section-number">1.5.25</span> IF-INST-003
合同签署发起接口</a></li>
<li><a href="#if-inst-004-签章回执接口"
id="toc-if-inst-004-签章回执接口"><span
class="toc-section-number">1.5.26</span> IF-INST-004
签章回执接口</a></li>
<li><a href="#if-inst-005-报装归档接口"
id="toc-if-inst-005-报装归档接口"><span
class="toc-section-number">1.5.27</span> IF-INST-005
报装归档接口</a></li>
</ul></li>
<li><a href="#字段级请求与响应定义" id="toc-字段级请求与响应定义"><span
class="toc-section-number">1.6</span> 字段级请求与响应定义</a>
<ul>
<li><a href="#if-rev-001-客户信息查询接口-1"
id="toc-if-rev-001-客户信息查询接口-1"><span
class="toc-section-number">1.6.1</span> IF-REV-001 客户信息查询接口</a>
<ul>
<li><a href="#请求参数" id="toc-请求参数"><span
class="toc-section-number">1.6.1.1</span> 请求参数</a></li>
<li><a href="#响应参数" id="toc-响应参数"><span
class="toc-section-number">1.6.1.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-004-抄表数据提交接口-1"
id="toc-if-rev-004-抄表数据提交接口-1"><span
class="toc-section-number">1.6.2</span> IF-REV-004 抄表数据提交接口</a>
<ul>
<li><a href="#请求参数-1" id="toc-请求参数-1"><span
class="toc-section-number">1.6.2.1</span> 请求参数</a></li>
<li><a href="#响应参数-1" id="toc-响应参数-1"><span
class="toc-section-number">1.6.2.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-005-账单生成接口-1"
id="toc-if-rev-005-账单生成接口-1"><span
class="toc-section-number">1.6.3</span> IF-REV-005 账单生成接口</a>
<ul>
<li><a href="#请求参数-2" id="toc-请求参数-2"><span
class="toc-section-number">1.6.3.1</span> 请求参数</a></li>
<li><a href="#响应参数-2" id="toc-响应参数-2"><span
class="toc-section-number">1.6.3.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-006-缴费处理接口-1"
id="toc-if-rev-006-缴费处理接口-1"><span
class="toc-section-number">1.6.4</span> IF-REV-006 缴费处理接口</a>
<ul>
<li><a href="#请求参数-3" id="toc-请求参数-3"><span
class="toc-section-number">1.6.4.1</span> 请求参数</a></li>
<li><a href="#响应参数-3" id="toc-响应参数-3"><span
class="toc-section-number">1.6.4.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-007-账务调整接口-1"
id="toc-if-rev-007-账务调整接口-1"><span
class="toc-section-number">1.6.5</span> IF-REV-007 账务调整接口</a>
<ul>
<li><a href="#请求参数-4" id="toc-请求参数-4"><span
class="toc-section-number">1.6.5.1</span> 请求参数</a></li>
<li><a href="#响应参数-4" id="toc-响应参数-4"><span
class="toc-section-number">1.6.5.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-008-发票申请接口-1"
id="toc-if-rev-008-发票申请接口-1"><span
class="toc-section-number">1.6.6</span> IF-REV-008 发票申请接口</a>
<ul>
<li><a href="#请求参数-5" id="toc-请求参数-5"><span
class="toc-section-number">1.6.6.1</span> 请求参数</a></li>
<li><a href="#响应参数-5" id="toc-响应参数-5"><span
class="toc-section-number">1.6.6.2</span> 响应参数</a></li>
<li><a href="#申请校验与幂等约束" id="toc-申请校验与幂等约束"><span
class="toc-section-number">1.6.6.3</span> 申请校验与幂等约束</a></li>
<li><a href="#后台作废请求参数businessinvoiceinvalidate"
id="toc-后台作废请求参数businessinvoiceinvalidate"><span
class="toc-section-number">1.6.6.4</span>
后台作废请求参数(<code>/business/invoice/invalidate</code></a></li>
<li><a href="#后台红冲请求参数businessinvoicered-ink"
id="toc-后台红冲请求参数businessinvoicered-ink"><span
class="toc-section-number">1.6.6.5</span>
后台红冲请求参数(<code>/business/invoice/red-ink</code></a></li>
<li><a href="#后台作废红冲处理约束" id="toc-后台作废红冲处理约束"><span
class="toc-section-number">1.6.6.6</span> 后台作废/红冲处理约束</a></li>
</ul></li>
<li><a href="#if-rev-009-发票结果查询接口-1"
id="toc-if-rev-009-发票结果查询接口-1"><span
class="toc-section-number">1.6.7</span> IF-REV-009 发票结果查询接口</a>
<ul>
<li><a href="#请求参数-6" id="toc-请求参数-6"><span
class="toc-section-number">1.6.7.1</span> 请求参数</a></li>
<li><a href="#响应参数-6" id="toc-响应参数-6"><span
class="toc-section-number">1.6.7.2</span> 响应参数</a></li>
<li><a href="#查询补偿与状态流转约束"
id="toc-查询补偿与状态流转约束"><span
class="toc-section-number">1.6.7.3</span>
查询补偿与状态流转约束</a></li>
</ul></li>
<li><a href="#if-rev-013-催缴任务生成与结果承接接口-1"
id="toc-if-rev-013-催缴任务生成与结果承接接口-1"><span
class="toc-section-number">1.6.8</span> IF-REV-013
催缴任务生成与结果承接接口</a>
<ul>
<li><a href="#请求参数-7" id="toc-请求参数-7"><span
class="toc-section-number">1.6.8.1</span> 请求参数</a></li>
<li><a href="#响应参数-7" id="toc-响应参数-7"><span
class="toc-section-number">1.6.8.2</span> 响应参数</a></li>
<li><a href="#任务生成与状态承接约束"
id="toc-任务生成与状态承接约束"><span
class="toc-section-number">1.6.8.3</span>
任务生成与状态承接约束</a></li>
<li><a href="#失败阻断与人工核查约束"
id="toc-失败阻断与人工核查约束"><span
class="toc-section-number">1.6.8.4</span>
失败阻断与人工核查约束</a></li>
</ul></li>
<li><a href="#if-rev-010-统计查询接口-1"
id="toc-if-rev-010-统计查询接口-1"><span
class="toc-section-number">1.6.9</span> IF-REV-010 统计查询接口</a>
<ul>
<li><a href="#请求参数-8" id="toc-请求参数-8"><span
class="toc-section-number">1.6.9.1</span> 请求参数</a></li>
<li><a href="#响应参数-8" id="toc-响应参数-8"><span
class="toc-section-number">1.6.9.2</span> 响应参数</a></li>
<li><a href="#查询主题与口径约束" id="toc-查询主题与口径约束"><span
class="toc-section-number">1.6.9.3</span> 查询主题与口径约束</a></li>
</ul></li>
<li><a href="#if-rev-011-银行代收协同接口-1"
id="toc-if-rev-011-银行代收协同接口-1"><span
class="toc-section-number">1.6.10</span> IF-REV-011 银行代收协同接口</a>
<ul>
<li><a href="#请求参数-9" id="toc-请求参数-9"><span
class="toc-section-number">1.6.10.1</span> 请求参数</a></li>
<li><a href="#响应参数-9" id="toc-响应参数-9"><span
class="toc-section-number">1.6.10.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-rev-012-业务参数配置接口-1"
id="toc-if-rev-012-业务参数配置接口-1"><span
class="toc-section-number">1.6.11</span> IF-REV-012 业务参数配置接口</a>
<ul>
<li><a href="#请求参数-10" id="toc-请求参数-10"><span
class="toc-section-number">1.6.11.1</span> 请求参数</a></li>
<li><a href="#响应参数-10" id="toc-响应参数-10"><span
class="toc-section-number">1.6.11.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-cs-001-账户绑定接口-1"
id="toc-if-cs-001-账户绑定接口-1"><span
class="toc-section-number">1.6.12</span> IF-CS-001 账户绑定接口</a>
<ul>
<li><a href="#请求参数-11" id="toc-请求参数-11"><span
class="toc-section-number">1.6.12.1</span> 请求参数</a></li>
<li><a href="#响应参数-11" id="toc-响应参数-11"><span
class="toc-section-number">1.6.12.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-cs-002-历史账单查询接口-1"
id="toc-if-cs-002-历史账单查询接口-1"><span
class="toc-section-number">1.6.13</span> IF-CS-002 历史账单查询接口</a>
<ul>
<li><a href="#请求参数-12" id="toc-请求参数-12"><span
class="toc-section-number">1.6.13.1</span> 请求参数</a></li>
<li><a href="#响应参数-12" id="toc-响应参数-12"><span
class="toc-section-number">1.6.13.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-cs-004-电子发票消费接口-1"
id="toc-if-cs-004-电子发票消费接口-1"><span
class="toc-section-number">1.6.14</span> IF-CS-004 电子发票消费接口</a>
<ul>
<li><a href="#查询下载请求参数" id="toc-查询下载请求参数"><span
class="toc-section-number">1.6.14.1</span> 查询/下载请求参数</a></li>
<li><a href="#推送请求参数" id="toc-推送请求参数"><span
class="toc-section-number">1.6.14.2</span> 推送请求参数</a></li>
<li><a href="#响应参数-13" id="toc-响应参数-13"><span
class="toc-section-number">1.6.14.3</span> 响应参数</a></li>
<li><a href="#客户侧消费约束" id="toc-客户侧消费约束"><span
class="toc-section-number">1.6.14.4</span> 客户侧消费约束</a></li>
</ul></li>
<li><a href="#if-cs-003-在线支付下单接口-1"
id="toc-if-cs-003-在线支付下单接口-1"><span
class="toc-section-number">1.6.15</span> IF-CS-003 在线支付下单接口</a>
<ul>
<li><a href="#请求参数-13" id="toc-请求参数-13"><span
class="toc-section-number">1.6.15.1</span> 请求参数</a></li>
<li><a href="#响应参数-14" id="toc-响应参数-14"><span
class="toc-section-number">1.6.15.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-cs-006-业务办理进度接口-1"
id="toc-if-cs-006-业务办理进度接口-1"><span
class="toc-section-number">1.6.16</span> IF-CS-006 业务办理进度接口</a>
<ul>
<li><a href="#请求参数-14" id="toc-请求参数-14"><span
class="toc-section-number">1.6.16.1</span> 请求参数</a></li>
<li><a href="#响应参数-15" id="toc-响应参数-15"><span
class="toc-section-number">1.6.16.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-cs-007-柜面扫码支付接口-1"
id="toc-if-cs-007-柜面扫码支付接口-1"><span
class="toc-section-number">1.6.17</span> IF-CS-007 柜面扫码支付接口</a>
<ul>
<li><a href="#请求参数-15" id="toc-请求参数-15"><span
class="toc-section-number">1.6.17.1</span> 请求参数</a></li>
<li><a href="#响应参数-16" id="toc-响应参数-16"><span
class="toc-section-number">1.6.17.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-meter-001-水表档案查询接口-1"
id="toc-if-meter-001-水表档案查询接口-1"><span
class="toc-section-number">1.6.18</span> IF-METER-001
水表档案查询接口</a>
<ul>
<li><a href="#请求参数-16" id="toc-请求参数-16"><span
class="toc-section-number">1.6.18.1</span> 请求参数</a></li>
<li><a href="#响应参数-17" id="toc-响应参数-17"><span
class="toc-section-number">1.6.18.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-meter-003-库存出入库接口-1"
id="toc-if-meter-003-库存出入库接口-1"><span
class="toc-section-number">1.6.19</span> IF-METER-003 库存出入库接口</a>
<ul>
<li><a href="#请求参数-17" id="toc-请求参数-17"><span
class="toc-section-number">1.6.19.1</span> 请求参数</a></li>
<li><a href="#响应参数-18" id="toc-响应参数-18"><span
class="toc-section-number">1.6.19.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-meter-004-集抄数据接收接口-1"
id="toc-if-meter-004-集抄数据接收接口-1"><span
class="toc-section-number">1.6.20</span> IF-METER-004
集抄数据接收接口</a>
<ul>
<li><a href="#请求参数-18" id="toc-请求参数-18"><span
class="toc-section-number">1.6.20.1</span> 请求参数</a></li>
<li><a href="#响应参数-19" id="toc-响应参数-19"><span
class="toc-section-number">1.6.20.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-inst-001-报装申请提交接口-1"
id="toc-if-inst-001-报装申请提交接口-1"><span
class="toc-section-number">1.6.21</span> IF-INST-001
报装申请提交接口</a>
<ul>
<li><a href="#请求参数-19" id="toc-请求参数-19"><span
class="toc-section-number">1.6.21.1</span> 请求参数</a></li>
<li><a href="#响应参数-20" id="toc-响应参数-20"><span
class="toc-section-number">1.6.21.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-inst-002-踏勘结果回填接口-1"
id="toc-if-inst-002-踏勘结果回填接口-1"><span
class="toc-section-number">1.6.22</span> IF-INST-002
踏勘结果回填接口</a>
<ul>
<li><a href="#请求参数-20" id="toc-请求参数-20"><span
class="toc-section-number">1.6.22.1</span> 请求参数</a></li>
<li><a href="#响应参数-21" id="toc-响应参数-21"><span
class="toc-section-number">1.6.22.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-inst-004-签章回执接口-1"
id="toc-if-inst-004-签章回执接口-1"><span
class="toc-section-number">1.6.23</span> IF-INST-004 签章回执接口</a>
<ul>
<li><a href="#请求参数-21" id="toc-请求参数-21"><span
class="toc-section-number">1.6.23.1</span> 请求参数</a></li>
<li><a href="#响应参数-22" id="toc-响应参数-22"><span
class="toc-section-number">1.6.23.2</span> 响应参数</a></li>
</ul></li>
<li><a href="#if-inst-005-报装归档接口-1"
id="toc-if-inst-005-报装归档接口-1"><span
class="toc-section-number">1.6.24</span> IF-INST-005 报装归档接口</a>
<ul>
<li><a href="#请求参数-22" id="toc-请求参数-22"><span
class="toc-section-number">1.6.24.1</span> 请求参数</a></li>
<li><a href="#响应参数-23" id="toc-响应参数-23"><span
class="toc-section-number">1.6.24.2</span> 响应参数</a></li>
</ul></li>
</ul></li>
<li><a href="#关键接口时序图" id="toc-关键接口时序图"><span
class="toc-section-number">1.7</span> 关键接口时序图</a>
<ul>
<li><a href="#在线支付下单与回调时序"
id="toc-在线支付下单与回调时序"><span
class="toc-section-number">1.7.1</span> 1.
在线支付下单与回调时序</a></li>
<li><a href="#电子发票申请查询补偿与回写时序"
id="toc-电子发票申请查询补偿与回写时序"><span
class="toc-section-number">1.7.2</span> 2.
电子发票申请、查询补偿与回写时序</a></li>
<li><a href="#银行代扣批次与回盘时序"
id="toc-银行代扣批次与回盘时序"><span
class="toc-section-number">1.7.3</span> 3.
银行代扣批次与回盘时序</a></li>
<li><a href="#催缴通知下发与结果回写时序"
id="toc-催缴通知下发与结果回写时序"><span
class="toc-section-number">1.7.4</span> 4.
催缴通知下发与结果回写时序</a></li>
<li><a href="#sys-002-接口核心数据对象"
id="toc-sys-002-接口核心数据对象"><span
class="toc-section-number">1.7.5</span> SYS-002
接口核心数据对象</a></li>
<li><a href="#口径约束说明" id="toc-口径约束说明"><span
class="toc-section-number">1.7.6</span> 口径约束说明</a></li>
</ul></li>
<li><a href="#跨系统报文映射表" id="toc-跨系统报文映射表"><span
class="toc-section-number">1.8</span> 跨系统报文映射表</a>
<ul>
<li><a href="#sys-002-sys-009-支付下单与结果回写映射"
id="toc-sys-002-sys-009-支付下单与结果回写映射"><span
class="toc-section-number">1.8.1</span> 1. SYS-002 ↔︎ SYS-009
支付下单与结果回写映射</a></li>
<li><a href="#sys-002-sys-008-发票申请与结果回写映射"
id="toc-sys-002-sys-008-发票申请与结果回写映射"><span
class="toc-section-number">1.8.2</span> 2. SYS-002 ↔︎ SYS-008
发票申请与结果回写映射</a></li>
<li><a href="#sys-002-sys-009-银行代扣对账结算映射"
id="toc-sys-002-sys-009-银行代扣对账结算映射"><span
class="toc-section-number">1.8.3</span> 3. SYS-002 ↔︎ SYS-009
银行代扣、对账、结算映射</a></li>
<li><a href="#sys-002-sys-010-催缴与业务通知映射"
id="toc-sys-002-sys-010-催缴与业务通知映射"><span
class="toc-section-number">1.8.4</span> 4. SYS-002 ↔︎ SYS-010
催缴与业务通知映射</a></li>
<li><a href="#认证与鉴权" id="toc-认证与鉴权"><span
class="toc-section-number">1.8.5</span> 认证与鉴权</a></li>
<li><a href="#安全控制要求" id="toc-安全控制要求"><span
class="toc-section-number">1.8.6</span> 安全控制要求</a></li>
<li><a href="#错误码分层建议" id="toc-错误码分层建议"><span
class="toc-section-number">1.8.7</span> 错误码分层建议</a></li>
<li><a href="#典型错误码建议" id="toc-典型错误码建议"><span
class="toc-section-number">1.8.8</span> 典型错误码建议</a></li>
<li><a href="#幂等与状态冲突控制" id="toc-幂等与状态冲突控制"><span
class="toc-section-number">1.8.9</span> 幂等与状态冲突控制</a>
<ul>
<li><a href="#幂等键建议" id="toc-幂等键建议"><span
class="toc-section-number">1.8.9.1</span> 幂等键建议</a></li>
<li><a href="#状态冲突处理原则" id="toc-状态冲突处理原则"><span
class="toc-section-number">1.8.9.2</span> 状态冲突处理原则</a></li>
</ul></li>
<li><a href="#异常处理要求" id="toc-异常处理要求"><span
class="toc-section-number">1.8.10</span> 异常处理要求</a></li>
<li><a href="#设计原则" id="toc-设计原则"><span
class="toc-section-number">1.8.11</span> 设计原则</a></li>
<li><a href="#最小历史查询保留集" id="toc-最小历史查询保留集"><span
class="toc-section-number">1.8.12</span> 最小历史查询保留集</a></li>
<li><a href="#迁移验收对账接口要求" id="toc-迁移验收对账接口要求"><span
class="toc-section-number">1.8.13</span> 迁移验收对账接口要求</a></li>
<li><a href="#接口约束补充" id="toc-接口约束补充"><span
class="toc-section-number">1.8.14</span> 接口约束补充</a></li>
<li><a href="#已落地" id="toc-已落地"><span
class="toc-section-number">1.8.15</span> 已落地</a></li>
<li><a href="#部分落地" id="toc-部分落地"><span
class="toc-section-number">1.8.16</span> 部分落地</a></li>
<li><a href="#文档先行" id="toc-文档先行"><span
class="toc-section-number">1.8.17</span> 文档先行</a></li>
<li><a href="#版本迭代维护说明" id="toc-版本迭代维护说明"><span
class="toc-section-number">1.8.18</span> 版本迭代维护说明</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
<h1 data-number="1" id="福建水务营收系统接口设计文档"><span
class="header-section-number">1</span> 福建水务营收系统接口设计文档</h1>
<h2 data-number="1.1" id="文档信息"><span
class="header-section-number">1.1</span> 文档信息</h2>
<table>
<colgroup>
<col style="width: 60%" />
<col style="width: 40%" />
</colgroup>
<thead>
<tr>
<th>项目信息</th>
<th>详情</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>项目名称</strong></td>
<td>福建水务营收系统</td>
</tr>
<tr>
<td><strong>文档类型</strong></td>
<td>接口设计文档</td>
</tr>
<tr>
<td><strong>技术框架</strong></td>
<td>Spring Cloud Alibaba + RuoYi-Vue-Pro + yudao-ui-admin-vue3</td>
</tr>
<tr>
<td><strong>文档版本</strong></td>
<td>v1.0</td>
</tr>
<tr>
<td><strong>编写日期</strong></td>
<td>2026-03-11</td>
</tr>
<tr>
<td><strong>文档状态</strong></td>
<td>✅ 已完成(按版本迭代)</td>
</tr>
</tbody>
</table>
<h2 data-number="1.2" id="章节导航精简"><span
class="header-section-number">1.2</span> 章节导航(精简)</h2>
<ul>
<li><a href="#sec-scope">接口设计范围</a></li>
<li><a href="#sec-principles">设计原则与统一约束</a></li>
<li><a href="#sec-rev-interface-view">SYS-002 接口视图</a></li>
<li><a href="#sec-external-interface">外部接口设计</a></li>
<li><a href="#sec-internal-interface">内部接口设计</a></li>
<li><a href="#sec-data-object">数据对象与表口径</a></li>
<li><a href="#sec-security-exception">接口安全与异常处理</a></li>
<li><a
href="#sec-migration-readonly">历史查询与迁移校验接口口径</a></li>
<li><a href="#sec-status">实现状态说明</a></li>
</ul>
<p><a id="sec-scope"></a> ## 接口设计范围</p>
<p>本文档用于描述福建水务营收系统的接口边界、调用方式、核心接口清单以及与外围子系统的协同关系,重点统一
<code>SYS-002</code> 营收业务系统的接口口径。</p>
<p>本次接口整编遵循以下事实来源:</p>
<ul>
<li><code>docs/design/02_Detailed_Design/01_Detailed_Design.md</code></li>
<li><code>docs/design/03_Technical_Design/01_Database_Design.md</code></li>
<li><code>docs/guides/BACKEND_CURRENT_STATUS.md</code></li>
<li><code>docs/guides/BACKEND_TABLE_MAPPING.md</code></li>
<li><code>output/preview/福建水务营收系统整体架构图.html</code></li>
</ul>
<blockquote>
<p>说明:本文档优先描述正式设计边界与业务接口职责,不将 backend
中尚未明确识别的内部实现细节误写为既有接口事实。对于历史资料中存在、但当前
backend 未完全确认的接口对象,统一按“文档先行”处理。</p>
</blockquote>
<p><a id="sec-principles"></a> ## 设计原则与统一约束</p>
<h3 data-number="1.2.1" id="接口设计原则"><span
class="header-section-number">1.2.1</span> 接口设计原则</h3>
<ul>
<li><strong>统一编号</strong>:接口编号统一采用
<code>IF-UP-*</code><code>IF-REV-*</code><code>IF-CS-*</code><code>IF-METER-*</code><code>IF-INST-*</code><code>IF-EXT-*</code>
规则。</li>
<li><strong>统一边界</strong><code>SYS-002</code>
负责营收业务主流程,发票、支付结算、消息触达分别通过
<code>SYS-008</code><code>SYS-009</code><code>SYS-010</code>
协同完成。</li>
<li><strong>统一数据口径</strong>:接口数据对象优先对齐真实
<code>biz_*</code><code>bk_*</code> 表,不再沿用旧稿中的
<code>customer_*</code><code>billing_*</code><code>thirdpay_*</code><code>service_*</code>
等历史命名。</li>
<li><strong>统一协议风格</strong>:内部管理接口以 HTTPS REST
为主,跨系统集成根据场景采用 REST、文件交换、消息队列等方式。</li>
<li><strong>统一安全机制</strong>:内部接口采用统一认证鉴权,外部接口按渠道要求实施签名、回调校验、白名单和审计留痕。</li>
</ul>
<h3 data-number="1.2.2" id="通用响应格式"><span
class="header-section-number">1.2.2</span> 通用响应格式</h3>
<p>内部 REST 接口统一采用如下响应模型:</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode json"><code class="sourceCode json"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;code&quot;</span><span class="fu">:</span> <span class="dv">0</span><span class="fu">,</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;data&quot;</span><span class="fu">:</span> <span class="fu">{},</span></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;msg&quot;</span><span class="fu">:</span> <span class="st">&quot;success&quot;</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
<p>分页响应统一采用:</p>
<div class="sourceCode" id="cb2"><pre
class="sourceCode json"><code class="sourceCode json"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;code&quot;</span><span class="fu">:</span> <span class="dv">0</span><span class="fu">,</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;data&quot;</span><span class="fu">:</span> <span class="fu">{</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;list&quot;</span><span class="fu">:</span> <span class="ot">[]</span><span class="fu">,</span></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;total&quot;</span><span class="fu">:</span> <span class="dv">0</span><span class="fu">,</span></span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;pageNo&quot;</span><span class="fu">:</span> <span class="dv">1</span><span class="fu">,</span></span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;pageSize&quot;</span><span class="fu">:</span> <span class="dv">10</span></span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">},</span></span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;msg&quot;</span><span class="fu">:</span> <span class="st">&quot;success&quot;</span></span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
<p><a id="sec-rev-interface-view"></a> ## SYS-002 接口视图</p>
<h3 data-number="1.2.3" id="模块分组"><span
class="header-section-number">1.2.3</span> 模块分组</h3>
<h4 data-number="1.2.3.1" id="营收核心模块群"><span
class="header-section-number">1.2.3.1</span> 营收核心模块群</h4>
<table>
<colgroup>
<col style="width: 28%" />
<col style="width: 31%" />
<col style="width: 40%" />
</colgroup>
<thead>
<tr>
<th>模块编号</th>
<th>模块名称</th>
<th>接口职责定位</th>
</tr>
</thead>
<tbody>
<tr>
<td>REV-001</td>
<td>客户资料管理</td>
<td>客户、账户、联系人、水表绑定等主数据查询与维护</td>
</tr>
<tr>
<td>REV-002</td>
<td>抄表开账</td>
<td>抄表任务、抄表数据、校验、开账触发</td>
</tr>
<tr>
<td>REV-003</td>
<td>营业收费</td>
<td>收费受理、账单核销、柜台与渠道收款状态回写</td>
</tr>
<tr>
<td>REV-004</td>
<td>账务处理</td>
<td>调整、退款、冲正、坏账等账务处理申请与结果回写</td>
</tr>
<tr>
<td>REV-005</td>
<td>发票管理</td>
<td>发票申请、开票结果回写、票据状态查询</td>
</tr>
<tr>
<td>REV-006</td>
<td>催缴管理</td>
<td>催缴名单生成、催缴任务下发、通知结果回写</td>
</tr>
<tr>
<td>REV-007</td>
<td>统计分析</td>
<td>营收、抄表、收费、客户、渠道统计查询</td>
</tr>
<tr>
<td>REV-008</td>
<td>代收业务</td>
<td>银行代收、代扣、送盘、回盘、对账、结算协同</td>
</tr>
<tr>
<td>REV-009</td>
<td>业务参数配置</td>
<td>水价、费用组成、业务参数、页面参数等配置接口</td>
</tr>
</tbody>
</table>
<h4 data-number="1.2.3.2" id="客户服务模块群"><span
class="header-section-number">1.2.3.2</span> 客户服务模块群</h4>
<table>
<thead>
<tr>
<th>模块编号</th>
<th>模块名称</th>
<th>接口职责定位</th>
</tr>
</thead>
<tbody>
<tr>
<td>CS-001</td>
<td>账户绑定管理</td>
<td>客户绑定、解绑、默认客户切换</td>
</tr>
<tr>
<td>CS-002</td>
<td>信息查询服务</td>
<td>账单、欠费、用水、缴费、停水公告等查询</td>
</tr>
<tr>
<td>CS-003</td>
<td>在线缴费服务</td>
<td>创建线上支付订单、支付状态查询</td>
</tr>
<tr>
<td>CS-004</td>
<td>电子发票服务</td>
<td>发票申请、发票列表、下载与推送</td>
</tr>
<tr>
<td>CS-005</td>
<td>营业网点服务</td>
<td>网点查询、预约、导航、业务事项查询</td>
</tr>
<tr>
<td>CS-006</td>
<td>业务办理服务</td>
<td>更名、过户、低保、换表、自主抄表等线上办理</td>
</tr>
<tr>
<td>CS-007</td>
<td>柜面扫码支付</td>
<td>柜台二维码收款、订单生成、支付结果回写</td>
</tr>
</tbody>
</table>
<h3 data-number="1.2.4" id="跨系统协同边界"><span
class="header-section-number">1.2.4</span> 跨系统协同边界</h3>
<table>
<colgroup>
<col style="width: 24%" />
<col style="width: 22%" />
<col style="width: 31%" />
<col style="width: 22%" />
</colgroup>
<thead>
<tr>
<th>协同子系统</th>
<th>协同内容</th>
<th>SYS-002 职责</th>
<th>对方职责</th>
</tr>
</thead>
<tbody>
<tr>
<td>SYS-008 发票服务</td>
<td>发票开具、作废、红冲、票据查询</td>
<td>提供业务上下文、账单信息、客户开票信息,接收结果回写</td>
<td>承接税控与电子发票能力</td>
</tr>
<tr>
<td>SYS-009 支付与银行结算</td>
<td>微信/支付宝支付、银行实时收费、代扣、对账、结算</td>
<td>发起订单、接收支付结果、维护账单核销状态</td>
<td>承接支付渠道、交易流水、回调、对账与结算</td>
</tr>
<tr>
<td>SYS-010 消息服务</td>
<td>催缴通知、缴费结果通知、办理进度通知</td>
<td>生成待通知业务事件与目标用户</td>
<td>承接短信、微信公众号、站内信等触达能力</td>
</tr>
</tbody>
</table>
<p><a id="sec-external-interface"></a> ## 外部接口设计</p>
<h2 data-number="1.3" id="外部接口分类"><span
class="header-section-number">1.3</span> 外部接口分类</h2>
<table>
<colgroup>
<col style="width: 24%" />
<col style="width: 32%" />
<col style="width: 27%" />
<col style="width: 16%" />
</colgroup>
<thead>
<tr>
<th>接口分类</th>
<th>主要对接方</th>
<th>典型协议</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>银行代收/代扣接口</td>
<td>银行、银联、托收平台</td>
<td>文件交换 / HTTPS REST</td>
<td>主要服务 REV-008</td>
</tr>
<tr>
<td>聚合支付接口</td>
<td>微信支付、支付宝等</td>
<td>HTTPS REST + 回调</td>
<td>主要服务 REV-003、CS-003、CS-007</td>
</tr>
<tr>
<td>发票协同接口</td>
<td>税控/电子发票平台</td>
<td>HTTPS REST</td>
<td>主要服务 REV-005、CS-004</td>
</tr>
<tr>
<td>消息通知接口</td>
<td>短信平台、消息网关</td>
<td>HTTPS REST / MQ</td>
<td>主要服务 REV-006、CS-006</td>
</tr>
<tr>
<td>物联网集抄接口</td>
<td>集抄平台、IoT 平台</td>
<td>HTTPS REST / MQ</td>
<td>主要服务 REV-002</td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.1" id="if-ext-001-银行代扣批次下发接口"><span
class="header-section-number">1.3.1</span> IF-EXT-001
银行代扣批次下发接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-001</td>
</tr>
<tr>
<td>接口名称</td>
<td>银行代扣批次下发接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-008</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-002 → SYS-009 / 银行渠道</td>
</tr>
<tr>
<td>接口方式</td>
<td>文件交换或 HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>按账期生成待代扣账单批次,交由银行渠道执行代扣</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_withholding</code><code>bk_withholding_batch</code><code>bk_withholding_item</code></td>
</tr>
</tbody>
</table>
<p>关键报文信息包括:客户号、签约号、扣款金额、账期、渠道编码、批次号等。</p>
<p>边界约束: - 当前正式设计包含代扣送盘、回盘与对账的目标边界;其中
<code>BankWithholding</code>
已具备送盘、送盘状态查询、取消送盘等六条银行入口的最小实现态闭环证据。 -
正式文档可将 <code>BankWithholding</code>
六条银行入口写为“已实现”但需同时注明真实银行文件解析、SFTP/文件通道联调与运行态样本仍待补证。
- 涉及批量文件交互时,正式口径保留 <code>HTTP/REST/SFTP</code>
与文件命名、批次号约束,不下沉到特定银行私有报文字段。 -
运行时文件传输配置统一由解析器输出
<code>protocol/resolvedDir/resolvedPath/fileName/sourceScope</code>;优先级固定为
<code>TENANT_CHANNEL &gt; TENANT &gt; CHANNEL &gt; DEFAULT</code>,高优先级仅覆盖部分字段时按字段级回退。
- 命中协议缺少
<code>host/port/username/credentialRef</code>、阶段目录为空或模板变量非法时,接口必须立即返回配置错误,不得回退到错误租户或错误通道。</p>
<h3 data-number="1.3.2" id="if-ext-002-银行代扣回盘接收接口"><span
class="header-section-number">1.3.2</span> IF-EXT-002
银行代扣回盘接收接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-002</td>
</tr>
<tr>
<td>接口名称</td>
<td>银行代扣回盘接收接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-008</td>
</tr>
<tr>
<td>调用方向</td>
<td>银行渠道 / SYS-009 → SYS-002</td>
</tr>
<tr>
<td>接口方式</td>
<td>文件交换或 HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>接收代扣成功、失败、退票等结果并回写业务状态</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>bk_withholding_batch</code><code>bk_withholding_item</code><code>bk_transaction</code><code>bk_transaction_exception</code></td>
</tr>
</tbody>
</table>
<p>边界约束: -
回盘处理、回盘状态查询、差异核对和结算确认属于同一能力簇;其中
<code>BankWithholding</code>
的回盘与回盘状态查询已具备最小实现态闭环证据,但完整差异核对、异常补偿和结算确认仍属后续完善项。
-
当前正式文档允许保留回盘文件名、批次号、回盘日期、结果状态等正式字段约束,但不得把未落地的真实文件解析、异常补偿和结算闭环写成既成事实。</p>
<h3 data-number="1.3.3" id="if-ext-003-银行实时收费接口"><span
class="header-section-number">1.3.3</span> IF-EXT-003
银行实时收费接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-003</td>
</tr>
<tr>
<td>接口名称</td>
<td>银行实时收费接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-003 / REV-008</td>
</tr>
<tr>
<td>调用方向</td>
<td>银行渠道 / SYS-009 ↔︎ SYS-002</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>支撑柜台、网银、手机银行实时查询应收并完成缴费</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>bk_transaction</code><code>bk_transaction_callback</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - 当前 backend
已确认欠费查询与缴费处理具备实现证据,可作为正式文档中的已落地基础能力。
-
代理收费对账、汇总对账和当日未对账红冲等扩展能力当前仍未形成完整实现闭环,正式文档须标注为后续完善项。</p>
<h3 data-number="1.3.4" id="银行签约状态查询与批次控制扩展接口"><span
class="header-section-number">1.3.4</span>
银行签约、状态查询与批次控制扩展接口</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 25%" />
<col style="width: 19%" />
<col style="width: 19%" />
</colgroup>
<thead>
<tr>
<th>接口动作</th>
<th>推荐归属</th>
<th>当前代码路径</th>
<th>当前状态</th>
<th>正式口径</th>
</tr>
</thead>
<tbody>
<tr>
<td>代扣签约</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#signing</code></td>
<td>已实现</td>
<td>可作为正式接口能力写入</td>
</tr>
<tr>
<td>代扣解约</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#termination</code></td>
<td>已实现</td>
<td>可作为正式接口能力写入</td>
</tr>
<tr>
<td>托收签约</td>
<td>REV-008 / SYS-009</td>
<td><code>BankCollectionController#signing</code></td>
<td>已实现</td>
<td>可作为正式接口能力写入</td>
</tr>
<tr>
<td>托收解约</td>
<td>REV-008 / SYS-009</td>
<td><code>BankCollectionController#termination</code></td>
<td>已实现</td>
<td>可作为正式接口能力写入</td>
</tr>
<tr>
<td>客户状态查询</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#customerCheck</code> /
<code>BankCollectionController#customerCheck</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与结果状态</td>
</tr>
<tr>
<td>送盘</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#sendDisc</code> /
<code>BankCollectionController#sendDisc</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与批次发送语义</td>
</tr>
<tr>
<td>送盘状态查询</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#sendDiscCheck</code> /
<code>BankCollectionController#sendDiscCheck</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与批次状态语义</td>
</tr>
<tr>
<td>取消送盘</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#cancelDisc</code> /
<code>BankCollectionController#cancelDisc</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与可取消条件</td>
</tr>
<tr>
<td>回盘</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#backDisc</code> /
<code>BankCollectionController#backDisc</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与回盘处理语义</td>
</tr>
<tr>
<td>回盘状态查询</td>
<td>REV-008 / SYS-009</td>
<td><code>BankWithholdingController#backDiscCheck</code> /
<code>BankCollectionController#backDiscCheck</code></td>
<td>代扣已实现;托收部分实现</td>
<td>代扣可作为正式接口能力写入;托收仅保留正式契约边界与回盘状态语义</td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.5" id="if-ext-004-聚合支付下单接口"><span
class="header-section-number">1.3.5</span> IF-EXT-004
聚合支付下单接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-004</td>
</tr>
<tr>
<td>接口名称</td>
<td>聚合支付下单接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-003 / CS-003 / CS-007</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-002 → SYS-009</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>创建微信、支付宝等支付订单,返回二维码、收银参数或支付跳转信息</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_charge</code><code>biz_collection</code><code>bk_transaction</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.6" id="if-ext-005-聚合支付结果回调接口"><span
class="header-section-number">1.3.6</span> IF-EXT-005
聚合支付结果回调接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-005</td>
</tr>
<tr>
<td>接口名称</td>
<td>聚合支付结果回调接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-003 / CS-003 / CS-007</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-009 → SYS-002</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST + 签名校验</td>
</tr>
<tr>
<td>业务说明</td>
<td>接收支付成功、失败、关闭、退款等异步事件,并更新收费状态</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>bk_transaction_callback</code><code>biz_collection</code><code>biz_charge</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.7" id="if-ext-006-发票开具协同接口"><span
class="header-section-number">1.3.7</span> IF-EXT-006
发票开具协同接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-006</td>
</tr>
<tr>
<td>接口名称</td>
<td>发票开具协同接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-005 / CS-004</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-002 → SYS-008</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>传递账单、客户、抬头、税率等信息,由 SYS-008 承接开票</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_invoice</code><code>biz_invoice_taxrate</code><code>biz_cust_invoice</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.8" id="if-ext-007-发票结果回写接口"><span
class="header-section-number">1.3.8</span> IF-EXT-007
发票结果回写接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-007</td>
</tr>
<tr>
<td>接口名称</td>
<td>发票结果回写接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-005 / CS-004</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-008 → SYS-002</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST</td>
</tr>
<tr>
<td>业务说明</td>
<td>回写开票状态、票据编号、下载地址、作废/红冲结果</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_invoice</code><code>biz_process_invoice_modifys</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.3.9" id="if-ext-008-消息触达接口"><span
class="header-section-number">1.3.9</span> IF-EXT-008 消息触达接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-008</td>
</tr>
<tr>
<td>接口名称</td>
<td>消息触达接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-006 / CS-006</td>
</tr>
<tr>
<td>调用方向</td>
<td>SYS-002 → SYS-010</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST 或 MQ</td>
</tr>
<tr>
<td>业务说明</td>
<td>承接催缴通知、办理进度通知、缴费结果通知等消息事件,返回受理结果并回传执行结果</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_charge</code><code>biz_process</code><code>biz_operat_log</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - <code>IF-EXT-008</code>
只负责渠道触达执行与回执回传,不负责催缴候选对象筛选、任务生成或业务状态主控。
- <code>SYS-010</code> 回传的渠道执行结果需由 <code>SYS-002</code>
映射为
<code>PENDING</code><code>SUCCESS</code><code>FAIL</code><code>MANUAL_VERIFIED</code>
四态业务状态。 - 当仅返回受理成功但未返回终态时,<code>SYS-002</code>
维持 <code>PENDING</code>;若长期无终态且人工核查确认,可转
<code>MANUAL_VERIFIED</code>。 - 消息模板、供应商协议和重试细节由
<code>SYS-010</code> 管理,不在 <code>IF-EXT-008</code>
展开实现细节。</p>
<h3 data-number="1.3.10" id="if-ext-009-集抄数据接入接口"><span
class="header-section-number">1.3.10</span> IF-EXT-009
集抄数据接入接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-EXT-009</td>
</tr>
<tr>
<td>接口名称</td>
<td>集抄数据接入接口</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-002</td>
</tr>
<tr>
<td>调用方向</td>
<td>IoT 平台 / 集抄平台 → SYS-002</td>
</tr>
<tr>
<td>接口方式</td>
<td>HTTPS REST / MQ</td>
</tr>
<tr>
<td>业务说明</td>
<td>接收远传读数、设备状态、异常告警,触发抄表校验与开账准备</td>
</tr>
<tr>
<td>核心数据支撑</td>
<td><code>biz_meter_read</code><code>biz_reading_data</code><code>biz_last_reading</code></td>
</tr>
</tbody>
</table>
<p><a id="sec-internal-interface"></a> ## 内部接口设计</p>
<h2 data-number="1.4" id="sys-002-内部接口清单"><span
class="header-section-number">1.4</span> SYS-002 内部接口清单</h2>
<h3 data-number="1.4.1" id="rev-接口清单"><span
class="header-section-number">1.4.1</span> REV 接口清单</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>接口编号</th>
<th>接口名称</th>
<th>归属模块</th>
<th>主要用途</th>
<th>主要数据对象</th>
</tr>
</thead>
<tbody>
<tr>
<td>IF-REV-001</td>
<td>客户信息查询接口</td>
<td>REV-001</td>
<td>查询客户档案、联系人、账户、水表绑定关系</td>
<td><code>biz_cust</code><code>biz_account</code><code>biz_cust_contact</code><code>biz_cust_meter</code></td>
</tr>
<tr>
<td>IF-REV-002</td>
<td>客户主数据维护接口</td>
<td>REV-001</td>
<td>新增、变更客户档案及开票/托收/代扣关系</td>
<td><code>biz_cust</code><code>biz_cust_invoice</code><code>biz_cust_collection_rel</code><code>biz_cust_withholding_rel</code></td>
</tr>
<tr>
<td>IF-REV-003</td>
<td>抄表任务下发接口</td>
<td>REV-002</td>
<td>按册本、片区、抄表周期生成抄表任务</td>
<td><code>biz_meter_book</code><code>biz_meter_read</code></td>
</tr>
<tr>
<td>IF-REV-004</td>
<td>抄表数据提交接口</td>
<td>REV-002</td>
<td>提交抄表数据、图片、异常标记并触发校验</td>
<td><code>biz_reading_data</code><code>biz_reading_logs</code><code>biz_last_reading</code></td>
</tr>
<tr>
<td>IF-REV-005</td>
<td>账单生成接口</td>
<td>REV-002</td>
<td>根据抄表结果、价格模板和费用组成生成账单</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_price_template</code><code>biz_cost_component</code></td>
</tr>
<tr>
<td>IF-REV-006</td>
<td>缴费处理接口</td>
<td>REV-003</td>
<td>创建收费记录、核销账单、回写收款结果</td>
<td><code>biz_collection</code><code>biz_charge</code><code>bk_transaction</code></td>
</tr>
<tr>
<td>IF-REV-007</td>
<td>账务调整接口</td>
<td>REV-004</td>
<td>发起金额调整、退款、冲正、坏账等业务处理</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_operat_log</code></td>
</tr>
<tr>
<td>IF-REV-008</td>
<td>发票申请接口</td>
<td>REV-005</td>
<td>后台发起单笔/批量开票申请并生成受理主键</td>
<td><code>biz_invoice</code><code>biz_invoice_taxrate</code><code>biz_cust_invoice</code></td>
</tr>
<tr>
<td>IF-REV-009</td>
<td>发票结果查询接口</td>
<td>REV-005</td>
<td>按申请单号/受理号查询开票结果并执行补偿查询</td>
<td><code>biz_invoice</code><code>biz_operat_log</code></td>
</tr>
<tr>
<td>IF-REV-013</td>
<td>催缴任务生成与结果承接接口</td>
<td>REV-006</td>
<td>生成催缴任务、查询任务结果并承接四态状态回写</td>
<td><code>biz_charge</code><code>biz_operat_log</code>、历史催缴查询口径</td>
</tr>
<tr>
<td>IF-REV-010</td>
<td>统计查询接口</td>
<td>REV-007</td>
<td>查询营收、收费、欠费、渠道、客户统计结果</td>
<td>聚合视图 / 统计结果集</td>
</tr>
<tr>
<td>IF-REV-011</td>
<td>银行代收协同接口</td>
<td>REV-008</td>
<td>发起代扣、回盘、对账、结算协同</td>
<td><code>biz_withholding</code><code>bk_reconcile_batch</code><code>bk_settlement_batch</code></td>
</tr>
<tr>
<td>IF-REV-012</td>
<td>业务参数配置接口</td>
<td>REV-009</td>
<td>查询和维护价格模板、优惠方案、业务参数配置</td>
<td><code>biz_parameter_settings</code><code>biz_price_*</code><code>biz_page_settings*</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.4.2" id="cs-接口清单"><span
class="header-section-number">1.4.2</span> CS 接口清单</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>接口编号</th>
<th>接口名称</th>
<th>归属模块</th>
<th>主要用途</th>
<th>主要数据对象</th>
</tr>
</thead>
<tbody>
<tr>
<td>IF-CS-001</td>
<td>账户绑定接口</td>
<td>CS-001</td>
<td>绑定、解绑、切换默认客户</td>
<td><code>biz_cust_app_binds</code><code>biz_cust</code></td>
</tr>
<tr>
<td>IF-CS-002</td>
<td>历史账单查询接口</td>
<td>CS-002</td>
<td>查询账单、欠费、用水历史、缴费记录</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_reading_data</code></td>
</tr>
<tr>
<td>IF-CS-003</td>
<td>在线支付下单接口</td>
<td>CS-003</td>
<td>创建微信/支付宝线上支付订单</td>
<td><code>biz_charge</code><code>biz_collection</code><code>bk_transaction</code></td>
</tr>
<tr>
<td>IF-CS-004</td>
<td>电子发票消费接口</td>
<td>CS-004</td>
<td>查询、下载、推送本人已开具电子发票</td>
<td><code>biz_invoice</code><code>biz_cust_invoice</code></td>
</tr>
<tr>
<td>IF-CS-005</td>
<td>网点与业务办理接口</td>
<td>CS-005</td>
<td>查询营业网点、预约信息、可办事项</td>
<td><code>biz_outlets</code><code>biz_business_types</code></td>
</tr>
<tr>
<td>IF-CS-006</td>
<td>业务办理进度接口</td>
<td>CS-006</td>
<td>提交业务申请、查询办理进度与附件</td>
<td><code>biz_process</code><code>biz_process_transfer</code><code>biz_content_attach</code></td>
</tr>
<tr>
<td>IF-CS-007</td>
<td>柜面扫码支付接口</td>
<td>CS-007</td>
<td>创建柜面扫码支付订单并回写结果</td>
<td><code>biz_collection</code><code>bk_transaction</code><code>biz_charge</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.4.3" id="up-接口清单"><span
class="header-section-number">1.4.3</span> UP 接口清单</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>接口编号</th>
<th>接口名称</th>
<th>归属模块</th>
<th>主要用途</th>
<th>主要数据对象</th>
</tr>
</thead>
<tbody>
<tr>
<td>IF-UP-001</td>
<td>用户登录接口</td>
<td>UP-001</td>
<td>用户登录并获取访问令牌</td>
<td><code>system_users</code><code>system_oauth2_access_token</code><code>system_login_log</code></td>
</tr>
<tr>
<td>IF-UP-002</td>
<td>用户信息接口</td>
<td>UP-001</td>
<td>查询当前登录用户上下文信息</td>
<td><code>system_users</code><code>system_dept</code></td>
</tr>
<tr>
<td>IF-UP-003</td>
<td>权限校验接口</td>
<td>UP-002</td>
<td>校验菜单、按钮、数据权限</td>
<td><code>system_role</code><code>system_role_menu</code><code>system_user_role</code></td>
</tr>
<tr>
<td>IF-UP-004</td>
<td>参数字典接口</td>
<td>UP-003</td>
<td>查询字典、参数、配置项</td>
<td><code>system_dict_type</code><code>system_dict_data</code><code>biz_parameter_settings</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.4.4" id="meter-接口清单"><span
class="header-section-number">1.4.4</span> METER 接口清单</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>接口编号</th>
<th>接口名称</th>
<th>归属模块</th>
<th>主要用途</th>
<th>主要数据对象</th>
</tr>
</thead>
<tbody>
<tr>
<td>IF-METER-001</td>
<td>水表档案查询接口</td>
<td>METER-001</td>
<td>查询水表档案、状态与生命周期信息</td>
<td><code>biz_meter</code><code>biz_meter_model</code><code>biz_meter_caliber</code><code>biz_meter_range</code></td>
</tr>
<tr>
<td>IF-METER-002</td>
<td>表务工单处理接口</td>
<td>METER-003</td>
<td>提交换表、移表、校表、维修等工单处理结果</td>
<td><code>biz_meter_log</code><code>biz_process</code><code>biz_process_transfer</code></td>
</tr>
<tr>
<td>IF-METER-003</td>
<td>库存出入库接口</td>
<td>METER-002</td>
<td>处理领用、退库、报废等库存动作</td>
<td><code>biz_meter_in_out</code><code>biz_meter_in_out_rel</code></td>
</tr>
<tr>
<td>IF-METER-004</td>
<td>集抄数据接收接口</td>
<td>METER-003</td>
<td>接收远传抄表、异常告警并同步状态</td>
<td><code>biz_reading_data</code><code>biz_meter_read</code><code>biz_last_reading</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.4.5" id="inst-接口清单"><span
class="header-section-number">1.4.5</span> INST 接口清单</h3>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 19%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>接口编号</th>
<th>接口名称</th>
<th>归属模块</th>
<th>主要用途</th>
<th>主要数据对象</th>
</tr>
</thead>
<tbody>
<tr>
<td>IF-INST-001</td>
<td>报装申请提交接口</td>
<td>INST-001</td>
<td>提交报装申请、附件与基础资料</td>
<td><code>biz_process</code><code>biz_content</code><code>biz_content_attach</code></td>
</tr>
<tr>
<td>IF-INST-002</td>
<td>踏勘结果回填接口</td>
<td>INST-001</td>
<td>回填现场踏勘、方案与审核结果</td>
<td><code>biz_process_transfer</code><code>biz_business_datas</code></td>
</tr>
<tr>
<td>IF-INST-003</td>
<td>合同签署发起接口</td>
<td>INST-002</td>
<td>发起电子签章任务并传输合同信息</td>
<td><code>installation_contract</code><code>installation_signature</code></td>
</tr>
<tr>
<td>IF-INST-004</td>
<td>签章回执接口</td>
<td>INST-002</td>
<td>回写签章结果、时间戳和存证信息</td>
<td><code>installation_signature</code><code>installation_evidence</code></td>
</tr>
<tr>
<td>IF-INST-005</td>
<td>报装归档接口</td>
<td>INST-003</td>
<td>归档申请、合同、验收与签章回执资料</td>
<td><code>biz_content_attach</code><code>installation_evidence</code></td>
</tr>
</tbody>
</table>
<h2 data-number="1.5" id="关键内部接口说明"><span
class="header-section-number">1.5</span> 关键内部接口说明</h2>
<h3 data-number="1.5.1" id="if-up-001-用户登录接口"><span
class="header-section-number">1.5.1</span> IF-UP-001 用户登录接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-UP-001</td>
</tr>
<tr>
<td>归属模块</td>
<td>UP-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/system/auth/login</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>统一认证入口,签发访问令牌并输出用户上下文</td>
</tr>
<tr>
<td>核心表</td>
<td><code>system_users</code><code>system_oauth2_access_token</code><code>system_login_log</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.2" id="if-rev-001-客户信息查询接口"><span
class="header-section-number">1.5.2</span> IF-REV-001
客户信息查询接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-001</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>GET</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/customer/{id}</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>查询客户主档、账户状态、联系人、水表绑定及开票资料</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_cust</code><code>biz_account</code><code>biz_cust_contact</code><code>biz_cust_meter</code><code>biz_cust_invoice</code></td>
</tr>
</tbody>
</table>
<p>响应结果以客户主档为中心,组合返回账户余额、欠费金额、联系人列表、水表列表与开票资料摘要。</p>
<h3 data-number="1.5.3" id="if-rev-004-抄表数据提交接口"><span
class="header-section-number">1.5.3</span> IF-REV-004
抄表数据提交接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-004</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/reading-data/create</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>接收人工或远传抄表数据,执行校验、估抄判断、异常标记</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_meter_read</code><code>biz_reading_data</code><code>biz_last_reading</code><code>biz_reading_logs</code></td>
</tr>
</tbody>
</table>
<p>典型请求体:</p>
<div class="sourceCode" id="cb3"><pre
class="sourceCode json"><code class="sourceCode json"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;meterReadId&quot;</span><span class="fu">:</span> <span class="dv">1001</span><span class="fu">,</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;meterId&quot;</span><span class="fu">:</span> <span class="dv">2001</span><span class="fu">,</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;readTime&quot;</span><span class="fu">:</span> <span class="st">&quot;2026-03-11 09:30:00&quot;</span><span class="fu">,</span></span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;currentReading&quot;</span><span class="fu">:</span> <span class="fl">156.32</span><span class="fu">,</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;readType&quot;</span><span class="fu">:</span> <span class="st">&quot;MANUAL&quot;</span><span class="fu">,</span></span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;photoList&quot;</span><span class="fu">:</span> <span class="ot">[</span></span>
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;file-001&quot;</span><span class="ot">,</span></span>
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;file-002&quot;</span></span>
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span><span class="fu">,</span></span>
<span id="cb3-11"><a href="#cb3-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;gps&quot;</span><span class="fu">:</span> <span class="st">&quot;119.2965,26.0745&quot;</span><span class="fu">,</span></span>
<span id="cb3-12"><a href="#cb3-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;remark&quot;</span><span class="fu">:</span> <span class="st">&quot;现场抄表正常&quot;</span></span>
<span id="cb3-13"><a href="#cb3-13" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
<h3 data-number="1.5.4" id="if-rev-005-账单生成接口"><span
class="header-section-number">1.5.4</span> IF-REV-005 账单生成接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-005</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/charge/generate</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>基于抄表结果、水价模板、阶梯规则、费用组成生成账单,并返回成功清单、失败清单与生成汇总</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_price_template</code><code>biz_price_tier_adjustment</code><code>biz_cost_component</code></td>
</tr>
</tbody>
</table>
<p>边界约束: -
本接口只负责抄表校验完成后的账单生成,不直接承接收费核销、发票申请、催缴执行或统计汇总。
- 正式请求范围可按抄表批次、客户集合或抄表任务集合组织;当前 backend
已实现入口为 <code>/business/charge/charge-batch</code>
<code>/business/charge/check-charge-batch</code>,请求体仅接受
<code>readingDataIds</code>。 -
价格模板、费用组成、阶梯规则、计划用水方案等任一关键规则缺失时,应阻断生成并返回失败原因,而不是生成不完整账单。
- 特殊开账、无码客户开账、罚款类开账等非标准来源仍沿用同一
<code>biz_charge</code> / <code>biz_charge_detail</code>
承接口径,不单设平行在线账表。 - 当前实现仅支持
<code>SettleTypeEnum.ACTUAL_USAGE</code>;固定水量、按人口数、最低消费等结算方式暂未纳入现有开账链路。</p>
<p>当前 backend 证据与契约缺口: -
<code>ChargeServiceImpl.generateCheckChargeBatch</code> 已支持“批量复核
+ 批量开账”,并通过 <code>generateSingleChargeWithCache</code> 写入
<code>biz_charge</code><code>biz_charge_detail</code>,说明主明细承接路径已存在。
- 返回值当前为
<code>CommonResult&lt;String&gt;</code>仅表达“本次复核成功X条 /
本次开账成功Y条”尚未提供正式契约要求的成功清单、失败清单、生成汇总和主明细结果对象。
- 单条失败当前主要以 <code>log.warn</code> + <code>false</code>
跳过处理,尚未形成可直接对外返回的结构化阻断码、失败原因集合与对象范围。</p>
<h3 data-number="1.5.5" id="if-rev-006-缴费处理接口"><span
class="header-section-number">1.5.5</span> IF-REV-006 缴费处理接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-006</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-003</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/collection/create</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>处理柜台收费、预存抵扣、渠道收款确认与账单核销</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_collection</code><code>biz_charge</code><code>bk_transaction</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.6" id="if-rev-007-账务调整接口"><span
class="header-section-number">1.5.6</span> IF-REV-007 账务调整接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-007</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-004</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/accounting/adjust</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>发起水量调整、金额调整、退款、冲正、坏账申请五类账务处理,并统一返回处理结果、审批边界与账单回写状态</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_operat_log</code><code>bk_transaction*</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - 一期仅覆盖
<code>USAGE</code><code>AMOUNT</code><code>REFUND</code><code>REVERSE</code><code>BAD_DEBT</code>
五类 <code>adjustType</code>。 - 退款、冲正必须提供
<code>sourceTradeNo</code>
并完成原交易校验;其他场景不得误用支付流水替代业务依据。 -
审批相关内容仅保留
<code>approvalRequired</code><code>PENDING_APPROVAL</code>
与边界说明,不展开 BPM 节点与审批回写实现细节。 -
<code>resultStatus</code><code>writeBackStatus</code>
必须分离表达,前者表示处理结论,后者表示账单状态回写结论。</p>
<h3 data-number="1.5.7" id="if-rev-008-发票申请接口"><span
class="header-section-number">1.5.7</span> IF-REV-008 发票申请接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-008</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-005</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/business/invoice/apply</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>后台对已收费未开票账单发起单笔/批量开票申请,并在同一管理域内受理作废/红冲后处理入口</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_invoice</code><code>biz_invoice_taxrate</code><code>biz_cust_invoice</code></td>
</tr>
</tbody>
</table>
<p>边界约束: -
一期仅支持后台营业收费员/财务人员发起申请,客户侧不直接调用本接口。 -
发票开具、作废、红冲能力均由 <code>SYS-008</code>
统一承接税控侧处理,<code>SYS-002</code>
负责业务单据归集、申请发起、后台作废/红冲触发、查询补偿与结果落账。 -
后台发票后处理沿同一管理域补充 <code>/business/invoice/invalidate</code>
<code>/business/invoice/red-ink</code>
两个入口,分别承接作废与红冲动作;处理结果继续通过
<code>IF-REV-009</code><code>IF-EXT-007</code> 统一收口。 -
原始单账单不支持直接任意部分金额开票;如需多张发票,应基于拆账/分账后的账单集合申请。</p>
<h3 data-number="1.5.8" id="if-rev-009-发票结果查询接口"><span
class="header-section-number">1.5.8</span> IF-REV-009
发票结果查询接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-009</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-005</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/business/invoice/query</code>(补偿查询:<code>/business/invoice/query/compensate</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>后台按申请单号/受理号查询开票、作废或红冲结果,并支持系统补偿查询兜底</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_invoice</code><code>biz_operat_log</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.9" id="if-rev-013-催缴任务生成与结果承接接口"><span
class="header-section-number">1.5.9</span> IF-REV-013
催缴任务生成与结果承接接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-013</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-006</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/reminder/task</code>(查询:<code>/admin-api/revenue/reminder/task/query</code>,人工核查:<code>/admin-api/revenue/reminder/task/manual-verify</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>基于欠费账单、催缴策略和渠道偏好生成催缴任务,查询任务状态,并承接业务侧四态结果与处置引用</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_operat_log</code>、历史催缴查询口径</td>
</tr>
</tbody>
</table>
<p>边界约束: - <code>IF-REV-013</code><code>REV-006</code>
的正式业务接口编号,不再复用 <code>IF-REV-009</code>。 -
<code>SYS-002</code>
负责催缴对象筛选、任务生成、业务事件号维护、四态状态承接和历史查询;<code>SYS-010</code>
只负责触达执行与结果回传。 - 接口状态固定为
<code>PENDING</code><code>SUCCESS</code><code>FAIL</code><code>MANUAL_VERIFIED</code>
四态,不在本轮扩展“已阅读”“已补发”等细粒度业务状态。 -
停复水仅作为联动边界与处置引用承接项,不在本接口中展开停复水内部流程。</p>
<h3 data-number="1.5.10" id="if-rev-010-统计查询接口"><span
class="header-section-number">1.5.10</span> IF-REV-010 统计查询接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-010</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-007</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/statistics/query</code>(导出:<code>/admin-api/revenue/statistics/export</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>面向营收经营分析场景查询统计主题、维度汇总和指标结果,并在权限范围内支持导出</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_collection</code><code>bk_transaction</code><code>biz_cust</code><code>biz_account</code><code>biz_meter_book</code><code>biz_reading_data</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - <code>IF-REV-010</code>
只承接经营统计查询不扩展到预测分析、BI 专题大屏或独立数仓查询。 -
统计口径按“主题 + 维度 + 指标”组织,避免仅以报表名称表达接口范围。 -
导出属于查询扩展能力,必须受数据权限和导出权限控制。 -
没有明确实现证据的独立统计表、专题分析表或离线汇总表不得写成既成事实。</p>
<h3 data-number="1.5.11" id="if-rev-011-银行代收协同接口"><span
class="header-section-number">1.5.11</span> IF-REV-011
银行代收协同接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-011</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-008</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/bank/withholding/batch</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>创建代扣批次、发起对账、接收结算回写</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_withholding</code><code>bk_withholding_batch</code><code>bk_reconcile_batch</code><code>bk_settlement_batch</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - <code>IF-REV-011</code>
在当前阶段主要承接正式业务协同边界,不等同于送盘、回盘、对账、结算全部已闭环。
- 已确认的后台管理入口可证明批次、差异、结算台账对象存在,但不能替代银行
app 协同接口的完成度判断。</p>
<h3 data-number="1.5.12" id="if-rev-012-业务参数配置接口"><span
class="header-section-number">1.5.12</span> IF-REV-012
业务参数配置接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-REV-012</td>
</tr>
<tr>
<td>归属模块</td>
<td>REV-009</td>
</tr>
<tr>
<td>请求方式</td>
<td>GET / POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/revenue/parameter/config</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>查询与维护价格模板、业务参数、页面参数与规则配置</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_parameter_settings</code><code>biz_price_*</code><code>biz_page_settings*</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.13" id="if-cs-001-账户绑定接口"><span
class="header-section-number">1.5.13</span> IF-CS-001 账户绑定接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-001</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/app-api/customer/account/bind</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>绑定、解绑、切换默认客户账户,并校验渠道身份与客户关系</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_cust_app_binds</code><code>biz_cust</code><code>biz_account</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.14" id="if-cs-002-历史账单查询接口"><span
class="header-section-number">1.5.14</span> IF-CS-002
历史账单查询接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-002</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>GET</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/app-api/customer/bill/history</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>查询账单、欠费、缴费、用水历史及发票摘要</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_charge_detail</code><code>biz_reading_data</code><code>biz_invoice</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.15" id="if-cs-003-在线支付下单接口"><span
class="header-section-number">1.5.15</span> IF-CS-003
在线支付下单接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-003</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-003</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/app-api/customer/payment/order</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>面向微网厅、微信、支付宝等客户渠道创建支付订单</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_charge</code><code>biz_collection</code><code>bk_transaction</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - 支付通道、支付回调、对账流水由 <code>SYS-009</code>
负责。 - <code>SYS-002</code>
负责校验待缴账单、生成业务订单、更新核销结果。</p>
<h3 data-number="1.5.16" id="if-cs-004-电子发票消费接口"><span
class="header-section-number">1.5.16</span> IF-CS-004
电子发票消费接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-004</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-004</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/business/invoice/customer/query</code><code>/business/invoice/customer/download</code><code>/business/invoice/customer/push</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>面向客户渠道查询、下载、推送本人已开具电子发票</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_invoice</code><code>biz_cust_invoice</code><code>biz_invoice_taxrate</code></td>
</tr>
</tbody>
</table>
<p>边界约束: - 一期客户侧仅消费已形成 <code>SUCCESS</code>
终态且具备票据地址的电子发票结果,不直接发起开票申请。 -
发票作废、红冲仍由 <code>SYS-008</code>
统一承接税控侧处理;<code>IF-CS-004</code>
仅消费当前仍可展示、下载、推送的有效电子发票结果,不开放客户侧直接发起作废或红冲。</p>
<h3 data-number="1.5.17" id="if-cs-006-业务办理进度接口"><span
class="header-section-number">1.5.17</span> IF-CS-006
业务办理进度接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-006</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-006</td>
</tr>
<tr>
<td>请求方式</td>
<td>GET / POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/app-api/customer/process</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>提交业务办理申请、查询办理进度、补充附件资料</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_process</code><code>biz_process_transfer</code><code>biz_business_datas</code><code>biz_content_attach</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.18" id="if-cs-007-柜面扫码支付接口"><span
class="header-section-number">1.5.18</span> IF-CS-007
柜面扫码支付接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-CS-007</td>
</tr>
<tr>
<td>归属模块</td>
<td>CS-007</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/counter/scan-pay/create</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>柜台生成扫码订单,接收支付结果并回写收费状态</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_collection</code><code>bk_transaction</code><code>biz_charge</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.19" id="if-meter-001-水表档案查询接口"><span
class="header-section-number">1.5.19</span> IF-METER-001
水表档案查询接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-METER-001</td>
</tr>
<tr>
<td>归属模块</td>
<td>METER-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>GET</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/meter/archive/{id}</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>查询水表档案、状态、参数与生命周期信息</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_meter</code><code>biz_meter_model</code><code>biz_meter_caliber</code><code>biz_meter_range</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.20" id="if-meter-002-表务工单处理接口"><span
class="header-section-number">1.5.20</span> IF-METER-002
表务工单处理接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-METER-002</td>
</tr>
<tr>
<td>归属模块</td>
<td>METER-003</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/meter/work-order/handle</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>提交换表、移表、校表、维修等工单处理结果并回写设备状态</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_meter_log</code><code>biz_process</code><code>biz_process_transfer</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.21" id="if-meter-003-库存出入库接口"><span
class="header-section-number">1.5.21</span> IF-METER-003
库存出入库接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-METER-003</td>
</tr>
<tr>
<td>归属模块</td>
<td>METER-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/meter/stock/in-out</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>处理领用、退库、报废等库存动作并更新生命周期状态</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_meter_in_out</code><code>biz_meter_in_out_rel</code><code>biz_meter</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.22" id="if-meter-004-集抄数据接收接口"><span
class="header-section-number">1.5.22</span> IF-METER-004
集抄数据接收接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-METER-004</td>
</tr>
<tr>
<td>归属模块</td>
<td>METER-003</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/meter/iot/reading/receive</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>接收远传抄表、设备状态和异常告警并同步读数状态</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_reading_data</code><code>biz_meter_read</code><code>biz_last_reading</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.23" id="if-inst-001-报装申请提交接口"><span
class="header-section-number">1.5.23</span> IF-INST-001
报装申请提交接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-INST-001</td>
</tr>
<tr>
<td>归属模块</td>
<td>INST-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/installation/apply/create</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>提交报装申请、基础资料与附件,并创建流程实例</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_process</code><code>biz_content</code><code>biz_content_attach</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.24" id="if-inst-002-踏勘结果回填接口"><span
class="header-section-number">1.5.24</span> IF-INST-002
踏勘结果回填接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-INST-002</td>
</tr>
<tr>
<td>归属模块</td>
<td>INST-001</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/installation/survey/result</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>回填现场踏勘结果、方案版本和审核结论</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_process_transfer</code><code>biz_business_datas</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.25" id="if-inst-003-合同签署发起接口"><span
class="header-section-number">1.5.25</span> IF-INST-003
合同签署发起接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-INST-003</td>
</tr>
<tr>
<td>归属模块</td>
<td>INST-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/installation/contract/sign/initiate</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>发起报装合同签署流程,并与 CA 系统协同处理签章、时间戳和存证</td>
</tr>
<tr>
<td>核心表</td>
<td><code>installation_contract</code><code>installation_signature</code><code>installation_evidence</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.26" id="if-inst-004-签章回执接口"><span
class="header-section-number">1.5.26</span> IF-INST-004
签章回执接口</h3>
<table>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-INST-004</td>
</tr>
<tr>
<td>归属模块</td>
<td>INST-002</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/installation/contract/sign/callback</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>回写签章结果、时间戳、存证回执与签章文件地址</td>
</tr>
<tr>
<td>核心表</td>
<td><code>installation_signature</code><code>installation_evidence</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.5.27" id="if-inst-005-报装归档接口"><span
class="header-section-number">1.5.27</span> IF-INST-005
报装归档接口</h3>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>项目</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>接口编号</td>
<td>IF-INST-005</td>
</tr>
<tr>
<td>归属模块</td>
<td>INST-003</td>
</tr>
<tr>
<td>请求方式</td>
<td>POST</td>
</tr>
<tr>
<td>请求路径</td>
<td><code>/admin-api/installation/archive/submit</code></td>
</tr>
<tr>
<td>功能描述</td>
<td>归档申请资料、验收附件、合同文件与签章回执</td>
</tr>
<tr>
<td>核心表</td>
<td><code>biz_content_attach</code><code>installation_evidence</code><code>biz_process</code></td>
</tr>
</tbody>
</table>
<h2 data-number="1.6" id="字段级请求与响应定义"><span
class="header-section-number">1.6</span> 字段级请求与响应定义</h2>
<blockquote>
<p>说明:以下字段级定义服务于接口设计说明,重点体现业务含义、来源对象与跨系统协同所需关键字段,不等同于数据库表的完整字段清单。</p>
</blockquote>
<h3 data-number="1.6.1" id="if-rev-001-客户信息查询接口-1"><span
class="header-section-number">1.6.1</span> IF-REV-001
客户信息查询接口</h3>
<h4 data-number="1.6.1.1" id="请求参数"><span
class="header-section-number">1.6.1.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 29%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>Long</td>
<td></td>
<td>客户主键 ID<code>code</code> 二选一</td>
<td><code>biz_cust.id</code></td>
</tr>
<tr>
<td>code</td>
<td>String</td>
<td></td>
<td>客户编号,与 <code>id</code> 二选一</td>
<td><code>biz_cust.code</code></td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td></td>
<td>客户手机号,支持模糊校验查询</td>
<td><code>biz_cust.mobile</code> /
<code>biz_cust_contact.mobile</code></td>
</tr>
<tr>
<td>queryType</td>
<td>String</td>
<td></td>
<td>查询类型:<code>base</code><code>account</code><code>meter</code><code>invoice</code><code>all</code></td>
<td>查询控制参数</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.1.2" id="响应参数"><span
class="header-section-number">1.6.1.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>Long</td>
<td>客户主键 ID</td>
<td><code>biz_cust.id</code></td>
</tr>
<tr>
<td>code</td>
<td>String</td>
<td>客户编号</td>
<td><code>biz_cust.code</code></td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td>客户名称</td>
<td><code>biz_cust.name</code></td>
</tr>
<tr>
<td>custType</td>
<td>String</td>
<td>客户类型</td>
<td><code>biz_cust.cust_type</code></td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td>主要联系电话</td>
<td><code>biz_cust.mobile</code></td>
</tr>
<tr>
<td>address</td>
<td>String</td>
<td>客户地址</td>
<td><code>biz_cust.address</code></td>
</tr>
<tr>
<td>accountInfo</td>
<td>Object</td>
<td>账户信息对象</td>
<td><code>biz_account</code></td>
</tr>
<tr>
<td>accountInfo.balance</td>
<td>Decimal</td>
<td>账户余额</td>
<td><code>biz_account.balance</code></td>
</tr>
<tr>
<td>accountInfo.arrearsAmount</td>
<td>Decimal</td>
<td>欠费金额</td>
<td><code>biz_account.arrears_amount</code></td>
</tr>
<tr>
<td>accountInfo.status</td>
<td>String</td>
<td>账户状态</td>
<td><code>biz_account.status</code></td>
</tr>
<tr>
<td>contactList</td>
<td>Array</td>
<td>联系人列表</td>
<td><code>biz_cust_contact</code></td>
</tr>
<tr>
<td>meterList</td>
<td>Array</td>
<td>绑定水表列表</td>
<td><code>biz_cust_meter</code><code>biz_meter</code></td>
</tr>
<tr>
<td>invoiceInfo</td>
<td>Object</td>
<td>开票信息摘要</td>
<td><code>biz_cust_invoice</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.2" id="if-rev-004-抄表数据提交接口-1"><span
class="header-section-number">1.6.2</span> IF-REV-004
抄表数据提交接口</h3>
<h4 data-number="1.6.2.1" id="请求参数-1"><span
class="header-section-number">1.6.2.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>meterReadId</td>
<td>Long</td>
<td></td>
<td>抄表任务 ID</td>
<td><code>biz_meter_read.id</code></td>
</tr>
<tr>
<td>meterId</td>
<td>Long</td>
<td></td>
<td>水表 ID</td>
<td><code>biz_meter.id</code></td>
</tr>
<tr>
<td>readTime</td>
<td>Datetime</td>
<td></td>
<td>抄表时间</td>
<td><code>biz_reading_data.read_time</code></td>
</tr>
<tr>
<td>currentReading</td>
<td>Decimal</td>
<td></td>
<td>本次读数</td>
<td><code>biz_reading_data.current_reading</code></td>
</tr>
<tr>
<td>readType</td>
<td>String</td>
<td></td>
<td>抄表方式:<code>MANUAL</code><code>IOT</code><code>IMPORT</code></td>
<td><code>biz_reading_data.read_type</code></td>
</tr>
<tr>
<td>usageAmount</td>
<td>Decimal</td>
<td></td>
<td>本次用量,可由系统自动计算</td>
<td><code>biz_reading_data.usage_amount</code></td>
</tr>
<tr>
<td>photoList</td>
<td>Array<String></td>
<td></td>
<td>表盘照片或现场图片文件标识</td>
<td>附件系统 / 文件服务</td>
</tr>
<tr>
<td>gps</td>
<td>String</td>
<td></td>
<td>现场坐标</td>
<td>扩展信息</td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td></td>
<td>异常说明或现场备注</td>
<td><code>biz_reading_logs.remark</code></td>
</tr>
<tr>
<td>abnormalFlag</td>
<td>Boolean</td>
<td></td>
<td>是否标记异常</td>
<td>过程状态</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.2.2" id="响应参数-1"><span
class="header-section-number">1.6.2.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>readingId</td>
<td>Long</td>
<td>抄表数据主键</td>
<td><code>biz_reading_data.id</code></td>
</tr>
<tr>
<td>meterReadId</td>
<td>Long</td>
<td>抄表任务 ID</td>
<td><code>biz_meter_read.id</code></td>
</tr>
<tr>
<td>validateStatus</td>
<td>String</td>
<td>校验状态:<code>PASS</code><code>WARN</code><code>REJECT</code></td>
<td>校验结果</td>
</tr>
<tr>
<td>abnormalFlag</td>
<td>Boolean</td>
<td>是否识别为异常</td>
<td>过程判断</td>
</tr>
<tr>
<td>nextAction</td>
<td>String</td>
<td>后续动作:<code>BILLING</code><code>RECHECK</code><code>MANUAL_REVIEW</code></td>
<td>流程控制</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.3" id="if-rev-005-账单生成接口-1"><span
class="header-section-number">1.6.3</span> IF-REV-005 账单生成接口</h3>
<h4 data-number="1.6.3.1" id="请求参数-2"><span
class="header-section-number">1.6.3.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>billPeriod</td>
<td>String</td>
<td></td>
<td>账期,如 <code>2026-03</code></td>
<td>开账批次参数</td>
</tr>
<tr>
<td>readingBatchNo</td>
<td>String</td>
<td></td>
<td>抄表批次号</td>
<td>抄表批次</td>
</tr>
<tr>
<td>customerIds</td>
<td>Array<Long></td>
<td></td>
<td>指定客户范围</td>
<td><code>biz_cust.id</code></td>
</tr>
<tr>
<td>meterReadIds</td>
<td>Array<Long></td>
<td></td>
<td>指定抄表任务范围</td>
<td><code>biz_meter_read.id</code></td>
</tr>
<tr>
<td>dueDate</td>
<td>Date</td>
<td></td>
<td>应收截止日期</td>
<td><code>biz_charge.due_date</code></td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>发起操作人</td>
<td>操作上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.3.2" id="响应参数-2"><span
class="header-section-number">1.6.3.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>generateCount</td>
<td>Integer</td>
<td>成功生成账单数量</td>
<td>汇总信息</td>
</tr>
<tr>
<td>successList</td>
<td>Array</td>
<td>成功明细列表</td>
<td><code>biz_charge</code></td>
</tr>
<tr>
<td>successList[].chargeId</td>
<td>Long</td>
<td>账单主键</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>successList[].chargeCode</td>
<td>String</td>
<td>账单编号</td>
<td><code>biz_charge.code</code></td>
</tr>
<tr>
<td>successList[].custId</td>
<td>Long</td>
<td>客户 ID</td>
<td><code>biz_charge.cust_id</code></td>
</tr>
<tr>
<td>successList[].totalAmount</td>
<td>Decimal</td>
<td>账单总金额</td>
<td><code>biz_charge.total_amount</code></td>
</tr>
<tr>
<td>failureList</td>
<td>Array</td>
<td>失败明细列表</td>
<td>处理结果</td>
</tr>
<tr>
<td>failureList[].reason</td>
<td>String</td>
<td>失败原因</td>
<td>异常信息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.4" id="if-rev-006-缴费处理接口-1"><span
class="header-section-number">1.6.4</span> IF-REV-006 缴费处理接口</h3>
<h4 data-number="1.6.4.1" id="请求参数-3"><span
class="header-section-number">1.6.4.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>biz_charge.cust_id</code></td>
</tr>
<tr>
<td>chargeIds</td>
<td>Array<Long></td>
<td></td>
<td>待核销账单 ID 列表</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>paymentChannel</td>
<td>String</td>
<td></td>
<td>支付渠道:<code>CASH</code><code>WECHAT</code><code>ALIPAY</code><code>BANK</code><code>PREPAY</code></td>
<td>渠道参数</td>
</tr>
<tr>
<td>paymentAmount</td>
<td>Decimal</td>
<td></td>
<td>本次支付金额</td>
<td><code>biz_collection.amount</code></td>
</tr>
<tr>
<td>actualAmount</td>
<td>Decimal</td>
<td></td>
<td>实收金额,柜台收费场景使用</td>
<td>柜台收费扩展</td>
</tr>
<tr>
<td>tradeNo</td>
<td>String</td>
<td></td>
<td>外部交易流水号</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>outletCode</td>
<td>String</td>
<td></td>
<td>柜台或网点编号</td>
<td><code>biz_outlets.code</code></td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td></td>
<td>收费备注</td>
<td><code>biz_collection.remark</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.4.2" id="响应参数-3"><span
class="header-section-number">1.6.4.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>collectionId</td>
<td>Long</td>
<td>收费记录 ID</td>
<td><code>biz_collection.id</code></td>
</tr>
<tr>
<td>collectionCode</td>
<td>String</td>
<td>收费业务编号</td>
<td><code>biz_collection.code</code></td>
</tr>
<tr>
<td>writeOffStatus</td>
<td>String</td>
<td>核销状态:<code>SUCCESS</code><code>PARTIAL</code><code>PENDING</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>paidAmount</td>
<td>Decimal</td>
<td>已支付金额</td>
<td>汇总结果</td>
</tr>
<tr>
<td>remainAmount</td>
<td>Decimal</td>
<td>剩余待支付金额</td>
<td>汇总结果</td>
</tr>
<tr>
<td>tradeNo</td>
<td>String</td>
<td>渠道交易流水号</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>invoiceAvailable</td>
<td>Boolean</td>
<td>是否可发起开票</td>
<td>业务判断</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.5" id="if-rev-007-账务调整接口-1"><span
class="header-section-number">1.6.5</span> IF-REV-007 账务调整接口</h3>
<h4 data-number="1.6.5.1" id="请求参数-4"><span
class="header-section-number">1.6.5.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>chargeId</td>
<td>Long</td>
<td></td>
<td>目标账单 ID</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>adjustType</td>
<td>String</td>
<td></td>
<td>调整类型:<code>USAGE</code><code>AMOUNT</code><code>REFUND</code><code>REVERSE</code><code>BAD_DEBT</code></td>
<td>业务类型</td>
</tr>
<tr>
<td>adjustAmount</td>
<td>Decimal</td>
<td></td>
<td>调整金额</td>
<td><code>biz_charge_detail</code> / 业务计算</td>
</tr>
<tr>
<td>adjustUsage</td>
<td>Decimal</td>
<td></td>
<td>调整水量</td>
<td>业务计算</td>
</tr>
<tr>
<td>sourceTradeNo</td>
<td>String</td>
<td></td>
<td>原交易流水号,退款/冲正场景使用</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>reasonCode</td>
<td>String</td>
<td></td>
<td>调整原因编码</td>
<td>业务字典</td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td></td>
<td>调整说明</td>
<td><code>biz_operat_log.remark</code></td>
</tr>
<tr>
<td>attachmentList</td>
<td>Array<String></td>
<td></td>
<td>依据附件</td>
<td>附件系统</td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>操作人 ID</td>
<td>操作上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.5.2" id="响应参数-4"><span
class="header-section-number">1.6.5.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>adjustmentNo</td>
<td>String</td>
<td>调整业务编号</td>
<td>业务流水</td>
</tr>
<tr>
<td>chargeId</td>
<td>Long</td>
<td>目标账单 ID</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>resultStatus</td>
<td>String</td>
<td>处理状态:<code>SUCCESS</code><code>PENDING_APPROVAL</code><code>FAIL</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>writeBackStatus</td>
<td>String</td>
<td>账单回写状态</td>
<td>业务状态</td>
</tr>
<tr>
<td>approvalRequired</td>
<td>Boolean</td>
<td>是否进入审批</td>
<td>流程判断</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.6" id="if-rev-008-发票申请接口-1"><span
class="header-section-number">1.6.6</span> IF-REV-008 发票申请接口</h3>
<h4 data-number="1.6.6.1" id="请求参数-5"><span
class="header-section-number">1.6.6.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>applicationNo</td>
<td>String</td>
<td></td>
<td>发票申请单号</td>
<td>服务端生成,作为幂等主键之一</td>
</tr>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>biz_invoice.cust_id</code></td>
</tr>
<tr>
<td>chargeIds</td>
<td>Array<Long></td>
<td></td>
<td>开票关联账单 ID 列表</td>
<td>业务单据关联</td>
</tr>
<tr>
<td>invoiceType</td>
<td>String</td>
<td></td>
<td>发票类型:<code>ELECTRONIC</code><code>PAPER</code></td>
<td><code>biz_invoice.invoice_type</code></td>
</tr>
<tr>
<td>invoiceTitle</td>
<td>String</td>
<td></td>
<td>发票抬头</td>
<td><code>biz_cust_invoice.invoice_title</code></td>
</tr>
<tr>
<td>taxNo</td>
<td>String</td>
<td></td>
<td>税号</td>
<td><code>biz_cust_invoice.tax_no</code></td>
</tr>
<tr>
<td>email</td>
<td>String</td>
<td></td>
<td>电子发票接收邮箱</td>
<td><code>biz_cust_invoice.email</code></td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td></td>
<td>接收手机号</td>
<td><code>biz_cust_invoice.mobile</code></td>
</tr>
<tr>
<td>sourceChannel</td>
<td>String</td>
<td></td>
<td>来源渠道:<code>COUNTER</code><code>FINANCE_BACKOFFICE</code></td>
<td>业务来源</td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td></td>
<td>申请备注</td>
<td>操作留痕</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.6.2" id="响应参数-5"><span
class="header-section-number">1.6.6.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td>发票申请记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>applicationNo</td>
<td>String</td>
<td>发票申请单号</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>invoiceStatus</td>
<td>String</td>
<td>状态:<code>SUBMITTED</code><code>PENDING</code><code>REJECTED</code></td>
<td><code>biz_invoice.invoice_status</code></td>
</tr>
<tr>
<td>sysRequestNo</td>
<td>String</td>
<td>发往 <code>SYS-008</code> 的受理号</td>
<td>协同流水</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.6.3" id="申请校验与幂等约束"><span
class="header-section-number">1.6.6.3</span> 申请校验与幂等约束</h4>
<ul>
<li>所有关联账单必须满足“已收费、未开票、未作废”。</li>
<li>一期不支持原始单账单直接任意部分金额开票;如需多张发票,必须基于拆账/分账后的账单集合发起申请。</li>
<li>企业抬头场景应校验 <code>taxNo</code> 完整性;电子发票场景优先校验
<code>email</code><code>mobile</code> 至少一项可用。</li>
<li>幂等键优先使用 <code>applicationNo</code>,未传入时按
<code>custId + chargeIds</code> 组合控制重复申请。</li>
<li>申请成功后必须创建查询补偿上下文,不依赖回调作为唯一结果来源。</li>
</ul>
<h4 data-number="1.6.6.4"
id="后台作废请求参数businessinvoiceinvalidate"><span
class="header-section-number">1.6.6.4</span>
后台作废请求参数(<code>/business/invoice/invalidate</code></h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td></td>
<td>发票记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>invalidReason</td>
<td>String</td>
<td></td>
<td>作废原因</td>
<td><code>biz_invoice.invalid_reason</code></td>
</tr>
<tr>
<td>invalidRemark</td>
<td>String</td>
<td></td>
<td>作废备注</td>
<td><code>biz_invoice.invalid_remark</code></td>
</tr>
<tr>
<td>originalInvoiceCode</td>
<td>String</td>
<td></td>
<td>原发票代码;传入时必须与当前发票记录一致</td>
<td><code>biz_invoice.original_invoice_code</code></td>
</tr>
<tr>
<td>originalInvoiceNumber</td>
<td>String</td>
<td></td>
<td>原发票号码;传入时必须与当前发票记录一致</td>
<td><code>biz_invoice.original_invoice_number</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.6.5"
id="后台红冲请求参数businessinvoicered-ink"><span
class="header-section-number">1.6.6.5</span>
后台红冲请求参数(<code>/business/invoice/red-ink</code></h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td></td>
<td>发票记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>redInkReason</td>
<td>String</td>
<td></td>
<td>红冲原因</td>
<td><code>biz_invoice.red_ink_reason</code></td>
</tr>
<tr>
<td>redInkRemark</td>
<td>String</td>
<td></td>
<td>红冲备注</td>
<td><code>biz_invoice.red_ink_remark</code></td>
</tr>
<tr>
<td>originalInvoiceCode</td>
<td>String</td>
<td></td>
<td>原发票代码;传入时必须与当前发票记录一致</td>
<td><code>biz_invoice.original_invoice_code</code></td>
</tr>
<tr>
<td>originalInvoiceNumber</td>
<td>String</td>
<td></td>
<td>原发票号码;传入时必须与当前发票记录一致</td>
<td><code>biz_invoice.original_invoice_number</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.6.6" id="后台作废红冲处理约束"><span
class="header-section-number">1.6.6.6</span> 后台作废/红冲处理约束</h4>
<ul>
<li>作废与红冲仅允许对当前 <code>invoiceStatus=SUCCESS</code>
的记录发起;已进入 <code>INVALID</code><code>RED_INK</code>
的记录必须拒绝重复处理。</li>
<li>后台提交作废或红冲后,应同步写入原因、备注、原票引用与触发来源,当前实现的触发来源分别为
<code>ADMIN_INVALIDATE</code><code>ADMIN_RED_INK</code></li>
<li>作废与红冲的即时返回仅表示后台已受理本次后处理动作;最终状态仍通过
<code>IF-REV-009</code> 查询补偿或 <code>IF-EXT-007</code>
回写统一收口。</li>
<li>后处理动作必须保留操作日志,记录触发人、目标状态、原因、备注与原发票代码/号码。</li>
</ul>
<h3 data-number="1.6.7" id="if-rev-009-发票结果查询接口-1"><span
class="header-section-number">1.6.7</span> IF-REV-009
发票结果查询接口</h3>
<h4 data-number="1.6.7.1" id="请求参数-6"><span
class="header-section-number">1.6.7.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>applicationNo</td>
<td>String</td>
<td></td>
<td>发票申请单号,与 <code>sysRequestNo</code> 二选一</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>sysRequestNo</td>
<td>String</td>
<td></td>
<td><code>SYS-008</code> 受理号,与 <code>applicationNo</code>
二选一</td>
<td><code>biz_invoice.sys_request_no</code></td>
</tr>
<tr>
<td>querySource</td>
<td>String</td>
<td></td>
<td>查询来源:<code>MANUAL</code><code>AUTO_COMPENSATE</code><code>CALLBACK_VERIFY</code></td>
<td>查询触发上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.7.2" id="响应参数-6"><span
class="header-section-number">1.6.7.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td>发票主记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>applicationNo</td>
<td>String</td>
<td>发票申请单号</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>sysRequestNo</td>
<td>String</td>
<td><code>SYS-008</code> 受理号</td>
<td><code>biz_invoice.sys_request_no</code></td>
</tr>
<tr>
<td>invoiceStatus</td>
<td>String</td>
<td>状态:<code>SUBMITTED</code><code>PENDING</code><code>SUCCESS</code><code>FAIL</code><code>INVALID</code><code>RED_INK</code></td>
<td><code>biz_invoice.invoice_status</code></td>
</tr>
<tr>
<td>invoiceCode</td>
<td>String</td>
<td>发票代码</td>
<td><code>biz_invoice.invoice_code</code></td>
</tr>
<tr>
<td>invoiceNumber</td>
<td>String</td>
<td>发票号码</td>
<td><code>biz_invoice.invoice_number</code></td>
</tr>
<tr>
<td>fileUrl</td>
<td>String</td>
<td>电子发票文件地址</td>
<td><code>biz_invoice.file_url</code></td>
</tr>
<tr>
<td>failReason</td>
<td>String</td>
<td>失败原因</td>
<td><code>biz_invoice.fail_reason</code></td>
</tr>
<tr>
<td>pushStatus</td>
<td>String</td>
<td>电子发票推送状态</td>
<td><code>biz_invoice.push_status</code></td>
</tr>
<tr>
<td>lastQueryTime</td>
<td>DateTime</td>
<td>最近一次查询时间</td>
<td><code>biz_invoice.last_try_time</code></td>
</tr>
<tr>
<td>tryCount</td>
<td>Integer</td>
<td>累计查询次数</td>
<td><code>biz_invoice.try_count</code></td>
</tr>
<tr>
<td>latestResult</td>
<td>String</td>
<td>最近一次查询结果摘要</td>
<td><code>biz_invoice.latest_result</code></td>
</tr>
<tr>
<td>latestError</td>
<td>String</td>
<td>最近一次查询异常说明</td>
<td><code>biz_invoice.latest_error</code></td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.7.3" id="查询补偿与状态流转约束"><span
class="header-section-number">1.6.7.3</span> 查询补偿与状态流转约束</h4>
<ul>
<li>查询入口同时服务于后台人工查询与系统补偿查询,两类触发必须复用同一状态落账规则。</li>
<li><code>querySource=AUTO_COMPENSATE</code>
时,接口语义表示由系统补偿任务触发一次兜底查询,并刷新最近查询时间、下次计划时间与累计次数。</li>
<li>查询结果若确认开票成功,应回写票号、票据地址与账单-发票关联状态;若仍处理中,仅维持
<code>PENDING</code> 并更新补偿上下文。</li>
<li>对已发起作废或红冲的记录,查询结果应允许把终态更新为
<code>INVALID</code><code>RED_INK</code>,并同步刷新
<code>latestResult</code><code>latestError</code>、账单关联状态与后处理上下文。</li>
<li>已进入 <code>SUCCESS</code>
的正常开票终态不得被后续失败查询结果覆盖;若外部返回异常,应记录到操作留痕并保留人工核查入口。</li>
</ul>
<h3 data-number="1.6.8"
id="if-rev-013-催缴任务生成与结果承接接口-1"><span
class="header-section-number">1.6.8</span> IF-REV-013
催缴任务生成与结果承接接口</h3>
<h4 data-number="1.6.8.1" id="请求参数-7"><span
class="header-section-number">1.6.8.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>taskNo</td>
<td>String</td>
<td></td>
<td>催缴任务号;查询/人工核查时必填</td>
<td>任务主键</td>
</tr>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户标识</td>
<td><code>biz_charge.cust_id</code></td>
</tr>
<tr>
<td>chargeIds</td>
<td>Array<Long></td>
<td></td>
<td>欠费账单集合</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>billPeriod</td>
<td>String</td>
<td></td>
<td>账期</td>
<td><code>biz_charge.bill_period</code></td>
</tr>
<tr>
<td>arrearsAmount</td>
<td>Decimal</td>
<td></td>
<td>欠费金额汇总</td>
<td>欠费汇总结果</td>
</tr>
<tr>
<td>strategyCode</td>
<td>String</td>
<td></td>
<td>命中的催缴策略编码</td>
<td>策略规则</td>
</tr>
<tr>
<td>channelType</td>
<td>String</td>
<td></td>
<td>触达渠道:短信/微信公众号/站内信等</td>
<td>任务分组结果</td>
</tr>
<tr>
<td>triggerType</td>
<td>String</td>
<td></td>
<td>触发方式:<code>AUTO</code> / <code>MANUAL</code></td>
<td>任务触发上下文</td>
</tr>
<tr>
<td>eventNo</td>
<td>String</td>
<td></td>
<td>业务事件号;生成后返回,回写承接时作为关联键</td>
<td>协同事件主键</td>
</tr>
<tr>
<td>relatedDisposalRef</td>
<td>String</td>
<td></td>
<td>关联停复水或工单引用</td>
<td>联动追溯信息</td>
</tr>
<tr>
<td>manualVerifyNote</td>
<td>String</td>
<td></td>
<td>人工核查说明;仅人工核查时填写</td>
<td>核查留痕</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.8.2" id="响应参数-7"><span
class="header-section-number">1.6.8.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>taskNo</td>
<td>String</td>
<td>催缴任务号</td>
<td>任务主键</td>
</tr>
<tr>
<td>interfaceCode</td>
<td>String</td>
<td>固定返回 <code>IF-REV-013</code></td>
<td>接口常量</td>
</tr>
<tr>
<td>eventNo</td>
<td>String</td>
<td>业务事件号</td>
<td>协同主键</td>
</tr>
<tr>
<td>status</td>
<td>String</td>
<td>状态:<code>PENDING</code><code>SUCCESS</code><code>FAIL</code><code>MANUAL_VERIFIED</code></td>
<td>任务状态</td>
</tr>
<tr>
<td>resultTime</td>
<td>DateTime</td>
<td>最近结果时间</td>
<td>结果回写时间</td>
</tr>
<tr>
<td>failureReason</td>
<td>String</td>
<td>失败原因</td>
<td>失败回写</td>
</tr>
<tr>
<td>resultChannel</td>
<td>String</td>
<td>实际触达渠道</td>
<td>协同结果</td>
</tr>
<tr>
<td>relatedDisposalRef</td>
<td>String</td>
<td>关联停复水或工单引用</td>
<td>联动追溯</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.8.3" id="任务生成与状态承接约束"><span
class="header-section-number">1.6.8.3</span> 任务生成与状态承接约束</h4>
<ul>
<li>任务生成前必须完成欠费账单、客户类别、联系方式和策略命中校验;至少存在一个可用触达渠道。</li>
<li>相同业务事件与同一接收对象在去重窗口内不得重复生成等效任务;若为人工补发,应显式记录
<code>triggerType=MANUAL</code></li>
<li><code>PENDING</code> 表示已生成任务并发起协同,等待
<code>SYS-010</code>
回写或人工核查;<code>SUCCESS</code><code>FAIL</code>
由协同结果或明确失败确认触发。</li>
<li>当外部结果长期未定、历史回执不足或人工核查已确认结果时,可将任务补记为
<code>MANUAL_VERIFIED</code>,并保留核查人和核查说明。</li>
<li>接口返回的 <code>relatedDisposalRef</code>
仅用于追溯停复水、复水或工单处置引用,不表示本接口承担下游流程控制。</li>
</ul>
<h4 data-number="1.6.8.4" id="失败阻断与人工核查约束"><span
class="header-section-number">1.6.8.4</span> 失败阻断与人工核查约束</h4>
<ul>
<li>候选账单不满足欠费前提、策略编码无效或触达信息缺失时,应阻断任务生成并返回明确原因,不得写入伪成功状态。</li>
<li>频控规则命中时允许部分阻断,必须返回被跳过对象与原因摘要,避免“全成功”误判。</li>
<li>渠道协同超时或仅返回受理结果时,不直接判定 <code>FAIL</code>,保持
<code>PENDING</code> 并等待回执或进入人工核查流程。</li>
<li>人工核查补记必须校验 <code>taskNo</code> 存在且
<code>manualVerifyNote</code>
非空;不满足条件时应拒绝补记并返回校验错误。</li>
<li>人工核查仅用于状态收口,不替代 <code>SYS-010</code>
的渠道执行职责,也不扩展停复水/工单内部流程控制。</li>
</ul>
<h3 data-number="1.6.9" id="if-rev-010-统计查询接口-1"><span
class="header-section-number">1.6.9</span> IF-REV-010 统计查询接口</h3>
<h4 data-number="1.6.9.1" id="请求参数-8"><span
class="header-section-number">1.6.9.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>themeCode</td>
<td>String</td>
<td></td>
<td>统计主题编码</td>
<td>查询主题</td>
</tr>
<tr>
<td>dateFrom</td>
<td>Date</td>
<td></td>
<td>开始日期</td>
<td>时间维度</td>
</tr>
<tr>
<td>dateTo</td>
<td>Date</td>
<td></td>
<td>结束日期</td>
<td>时间维度</td>
</tr>
<tr>
<td>billPeriod</td>
<td>String</td>
<td></td>
<td>账期</td>
<td><code>biz_charge.bill_period</code></td>
</tr>
<tr>
<td>deptId</td>
<td>Long</td>
<td></td>
<td>营业所/部门</td>
<td><code>system_dept.id</code></td>
</tr>
<tr>
<td>regionCode</td>
<td>String</td>
<td></td>
<td>片区/区域编码</td>
<td>区域维度</td>
</tr>
<tr>
<td>customerCategory</td>
<td>String</td>
<td></td>
<td>客户类别</td>
<td>客户标签/分类</td>
</tr>
<tr>
<td>channelCode</td>
<td>String</td>
<td></td>
<td>收费/交易渠道</td>
<td><code>bk_payment_channel.channel_code</code></td>
</tr>
<tr>
<td>accountId</td>
<td>Long</td>
<td></td>
<td>账户标识</td>
<td><code>biz_account.id</code></td>
</tr>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户标识</td>
<td><code>biz_cust.id</code></td>
</tr>
<tr>
<td>statusSet</td>
<td>Array<String></td>
<td></td>
<td>状态集合</td>
<td>账单/收费/抄表等状态筛选</td>
</tr>
<tr>
<td>groupBy</td>
<td>Array<String></td>
<td></td>
<td>分组维度集合</td>
<td>结果分组</td>
</tr>
<tr>
<td>exportFlag</td>
<td>Boolean</td>
<td></td>
<td>是否导出</td>
<td>导出控制</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.9.2" id="响应参数-8"><span
class="header-section-number">1.6.9.2</span> 响应参数</h4>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>themeCode</td>
<td>String</td>
<td>统计主题编码</td>
<td>查询主题</td>
</tr>
<tr>
<td>themeName</td>
<td>String</td>
<td>统计主题名称</td>
<td>主题定义</td>
</tr>
<tr>
<td>dimensionSummary</td>
<td>Object</td>
<td>查询维度摘要</td>
<td>查询条件</td>
</tr>
<tr>
<td>indicatorList</td>
<td>Array</td>
<td>指标结果集合</td>
<td>聚合结果</td>
</tr>
<tr>
<td>indicatorList[].indicatorCode</td>
<td>String</td>
<td>指标编码</td>
<td>指标定义</td>
</tr>
<tr>
<td>indicatorList[].indicatorName</td>
<td>String</td>
<td>指标名称</td>
<td>指标定义</td>
</tr>
<tr>
<td>indicatorList[].indicatorValue</td>
<td>Decimal/String</td>
<td>指标值</td>
<td>聚合结果</td>
</tr>
<tr>
<td>indicatorList[].unit</td>
<td>String</td>
<td>指标单位</td>
<td>指标定义</td>
</tr>
<tr>
<td>groupRows</td>
<td>Array</td>
<td>分组结果集合</td>
<td>维度分组结果</td>
</tr>
<tr>
<td>exportAllowed</td>
<td>Boolean</td>
<td>是否允许导出</td>
<td>权限结果</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.9.3" id="查询主题与口径约束"><span
class="header-section-number">1.6.9.3</span> 查询主题与口径约束</h4>
<ul>
<li>本接口至少支持营收汇总、收费与实收、欠费规模与账龄、客户结构、渠道交易、抄表完成率等主题查询。</li>
<li>应收金额、实收金额、欠费余额、账单数、客户数、交易笔数、渠道占比、完成率等指标必须按业务含义区分,不得混写。</li>
<li>当查询涉及历史只读口径时,历史数据仅作为补充来源或迁移核查辅助,不替代在线主数据统计结果。</li>
<li>权限边界必须同时作用于在线查询和导出动作;不允许越过现有数据权限返回全量统计结果。</li>
</ul>
<h3 data-number="1.6.10" id="if-rev-011-银行代收协同接口-1"><span
class="header-section-number">1.6.10</span> IF-REV-011
银行代收协同接口</h3>
<h4 data-number="1.6.10.1" id="请求参数-9"><span
class="header-section-number">1.6.10.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>batchNo</td>
<td>String</td>
<td></td>
<td>代扣批次号</td>
<td><code>bk_withholding_batch.batch_no</code></td>
</tr>
<tr>
<td>businessType</td>
<td>String</td>
<td></td>
<td>业务类型:<code>WITHHOLDING</code><code>RECONCILE</code><code>SETTLEMENT</code></td>
<td>协同类型</td>
</tr>
<tr>
<td>channelCode</td>
<td>String</td>
<td></td>
<td>渠道编码</td>
<td><code>bk_payment_channel.channel_code</code></td>
</tr>
<tr>
<td>billPeriod</td>
<td>String</td>
<td></td>
<td>账期</td>
<td>批处理参数</td>
</tr>
<tr>
<td>itemList</td>
<td>Array</td>
<td></td>
<td>批次明细列表</td>
<td><code>bk_withholding_item</code></td>
</tr>
<tr>
<td>itemList[].custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>bk_withholding_item.cust_id</code></td>
</tr>
<tr>
<td>itemList[].chargeId</td>
<td>Long</td>
<td></td>
<td>账单 ID</td>
<td><code>bk_withholding_item.charge_id</code></td>
</tr>
<tr>
<td>itemList[].amount</td>
<td>Decimal</td>
<td></td>
<td>扣款金额</td>
<td>业务金额</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.10.2" id="响应参数-9"><span
class="header-section-number">1.6.10.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>batchNo</td>
<td>String</td>
<td>批次号</td>
<td><code>bk_withholding_batch.batch_no</code></td>
</tr>
<tr>
<td>batchStatus</td>
<td>String</td>
<td>批次状态:<code>CREATED</code><code>SENT</code><code>RETURNED</code><code>RECONCILED</code><code>SETTLED</code></td>
<td>批次状态</td>
</tr>
<tr>
<td>successCount</td>
<td>Integer</td>
<td>成功处理条数</td>
<td>汇总结果</td>
</tr>
<tr>
<td>failCount</td>
<td>Integer</td>
<td>失败条数</td>
<td>汇总结果</td>
</tr>
<tr>
<td>reconcileStatus</td>
<td>String</td>
<td>对账状态</td>
<td><code>bk_reconcile_batch.status</code></td>
</tr>
<tr>
<td>settlementStatus</td>
<td>String</td>
<td>结算状态</td>
<td><code>bk_settlement_batch.status</code></td>
</tr>
<tr>
<td>diffList</td>
<td>Array</td>
<td>差异清单摘要</td>
<td><code>bk_reconcile_diff</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.11" id="if-rev-012-业务参数配置接口-1"><span
class="header-section-number">1.6.11</span> IF-REV-012
业务参数配置接口</h3>
<h4 data-number="1.6.11.1" id="请求参数-10"><span
class="header-section-number">1.6.11.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td>String</td>
<td></td>
<td>动作:<code>QUERY</code><code>CREATE</code><code>UPDATE</code></td>
<td>配置动作</td>
</tr>
<tr>
<td>configType</td>
<td>String</td>
<td></td>
<td>配置类型:<code>PRICE</code><code>RULE</code><code>PAGE</code><code>NOTICE</code></td>
<td><code>biz_parameter_settings.config_type</code></td>
</tr>
<tr>
<td>configCode</td>
<td>String</td>
<td></td>
<td>配置编码</td>
<td><code>biz_parameter_settings.config_code</code></td>
</tr>
<tr>
<td>configValue</td>
<td>String</td>
<td></td>
<td>配置值或 JSON 内容</td>
<td><code>biz_parameter_settings.config_value</code></td>
</tr>
<tr>
<td>deptId</td>
<td>Long</td>
<td></td>
<td>生效单位</td>
<td>作用域参数</td>
</tr>
<tr>
<td>effectiveDate</td>
<td>Date</td>
<td></td>
<td>生效日期</td>
<td>生效控制</td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>操作人 ID</td>
<td>操作上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.11.2" id="响应参数-10"><span
class="header-section-number">1.6.11.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>configId</td>
<td>Long</td>
<td>配置主键</td>
<td><code>biz_parameter_settings.id</code></td>
</tr>
<tr>
<td>configCode</td>
<td>String</td>
<td>配置编码</td>
<td><code>biz_parameter_settings.config_code</code></td>
</tr>
<tr>
<td>configVersion</td>
<td>String</td>
<td>配置版本</td>
<td>版本信息</td>
</tr>
<tr>
<td>effectScope</td>
<td>String</td>
<td>生效范围</td>
<td>作用域结果</td>
</tr>
<tr>
<td>effectStatus</td>
<td>String</td>
<td>生效状态:<code>DRAFT</code><code>ACTIVE</code><code>EXPIRED</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.12" id="if-cs-001-账户绑定接口-1"><span
class="header-section-number">1.6.12</span> IF-CS-001 账户绑定接口</h3>
<h4 data-number="1.6.12.1" id="请求参数-11"><span
class="header-section-number">1.6.12.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td>String</td>
<td></td>
<td>动作:<code>BIND</code><code>UNBIND</code><code>SET_DEFAULT</code></td>
<td>绑定动作</td>
</tr>
<tr>
<td>channelType</td>
<td>String</td>
<td></td>
<td>渠道类型:<code>WECHAT</code><code>ALIPAY</code><code>MINIAPP</code></td>
<td>渠道上下文</td>
</tr>
<tr>
<td>channelUserId</td>
<td>String</td>
<td></td>
<td>渠道用户标识,如 OpenId</td>
<td>渠道上下文</td>
</tr>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>biz_cust.id</code></td>
</tr>
<tr>
<td>accountId</td>
<td>Long</td>
<td></td>
<td>账户 ID</td>
<td><code>biz_account.id</code></td>
</tr>
<tr>
<td>verifyCode</td>
<td>String</td>
<td></td>
<td>验证码或身份校验码</td>
<td>安全校验</td>
</tr>
<tr>
<td>defaultFlag</td>
<td>Boolean</td>
<td></td>
<td>是否设为默认账户</td>
<td><code>biz_cust_app_binds.is_default</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.12.2" id="响应参数-11"><span
class="header-section-number">1.6.12.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>bindId</td>
<td>Long</td>
<td>绑定关系 ID</td>
<td><code>biz_cust_app_binds.id</code></td>
</tr>
<tr>
<td>bindStatus</td>
<td>String</td>
<td>绑定状态:<code>BOUND</code><code>UNBOUND</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>defaultFlag</td>
<td>Boolean</td>
<td>是否默认账户</td>
<td><code>biz_cust_app_binds.is_default</code></td>
</tr>
<tr>
<td>custSummary</td>
<td>Object</td>
<td>客户摘要信息</td>
<td><code>biz_cust</code></td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.13" id="if-cs-002-历史账单查询接口-1"><span
class="header-section-number">1.6.13</span> IF-CS-002
历史账单查询接口</h3>
<h4 data-number="1.6.13.1" id="请求参数-12"><span
class="header-section-number">1.6.13.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td>客户上下文</td>
</tr>
<tr>
<td>queryType</td>
<td>String</td>
<td></td>
<td>查询类型:<code>BILL</code><code>PAYMENT</code><code>USAGE</code><code>ARREARS</code><code>INVOICE</code></td>
<td>查询控制</td>
</tr>
<tr>
<td>billPeriod</td>
<td>String</td>
<td></td>
<td>账期,如 <code>2026-03</code></td>
<td><code>biz_charge.bill_period</code></td>
</tr>
<tr>
<td>chargeStatus</td>
<td>String</td>
<td></td>
<td>账单状态筛选</td>
<td><code>biz_charge.status</code></td>
</tr>
<tr>
<td>pageNo</td>
<td>Integer</td>
<td></td>
<td>页码</td>
<td>分页参数</td>
</tr>
<tr>
<td>pageSize</td>
<td>Integer</td>
<td></td>
<td>每页数量</td>
<td>分页参数</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.13.2" id="响应参数-12"><span
class="header-section-number">1.6.13.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>total</td>
<td>Integer</td>
<td>总记录数</td>
<td>分页结果</td>
</tr>
<tr>
<td>list</td>
<td>Array</td>
<td>查询结果列表</td>
<td>聚合结果</td>
</tr>
<tr>
<td>list[].chargeId</td>
<td>Long</td>
<td>账单 ID</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>list[].billPeriod</td>
<td>String</td>
<td>账期</td>
<td><code>biz_charge.bill_period</code></td>
</tr>
<tr>
<td>list[].usageAmount</td>
<td>Decimal</td>
<td>用量</td>
<td><code>biz_reading_data.usage_amount</code></td>
</tr>
<tr>
<td>list[].payStatus</td>
<td>String</td>
<td>缴费状态</td>
<td>业务状态</td>
</tr>
<tr>
<td>list[].invoiceStatus</td>
<td>String</td>
<td>开票状态</td>
<td><code>biz_invoice.invoice_status</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.14" id="if-cs-004-电子发票消费接口-1"><span
class="header-section-number">1.6.14</span> IF-CS-004
电子发票消费接口</h3>
<h4 data-number="1.6.14.1" id="查询下载请求参数"><span
class="header-section-number">1.6.14.1</span> 查询/下载请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>biz_invoice.cust_id</code></td>
</tr>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td></td>
<td>发票记录 ID三选一优先键</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>applicationNo</td>
<td>String</td>
<td></td>
<td>发票申请单号</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>sysRequestNo</td>
<td>String</td>
<td></td>
<td><code>SYS-008</code> 受理号</td>
<td><code>biz_invoice.sys_request_no</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.14.2" id="推送请求参数"><span
class="header-section-number">1.6.14.2</span> 推送请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td><code>biz_invoice.cust_id</code></td>
</tr>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td></td>
<td>发票记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>applicationNo</td>
<td>String</td>
<td></td>
<td>发票申请单号</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>pushChannel</td>
<td>String</td>
<td></td>
<td>推送方式:<code>EMAIL</code><code>SMS</code></td>
<td>推送动作</td>
</tr>
<tr>
<td>pushEmail</td>
<td>String</td>
<td></td>
<td>推送邮箱,<code>EMAIL</code> 时优先使用</td>
<td>目标地址</td>
</tr>
<tr>
<td>pushMobile</td>
<td>String</td>
<td></td>
<td>推送手机号,<code>SMS</code> 时优先使用</td>
<td>目标地址</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.14.3" id="响应参数-13"><span
class="header-section-number">1.6.14.3</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>invoiceId</td>
<td>Long</td>
<td>发票记录 ID</td>
<td><code>biz_invoice.id</code></td>
</tr>
<tr>
<td>applicationNo</td>
<td>String</td>
<td>发票申请单号</td>
<td><code>biz_invoice.application_no</code></td>
</tr>
<tr>
<td>invoiceStatus</td>
<td>String</td>
<td>当前状态</td>
<td><code>biz_invoice.invoice_status</code></td>
</tr>
<tr>
<td>invoiceCode</td>
<td>String</td>
<td>发票代码</td>
<td><code>biz_invoice.invoice_code</code></td>
</tr>
<tr>
<td>invoiceNumber</td>
<td>String</td>
<td>发票号码</td>
<td><code>biz_invoice.invoice_number</code></td>
</tr>
<tr>
<td>fileUrl</td>
<td>String</td>
<td>发票下载地址</td>
<td><code>biz_invoice.file_url</code></td>
</tr>
<tr>
<td>pushStatus</td>
<td>String</td>
<td>推送状态:<code>NONE</code><code>PUSHED</code><code>FAIL</code></td>
<td><code>biz_invoice.push_status</code></td>
</tr>
<tr>
<td>chargeBindStatus</td>
<td>String</td>
<td>账单关联状态:<code>UNBOUND</code><code>BOUND</code></td>
<td><code>biz_invoice.charge_bind_status</code></td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.14.4" id="客户侧消费约束"><span
class="header-section-number">1.6.14.4</span> 客户侧消费约束</h4>
<ul>
<li>客户侧仅允许访问本人 <code>custId</code>
名下发票记录,<code>invoiceId</code><code>applicationNo</code><code>sysRequestNo</code>
任一定位成功后仍需再次校验客户归属。</li>
<li>下载与推送前必须校验 <code>invoiceStatus=SUCCESS</code>
<code>fileUrl</code>
非空;已作废、已红冲或缺少电子票地址的记录一律返回不可消费原因。</li>
<li>推送成功后回写 <code>pushStatus=PUSHED</code>;失败则更新为
<code>FAIL</code> 并记录失败原因。</li>
<li>客户侧只消费已形成有效电子票结果的记录,不暴露后台作废、红冲入口,也不直接展示后处理请求参数。</li>
</ul>
<h3 data-number="1.6.15" id="if-cs-003-在线支付下单接口-1"><span
class="header-section-number">1.6.15</span> IF-CS-003
在线支付下单接口</h3>
<h4 data-number="1.6.15.1" id="请求参数-13"><span
class="header-section-number">1.6.15.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td>客户上下文</td>
</tr>
<tr>
<td>chargeIds</td>
<td>Array<Long></td>
<td></td>
<td>待支付账单 ID 列表</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>paymentChannel</td>
<td>String</td>
<td></td>
<td>支付渠道:<code>WECHAT</code><code>ALIPAY</code></td>
<td>渠道参数</td>
</tr>
<tr>
<td>paymentAmount</td>
<td>Decimal</td>
<td></td>
<td>支付金额</td>
<td><code>bk_transaction.trade_amount</code></td>
</tr>
<tr>
<td>openId</td>
<td>String</td>
<td></td>
<td>微信渠道用户标识</td>
<td>微信场景</td>
</tr>
<tr>
<td>returnUrl</td>
<td>String</td>
<td></td>
<td>前端完成跳转地址</td>
<td>前端场景</td>
</tr>
<tr>
<td>notifyUrl</td>
<td>String</td>
<td></td>
<td>支付结果通知地址</td>
<td>回调地址</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.15.2" id="响应参数-14"><span
class="header-section-number">1.6.15.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>bizOrderNo</td>
<td>String</td>
<td>SYS-002 业务订单号</td>
<td><code>biz_collection.code</code> / 业务单号</td>
</tr>
<tr>
<td>tradeNo</td>
<td>String</td>
<td>渠道交易流水号</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>orderStatus</td>
<td>String</td>
<td>订单状态:<code>INIT</code><code>PAYING</code><code>SUCCESS</code><code>FAIL</code></td>
<td>交易状态</td>
</tr>
<tr>
<td>payUrl</td>
<td>String</td>
<td>支付链接或二维码地址</td>
<td>渠道返回</td>
</tr>
<tr>
<td>prepayInfo</td>
<td>Object</td>
<td>预支付参数对象</td>
<td>渠道返回</td>
</tr>
<tr>
<td>expireTime</td>
<td>Datetime</td>
<td>订单失效时间</td>
<td>交易参数</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.16" id="if-cs-006-业务办理进度接口-1"><span
class="header-section-number">1.6.16</span> IF-CS-006
业务办理进度接口</h3>
<h4 data-number="1.6.16.1" id="请求参数-14"><span
class="header-section-number">1.6.16.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>processId</td>
<td>Long</td>
<td></td>
<td>办理流程 ID查询场景使用</td>
<td><code>biz_process.id</code></td>
</tr>
<tr>
<td>businessTypeCode</td>
<td>String</td>
<td></td>
<td>业务类型编码,如更名、过户、低保、换表</td>
<td><code>biz_business_types.code</code></td>
</tr>
<tr>
<td>custId</td>
<td>Long</td>
<td></td>
<td>客户 ID</td>
<td>客户上下文</td>
</tr>
<tr>
<td>applyData</td>
<td>Object</td>
<td></td>
<td>业务申请主体数据</td>
<td><code>biz_business_datas</code></td>
</tr>
<tr>
<td>attachmentList</td>
<td>Array<String></td>
<td></td>
<td>附件文件标识列表</td>
<td><code>biz_content_attach</code></td>
</tr>
<tr>
<td>action</td>
<td>String</td>
<td></td>
<td>动作:<code>CREATE</code><code>QUERY</code><code>SUPPLEMENT</code></td>
<td>流程动作</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.16.2" id="响应参数-15"><span
class="header-section-number">1.6.16.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>processId</td>
<td>Long</td>
<td>办理流程 ID</td>
<td><code>biz_process.id</code></td>
</tr>
<tr>
<td>processCode</td>
<td>String</td>
<td>流程编号</td>
<td><code>biz_process.code</code></td>
</tr>
<tr>
<td>processStatus</td>
<td>String</td>
<td>当前状态:<code>INIT</code><code>ACCEPTED</code><code>PROCESSING</code><code>DONE</code><code>REJECTED</code></td>
<td><code>biz_process.status</code></td>
</tr>
<tr>
<td>currentNode</td>
<td>String</td>
<td>当前办理节点</td>
<td>流程状态</td>
</tr>
<tr>
<td>transferList</td>
<td>Array</td>
<td>流转轨迹</td>
<td><code>biz_process_transfer</code></td>
</tr>
<tr>
<td>attachmentRequired</td>
<td>Boolean</td>
<td>是否需要补件</td>
<td>业务判断</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>办理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.17" id="if-cs-007-柜面扫码支付接口-1"><span
class="header-section-number">1.6.17</span> IF-CS-007
柜面扫码支付接口</h3>
<h4 data-number="1.6.17.1" id="请求参数-15"><span
class="header-section-number">1.6.17.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>counterCode</td>
<td>String</td>
<td></td>
<td>柜台编号</td>
<td>柜面终端</td>
</tr>
<tr>
<td>chargeIds</td>
<td>Array<Long></td>
<td></td>
<td>待支付账单 ID 列表</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>paymentChannel</td>
<td>String</td>
<td></td>
<td>支付渠道:<code>WECHAT</code><code>ALIPAY</code></td>
<td>渠道参数</td>
</tr>
<tr>
<td>orderAmount</td>
<td>Decimal</td>
<td></td>
<td>订单金额</td>
<td><code>bk_transaction.trade_amount</code></td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>柜台操作员 ID</td>
<td>操作上下文</td>
</tr>
<tr>
<td>scene</td>
<td>String</td>
<td></td>
<td>场景标识,默认 <code>COUNTER_SCAN_PAY</code></td>
<td>场景参数</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.17.2" id="响应参数-16"><span
class="header-section-number">1.6.17.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>bizOrderNo</td>
<td>String</td>
<td>柜面业务订单号</td>
<td><code>biz_collection.code</code></td>
</tr>
<tr>
<td>tradeNo</td>
<td>String</td>
<td>渠道交易流水号</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>qrCode</td>
<td>String</td>
<td>柜面展示二维码内容</td>
<td>渠道返回</td>
</tr>
<tr>
<td>orderStatus</td>
<td>String</td>
<td>当前订单状态:<code>INIT</code><code>PAYING</code><code>SUCCESS</code><code>FAIL</code></td>
<td>交易状态</td>
</tr>
<tr>
<td>writeBackStatus</td>
<td>String</td>
<td>营收状态回写结果</td>
<td>业务状态</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.18" id="if-meter-001-水表档案查询接口-1"><span
class="header-section-number">1.6.18</span> IF-METER-001
水表档案查询接口</h3>
<h4 data-number="1.6.18.1" id="请求参数-16"><span
class="header-section-number">1.6.18.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 17%" />
<col style="width: 29%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>Long</td>
<td></td>
<td>水表主键 ID<code>code</code> 二选一</td>
<td><code>biz_meter.id</code></td>
</tr>
<tr>
<td>code</td>
<td>String</td>
<td></td>
<td>水表编号,与 <code>id</code> 二选一</td>
<td><code>biz_meter.code</code></td>
</tr>
<tr>
<td>queryType</td>
<td>String</td>
<td></td>
<td>查询类型:<code>base</code><code>status</code><code>lifeCycle</code><code>all</code></td>
<td>查询控制参数</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.18.2" id="响应参数-17"><span
class="header-section-number">1.6.18.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>Long</td>
<td>水表主键 ID</td>
<td><code>biz_meter.id</code></td>
</tr>
<tr>
<td>code</td>
<td>String</td>
<td>水表编号</td>
<td><code>biz_meter.code</code></td>
</tr>
<tr>
<td>meterStatus</td>
<td>String</td>
<td>水表状态</td>
<td><code>biz_meter.status</code></td>
</tr>
<tr>
<td>modelCode</td>
<td>String</td>
<td>型号编码</td>
<td><code>biz_meter.model_code</code></td>
</tr>
<tr>
<td>caliberCode</td>
<td>String</td>
<td>口径编码</td>
<td><code>biz_meter.caliber_code</code></td>
</tr>
<tr>
<td>rangeCode</td>
<td>String</td>
<td>量程编码</td>
<td><code>biz_meter.range_code</code></td>
</tr>
<tr>
<td>installAddress</td>
<td>String</td>
<td>安装地址</td>
<td><code>biz_meter.install_address</code></td>
</tr>
<tr>
<td>lastReading</td>
<td>Decimal</td>
<td>最近有效读数</td>
<td><code>biz_last_reading.last_reading</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.19" id="if-meter-003-库存出入库接口-1"><span
class="header-section-number">1.6.19</span> IF-METER-003
库存出入库接口</h3>
<h4 data-number="1.6.19.1" id="请求参数-17"><span
class="header-section-number">1.6.19.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td>String</td>
<td></td>
<td>动作:<code>IN</code><code>OUT</code><code>RETURN</code><code>SCRAP</code></td>
<td>库存动作</td>
</tr>
<tr>
<td>batchNo</td>
<td>String</td>
<td></td>
<td>批次号</td>
<td><code>biz_meter_in_out.batch_no</code></td>
</tr>
<tr>
<td>warehouseCode</td>
<td>String</td>
<td></td>
<td>仓库编码</td>
<td>仓储参数</td>
</tr>
<tr>
<td>meterIds</td>
<td>Array<Long></td>
<td></td>
<td>水表 ID 列表</td>
<td><code>biz_meter.id</code></td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td></td>
<td>出入库说明</td>
<td><code>biz_meter_in_out.remark</code></td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>操作人 ID</td>
<td>操作上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.19.2" id="响应参数-18"><span
class="header-section-number">1.6.19.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>inOutId</td>
<td>Long</td>
<td>出入库主记录 ID</td>
<td><code>biz_meter_in_out.id</code></td>
</tr>
<tr>
<td>batchNo</td>
<td>String</td>
<td>批次号</td>
<td><code>biz_meter_in_out.batch_no</code></td>
</tr>
<tr>
<td>actionStatus</td>
<td>String</td>
<td>处理状态:<code>SUCCESS</code><code>PARTIAL</code><code>FAIL</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>successCount</td>
<td>Integer</td>
<td>成功处理数量</td>
<td>汇总结果</td>
</tr>
<tr>
<td>failCount</td>
<td>Integer</td>
<td>失败数量</td>
<td>汇总结果</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.20" id="if-meter-004-集抄数据接收接口-1"><span
class="header-section-number">1.6.20</span> IF-METER-004
集抄数据接收接口</h3>
<h4 data-number="1.6.20.1" id="请求参数-18"><span
class="header-section-number">1.6.20.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>meterCode</td>
<td>String</td>
<td></td>
<td>水表编号</td>
<td><code>biz_meter.code</code></td>
</tr>
<tr>
<td>readTime</td>
<td>Datetime</td>
<td></td>
<td>采集时间</td>
<td><code>biz_reading_data.read_time</code></td>
</tr>
<tr>
<td>currentReading</td>
<td>Decimal</td>
<td></td>
<td>当前读数</td>
<td><code>biz_reading_data.current_reading</code></td>
</tr>
<tr>
<td>deviceStatus</td>
<td>String</td>
<td></td>
<td>设备状态:<code>ONLINE</code><code>OFFLINE</code><code>ALARM</code></td>
<td>设备状态</td>
</tr>
<tr>
<td>alarmList</td>
<td>Array<String></td>
<td></td>
<td>告警编码列表</td>
<td>告警结果</td>
</tr>
<tr>
<td>fileSerialNo</td>
<td>String</td>
<td></td>
<td>上送批次或文件序列号</td>
<td>幂等辅助键</td>
</tr>
<tr>
<td>sourceSystem</td>
<td>String</td>
<td></td>
<td>来源系统:<code>IOT</code><code>MDC</code></td>
<td>来源标识</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.20.2" id="响应参数-19"><span
class="header-section-number">1.6.20.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>readingId</td>
<td>Long</td>
<td>读数记录 ID</td>
<td><code>biz_reading_data.id</code></td>
</tr>
<tr>
<td>meterReadId</td>
<td>Long</td>
<td>对应抄表任务 ID</td>
<td><code>biz_meter_read.id</code></td>
</tr>
<tr>
<td>acceptStatus</td>
<td>String</td>
<td>接收状态:<code>SUCCESS</code><code>WARN</code><code>REJECT</code></td>
<td>处理状态</td>
</tr>
<tr>
<td>abnormalFlag</td>
<td>Boolean</td>
<td>是否异常</td>
<td>过程判断</td>
</tr>
<tr>
<td>nextAction</td>
<td>String</td>
<td>后续动作:<code>BILLING</code><code>RECHECK</code><code>MANUAL_REVIEW</code></td>
<td>流程控制</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.21" id="if-inst-001-报装申请提交接口-1"><span
class="header-section-number">1.6.21</span> IF-INST-001
报装申请提交接口</h3>
<h4 data-number="1.6.21.1" id="请求参数-19"><span
class="header-section-number">1.6.21.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>applyType</td>
<td>String</td>
<td></td>
<td>报装类型:<code>NEW</code><code>REBUILD</code><code>ONE_METER_ONE_HOME</code></td>
<td>业务类型</td>
</tr>
<tr>
<td>applicantName</td>
<td>String</td>
<td></td>
<td>申请人姓名</td>
<td>申请资料</td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td></td>
<td>联系手机号</td>
<td>申请资料</td>
</tr>
<tr>
<td>address</td>
<td>String</td>
<td></td>
<td>申请地址</td>
<td>申请资料</td>
</tr>
<tr>
<td>waterUseType</td>
<td>String</td>
<td></td>
<td>用水性质</td>
<td>业务字典</td>
</tr>
<tr>
<td>sourceChannel</td>
<td>String</td>
<td></td>
<td>来源渠道:<code>COUNTER</code><code>MINIAPP</code><code>GOV</code></td>
<td>来源标识</td>
</tr>
<tr>
<td>attachmentList</td>
<td>Array<String></td>
<td></td>
<td>申请附件列表</td>
<td><code>biz_content_attach</code></td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.21.2" id="响应参数-20"><span
class="header-section-number">1.6.21.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>processId</td>
<td>Long</td>
<td>流程实例 ID</td>
<td><code>biz_process.id</code></td>
</tr>
<tr>
<td>processCode</td>
<td>String</td>
<td>报装流程编号</td>
<td><code>biz_process.code</code></td>
</tr>
<tr>
<td>processStatus</td>
<td>String</td>
<td>当前状态:<code>INIT</code><code>ACCEPTED</code><code>SURVEYING</code></td>
<td><code>biz_process.process_status</code></td>
</tr>
<tr>
<td>acceptStatus</td>
<td>String</td>
<td>受理结果</td>
<td>业务状态</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.22" id="if-inst-002-踏勘结果回填接口-1"><span
class="header-section-number">1.6.22</span> IF-INST-002
踏勘结果回填接口</h3>
<h4 data-number="1.6.22.1" id="请求参数-20"><span
class="header-section-number">1.6.22.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>processId</td>
<td>Long</td>
<td></td>
<td>报装流程 ID</td>
<td><code>biz_process.id</code></td>
</tr>
<tr>
<td>schemeVersion</td>
<td>String</td>
<td></td>
<td>方案版本号</td>
<td><code>biz_business_datas</code></td>
</tr>
<tr>
<td>surveyResult</td>
<td>String</td>
<td></td>
<td>踏勘结论</td>
<td><code>biz_business_datas</code></td>
</tr>
<tr>
<td>estimateAmount</td>
<td>Decimal</td>
<td></td>
<td>预估费用</td>
<td><code>biz_business_datas</code></td>
</tr>
<tr>
<td>attachmentList</td>
<td>Array<String></td>
<td></td>
<td>现场照片与方案附件</td>
<td><code>biz_content_attach</code></td>
</tr>
<tr>
<td>auditResult</td>
<td>String</td>
<td></td>
<td>审核结果:<code>PASS</code><code>REJECT</code></td>
<td>审核结果</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.22.2" id="响应参数-21"><span
class="header-section-number">1.6.22.2</span> 响应参数</h4>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>transferId</td>
<td>Long</td>
<td>流转记录 ID</td>
<td><code>biz_process_transfer.id</code></td>
</tr>
<tr>
<td>processStatus</td>
<td>String</td>
<td>当前流程状态</td>
<td><code>biz_process.process_status</code></td>
</tr>
<tr>
<td>nextNode</td>
<td>String</td>
<td>下一节点</td>
<td>流程控制</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.23" id="if-inst-004-签章回执接口-1"><span
class="header-section-number">1.6.23</span> IF-INST-004
签章回执接口</h3>
<h4 data-number="1.6.23.1" id="请求参数-21"><span
class="header-section-number">1.6.23.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>contractId</td>
<td>Long</td>
<td></td>
<td>合同 ID</td>
<td><code>installation_contract.id</code></td>
</tr>
<tr>
<td>requestNo</td>
<td>String</td>
<td></td>
<td>签章请求号</td>
<td>协同流水</td>
</tr>
<tr>
<td>signStatus</td>
<td>String</td>
<td></td>
<td>签章状态:<code>SUCCESS</code><code>FAIL</code><code>CANCEL</code></td>
<td><code>installation_signature.signature_status</code></td>
</tr>
<tr>
<td>signerId</td>
<td>String</td>
<td></td>
<td>签署人标识</td>
<td><code>installation_signature.signer_id</code></td>
</tr>
<tr>
<td>signatureTime</td>
<td>Datetime</td>
<td></td>
<td>签章时间</td>
<td><code>installation_signature.signature_time</code></td>
</tr>
<tr>
<td>evidenceNo</td>
<td>String</td>
<td></td>
<td>存证编号</td>
<td><code>installation_evidence.evidence_no</code></td>
</tr>
<tr>
<td>fileUrl</td>
<td>String</td>
<td></td>
<td>已签文件地址</td>
<td>结果回写</td>
</tr>
<tr>
<td>hashValue</td>
<td>String</td>
<td></td>
<td>存证哈希</td>
<td><code>installation_evidence.hash_value</code></td>
</tr>
<tr>
<td>resultMsg</td>
<td>String</td>
<td></td>
<td>结果说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.23.2" id="响应参数-22"><span
class="header-section-number">1.6.23.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>signatureId</td>
<td>Long</td>
<td>签章记录 ID</td>
<td><code>installation_signature.id</code></td>
</tr>
<tr>
<td>evidenceId</td>
<td>Long</td>
<td>存证记录 ID</td>
<td><code>installation_evidence.id</code></td>
</tr>
<tr>
<td>writeBackStatus</td>
<td>String</td>
<td>回写状态:<code>SUCCESS</code><code>IGNORE_REPEAT</code><code>FAIL</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.6.24" id="if-inst-005-报装归档接口-1"><span
class="header-section-number">1.6.24</span> IF-INST-005
报装归档接口</h3>
<h4 data-number="1.6.24.1" id="请求参数-22"><span
class="header-section-number">1.6.24.1</span> 请求参数</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
<th>主要来源/去向</th>
</tr>
</thead>
<tbody>
<tr>
<td>processId</td>
<td>Long</td>
<td></td>
<td>报装流程 ID</td>
<td><code>biz_process.id</code></td>
</tr>
<tr>
<td>archiveType</td>
<td>String</td>
<td></td>
<td>归档类型:<code>APPLY</code><code>ACCEPT</code><code>CHECK</code><code>CONTRACT</code><code>FINISH</code></td>
<td>归档分类</td>
</tr>
<tr>
<td>attachmentList</td>
<td>Array<String></td>
<td></td>
<td>归档附件列表</td>
<td><code>biz_content_attach</code></td>
</tr>
<tr>
<td>contractId</td>
<td>Long</td>
<td></td>
<td>合同 ID</td>
<td><code>installation_contract.id</code></td>
</tr>
<tr>
<td>evidenceId</td>
<td>Long</td>
<td></td>
<td>存证记录 ID</td>
<td><code>installation_evidence.id</code></td>
</tr>
<tr>
<td>operatorId</td>
<td>Long</td>
<td></td>
<td>归档操作人</td>
<td>操作上下文</td>
</tr>
</tbody>
</table>
<h4 data-number="1.6.24.2" id="响应参数-23"><span
class="header-section-number">1.6.24.2</span> 响应参数</h4>
<table>
<colgroup>
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 21%" />
<col style="width: 35%" />
</colgroup>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>archiveBatchNo</td>
<td>String</td>
<td>归档批次号</td>
<td>业务流水</td>
</tr>
<tr>
<td>archiveStatus</td>
<td>String</td>
<td>归档状态:<code>SUCCESS</code><code>PARTIAL</code><code>FAIL</code></td>
<td>业务状态</td>
</tr>
<tr>
<td>archiveCount</td>
<td>Integer</td>
<td>已归档文件数量</td>
<td>汇总结果</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>处理说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h2 data-number="1.7" id="关键接口时序图"><span
class="header-section-number">1.7</span> 关键接口时序图</h2>
<blockquote>
<p>说明:以下时序图用于说明 SYS-002
与客户渠道、外部协同子系统之间的交互边界,重点体现业务校验、协同调用、结果回写与状态更新链路。</p>
</blockquote>
<h3 data-number="1.7.1" id="在线支付下单与回调时序"><span
class="header-section-number">1.7.1</span> 1.
在线支付下单与回调时序</h3>
<pre class="mermaid"><code>sequenceDiagram
autonumber
participant Client as 客户渠道
participant SYS002 as SYS-002营收系统
participant SYS009 as SYS-009支付结算
participant Channel as 支付渠道
Client-&gt;&gt;SYS002: 提交缴费下单请求(IF-CS-003)
SYS002-&gt;&gt;SYS002: 校验客户、账单状态与应付金额
SYS002-&gt;&gt;SYS002: 生成业务订单与收费记录草稿
SYS002-&gt;&gt;SYS009: 发起支付下单协同(IF-EXT-004)
SYS009-&gt;&gt;Channel: 调用微信/支付宝统一下单
Channel--&gt;&gt;SYS009: 返回tradeNo、payUrl/prepayInfo
SYS009--&gt;&gt;SYS002: 返回交易流水与支付参数
SYS002--&gt;&gt;Client: 返回bizOrderNo、payUrl、expireTime
Channel--&gt;&gt;SYS009: 异步支付结果通知
SYS009-&gt;&gt;SYS009: 校验签名与交易状态
SYS009-&gt;&gt;SYS002: 回写支付结果(IF-EXT-005)
SYS002-&gt;&gt;SYS002: 幂等校验并更新biz_collection/biz_charge
SYS002--&gt;&gt;Client: 查询订单时返回最新支付状态
</code></pre>
<h3 data-number="1.7.2" id="电子发票申请查询补偿与回写时序"><span
class="header-section-number">1.7.2</span> 2.
电子发票申请、查询补偿与回写时序</h3>
<pre class="mermaid"><code>sequenceDiagram
autonumber
participant Counter as 柜台或客户渠道
participant SYS002 as SYS-002营收系统
participant SYS008 as SYS-008发票服务
participant Tax as 税控/开票平台
participant Job as 查询补偿任务
Counter-&gt;&gt;SYS002: 提交发票申请(IF-REV-008/IF-CS-004)
SYS002-&gt;&gt;SYS002: 校验客户、账单、开票抬头与金额
SYS002-&gt;&gt;SYS002: 生成发票申请记录biz_invoice(SUBMITTED)
SYS002-&gt;&gt;SYS008: 发起开票协同(IF-EXT-006)
SYS008-&gt;&gt;Tax: 调用税控或电子发票平台
Tax--&gt;&gt;SYS008: 返回受理结果/票号/文件地址
SYS008--&gt;&gt;SYS002: 返回受理号或异步结果
SYS002-&gt;&gt;SYS002: 记录sysRequestNo并更新为PENDING
alt 发票服务主动回写
SYS008--&gt;&gt;SYS002: 回写开票结果(IF-EXT-007)
SYS002-&gt;&gt;SYS002: 更新biz_invoice状态、票据地址与账单关联
else 未收到终态结果
Job-&gt;&gt;SYS002: 触发补偿查询(IF-REV-009)
SYS002-&gt;&gt;SYS008: 按申请单号/受理号查询结果
SYS008--&gt;&gt;SYS002: 返回处理中/成功/失败
SYS002-&gt;&gt;SYS002: 刷新查询上下文并按终态规则落账
end
SYS002--&gt;&gt;Counter: 返回申请结果或供后续查询
</code></pre>
<h3 data-number="1.7.3" id="银行代扣批次与回盘时序"><span
class="header-section-number">1.7.3</span> 3.
银行代扣批次与回盘时序</h3>
<pre class="mermaid"><code>sequenceDiagram
autonumber
participant BatchJob as 代扣批处理任务
participant SYS002 as SYS-002营收系统
participant SYS009 as SYS-009支付结算
participant Bank as 银行渠道
BatchJob-&gt;&gt;SYS002: 发起代扣批次处理(IF-REV-011)
SYS002-&gt;&gt;SYS002: 汇总代扣客户、账单与协议关系
SYS002-&gt;&gt;SYS002: 生成bk_withholding_batch/bk_withholding_item
SYS002-&gt;&gt;SYS002: 解析 send/back/reconcile 目录并固化协议、目录、文件路径
SYS002-&gt;&gt;SYS009: 下发银行代扣批次(IF-EXT-001)
SYS009-&gt;&gt;Bank: 发送代扣文件或报文
Bank--&gt;&gt;SYS009: 返回受理结果
SYS009--&gt;&gt;SYS002: 回写批次发送状态
Bank--&gt;&gt;SYS009: 回盘文件/结果通知(IF-EXT-002)
SYS009-&gt;&gt;SYS009: 解析成功、失败、异常明细
SYS009-&gt;&gt;SYS002: 回写代扣结果、差异与结算状态
SYS002-&gt;&gt;SYS002: 更新biz_withholding、账单核销、对账结算状态
SYS002--&gt;&gt;BatchJob: 返回批次处理汇总结果
</code></pre>
<h3 data-number="1.7.4" id="催缴通知下发与结果回写时序"><span
class="header-section-number">1.7.4</span> 4.
催缴通知下发与结果回写时序</h3>
<pre class="mermaid"><code>sequenceDiagram
autonumber
participant Job as 催缴任务
participant SYS002 as SYS-002营收系统
participant SYS010 as SYS-010消息服务
participant User as 客户
Job-&gt;&gt;SYS002: 触发催缴任务(IF-REV-013)
SYS002-&gt;&gt;SYS002: 按欠费账单、渠道偏好生成催缴名单
SYS002-&gt;&gt;SYS010: 提交通知下发请求(IF-EXT-008)
SYS010-&gt;&gt;User: 发送短信/公众号/APP消息
User--&gt;&gt;SYS010: 触达回执或阅读反馈
SYS010--&gt;&gt;SYS002: 回写发送结果与触达状态
SYS002-&gt;&gt;SYS002: 更新催缴记录、四态状态与后续策略
SYS002--&gt;&gt;Job: 返回催缴任务执行结果
</code></pre>
<p><a id="sec-data-object"></a> ## 数据对象与表口径</p>
<h3 data-number="1.7.5" id="sys-002-接口核心数据对象"><span
class="header-section-number">1.7.5</span> SYS-002 接口核心数据对象</h3>
<table>
<colgroup>
<col style="width: 30%" />
<col style="width: 30%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>数据域</th>
<th>代表表</th>
<th>接口说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>客户与账户</td>
<td><code>biz_cust</code><code>biz_account</code><code>biz_cust_contact</code></td>
<td>用于客户查询、账户绑定、资料维护</td>
</tr>
<tr>
<td>客户扩展关系</td>
<td><code>biz_cust_meter</code><code>biz_cust_invoice</code><code>biz_cust_app_binds</code><code>biz_cust_collection_rel</code><code>biz_cust_withholding_rel</code></td>
<td>用于客户关联对象查询与服务协同</td>
</tr>
<tr>
<td>抄表与开账</td>
<td><code>biz_meter_book</code><code>biz_meter_read</code><code>biz_reading_data</code><code>biz_last_reading</code><code>biz_charge</code><code>biz_charge_detail</code></td>
<td>用于抄表任务、账单生成、费用明细查询</td>
</tr>
<tr>
<td>价格与参数</td>
<td><code>biz_price_*</code><code>biz_cost_component</code><code>biz_parameter_settings</code><code>biz_page_settings*</code></td>
<td>用于价格模板、业务参数、页面配置</td>
</tr>
<tr>
<td>收费与票据</td>
<td><code>biz_collection</code><code>biz_withholding</code><code>biz_invoice</code><code>biz_invoice_taxrate</code></td>
<td>用于收费、代扣、发票申请与回写</td>
</tr>
<tr>
<td>办理与资料</td>
<td><code>biz_process*</code><code>biz_business_datas</code><code>biz_content*</code></td>
<td>用于业务办理与进度跟踪</td>
</tr>
<tr>
<td>银行代收与结算</td>
<td><code>bk_transaction*</code><code>bk_withholding_*</code><code>bk_reconcile_*</code><code>bk_settlement_batch</code></td>
<td>用于支付流水、批次、回调、对账和结算</td>
</tr>
</tbody>
</table>
<h3 data-number="1.7.6" id="口径约束说明"><span
class="header-section-number">1.7.6</span> 口径约束说明</h3>
<ol type="1">
<li>不再使用旧稿中的
<code>customer_*</code><code>water_*</code><code>billing_*</code><code>thirdpay_*</code><code>service_*</code>
作为 SYS-002 正式接口数据口径。</li>
<li>若历史资料中仍存在旧命名,仅作为来源参考,不作为正式交付口径。</li>
<li>对 backend
中尚未明确存在独立实体表的对象,例如部分精细账务台账、红冲明细、价差调整明细等,本文仅描述为业务处理场景,不强写为既有独立接口对象。</li>
</ol>
<h2 data-number="1.8" id="跨系统报文映射表"><span
class="header-section-number">1.8</span> 跨系统报文映射表</h2>
<blockquote>
<p>说明:以下映射表用于说明 SYS-002 与
<code>SYS-008</code><code>SYS-009</code><code>SYS-010</code>
之间的关键报文字段对应关系,重点体现业务主键、状态字段、金额字段与结果回写字段,不展开各外部平台私有扩展字段。</p>
</blockquote>
<h3 data-number="1.8.1"
id="sys-002-sys-009-支付下单与结果回写映射"><span
class="header-section-number">1.8.1</span> 1. SYS-002 ↔︎ SYS-009
支付下单与结果回写映射</h3>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 24%" />
<col style="width: 31%" />
<col style="width: 10%" />
<col style="width: 17%" />
</colgroup>
<thead>
<tr>
<th>协同场景</th>
<th>SYS-002 字段</th>
<th>SYS-009/渠道字段</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>支付下单</td>
<td><code>bizOrderNo</code></td>
<td><code>businessOrderNo</code></td>
<td>SYS-002 业务订单号,作为支付协同主键</td>
<td><code>biz_collection.code</code></td>
</tr>
<tr>
<td>支付下单</td>
<td><code>chargeIds[]</code></td>
<td><code>orderItems[].sourceId</code></td>
<td>待缴账单明细标识</td>
<td><code>biz_charge.id</code></td>
</tr>
<tr>
<td>支付下单</td>
<td><code>custId</code></td>
<td><code>buyer.customerId</code></td>
<td>客户标识</td>
<td><code>biz_charge.cust_id</code> / <code>biz_cust.id</code></td>
</tr>
<tr>
<td>支付下单</td>
<td><code>paymentAmount</code></td>
<td><code>tradeAmount</code></td>
<td>交易总金额</td>
<td><code>bk_transaction.trade_amount</code></td>
</tr>
<tr>
<td>支付下单</td>
<td><code>paymentChannel</code></td>
<td><code>channelCode</code></td>
<td>支付渠道编码</td>
<td>渠道参数 / <code>bk_payment_channel.channel_code</code></td>
</tr>
<tr>
<td>支付下单</td>
<td><code>notifyUrl</code></td>
<td><code>notifyUrl</code></td>
<td>支付结果异步通知地址</td>
<td>协同参数</td>
</tr>
<tr>
<td>下单返回</td>
<td><code>tradeNo</code></td>
<td><code>tradeNo</code></td>
<td>渠道交易流水号</td>
<td><code>bk_transaction.trade_no</code></td>
</tr>
<tr>
<td>下单返回</td>
<td><code>payUrl</code>/<code>prepayInfo</code></td>
<td><code>payUrl</code>/<code>payParams</code></td>
<td>二维码链接或预支付参数</td>
<td>渠道返回</td>
</tr>
<tr>
<td>结果回写</td>
<td><code>orderStatus</code></td>
<td><code>tradeStatus</code></td>
<td>交易状态映射:<code>INIT/PAYING/SUCCESS/FAIL</code></td>
<td><code>bk_transaction.status</code></td>
</tr>
<tr>
<td>结果回写</td>
<td><code>paidAmount</code></td>
<td><code>successAmount</code></td>
<td>实际支付成功金额</td>
<td><code>biz_collection.amount</code> / 渠道结果</td>
</tr>
<tr>
<td>结果回写</td>
<td><code>callbackTime</code></td>
<td><code>notifyTime</code></td>
<td>回调时间</td>
<td><code>bk_transaction_callback.create_time</code></td>
</tr>
<tr>
<td>结果回写</td>
<td><code>writeOffStatus</code></td>
<td><code>writeBackStatus</code></td>
<td>SYS-002 核销处理结果</td>
<td>业务状态</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.2"
id="sys-002-sys-008-发票申请与结果回写映射"><span
class="header-section-number">1.8.2</span> 2. SYS-002 ↔︎ SYS-008
发票申请与结果回写映射</h3>
<table>
<colgroup>
<col style="width: 16%" />
<col style="width: 26%" />
<col style="width: 26%" />
<col style="width: 11%" />
<col style="width: 18%" />
</colgroup>
<thead>
<tr>
<th>协同场景</th>
<th>SYS-002 字段</th>
<th>SYS-008 字段</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>发票申请</td>
<td><code>invoiceCode</code></td>
<td><code>requestNo</code></td>
<td>发票申请单号 / 协同请求号</td>
<td><code>biz_invoice.code</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>custId</code></td>
<td><code>customerId</code></td>
<td>客户标识</td>
<td><code>biz_invoice.cust_id</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>chargeIds[]</code></td>
<td><code>billList[].sourceBillId</code></td>
<td>开票关联账单标识</td>
<td>业务单据关联</td>
</tr>
<tr>
<td>发票申请</td>
<td><code>invoiceTitle</code></td>
<td><code>buyerName</code></td>
<td>购方名称 / 抬头</td>
<td><code>biz_cust_invoice.invoice_title</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>taxNo</code></td>
<td><code>buyerTaxNo</code></td>
<td>购方税号</td>
<td><code>biz_cust_invoice.tax_no</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>invoiceType</code></td>
<td><code>invoiceType</code></td>
<td>电子/纸质发票类型</td>
<td><code>biz_invoice.invoice_type</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>taxRateCode</code></td>
<td><code>taxRateCode</code></td>
<td>税率编码</td>
<td><code>biz_invoice_taxrate.tax_code</code></td>
</tr>
<tr>
<td>发票申请</td>
<td><code>email</code> / <code>mobile</code></td>
<td><code>receiver.email</code> / <code>receiver.mobile</code></td>
<td>票据接收信息</td>
<td><code>biz_cust_invoice.email</code> /
<code>biz_cust_invoice.mobile</code></td>
</tr>
<tr>
<td>结果回写</td>
<td><code>invoiceStatus</code></td>
<td><code>invoiceStatus</code></td>
<td>开票状态:受理中、成功、失败、作废、红冲等</td>
<td><code>biz_invoice.invoice_status</code></td>
</tr>
<tr>
<td>结果回写</td>
<td><code>invoiceNo</code></td>
<td><code>invoiceNo</code></td>
<td>发票号码</td>
<td>开票结果</td>
</tr>
<tr>
<td>结果回写</td>
<td><code>fileUrl</code></td>
<td><code>fileUrl</code></td>
<td>发票文件下载地址</td>
<td>回写结果</td>
</tr>
<tr>
<td>结果回写</td>
<td><code>msg</code></td>
<td><code>resultMsg</code></td>
<td>结果说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.3" id="sys-002-sys-009-银行代扣对账结算映射"><span
class="header-section-number">1.8.3</span> 3. SYS-002 ↔︎ SYS-009
银行代扣、对账、结算映射</h3>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 24%" />
<col style="width: 31%" />
<col style="width: 10%" />
<col style="width: 17%" />
</colgroup>
<thead>
<tr>
<th>协同场景</th>
<th>SYS-002 字段</th>
<th>SYS-009/银行字段</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>批次下发</td>
<td><code>batchNo</code></td>
<td><code>batchNo</code></td>
<td>代扣批次号</td>
<td><code>bk_withholding_batch.batch_no</code></td>
</tr>
<tr>
<td>批次下发</td>
<td><code>businessType</code></td>
<td><code>businessType</code></td>
<td>代扣/对账/结算类型</td>
<td>协同参数</td>
</tr>
<tr>
<td>批次下发</td>
<td><code>channelCode</code></td>
<td><code>channelCode</code></td>
<td>渠道编码</td>
<td><code>bk_payment_channel.channel_code</code></td>
</tr>
<tr>
<td>批次下发</td>
<td><code>protocol</code></td>
<td><code>protocol</code></td>
<td><code>SFTP/FTP</code> 传输协议</td>
<td>统一解析结果</td>
</tr>
<tr>
<td>批次下发</td>
<td><code>sendDir</code> / <code>sendFilePath</code></td>
<td><code>sendDir</code> / <code>sendFilePath</code></td>
<td>送盘目录与文件路径</td>
<td><code>bk_withholding_batch</code></td>
</tr>
<tr>
<td>批次下发</td>
<td><code>billPeriod</code></td>
<td><code>billPeriod</code></td>
<td>账期</td>
<td>批处理参数</td>
</tr>
<tr>
<td>批次明细</td>
<td><code>itemList[].custId</code></td>
<td><code>itemList[].customerId</code></td>
<td>客户标识</td>
<td><code>bk_withholding_item.cust_id</code></td>
</tr>
<tr>
<td>批次明细</td>
<td><code>itemList[].chargeId</code></td>
<td><code>itemList[].sourceBillId</code></td>
<td>账单标识</td>
<td><code>bk_withholding_item.charge_id</code></td>
</tr>
<tr>
<td>批次明细</td>
<td><code>itemList[].amount</code></td>
<td><code>itemList[].withholdingAmount</code></td>
<td>代扣金额</td>
<td>业务金额</td>
</tr>
<tr>
<td>回盘回写</td>
<td><code>batchStatus</code></td>
<td><code>batchStatus</code></td>
<td>批次状态:已发送、已回盘等</td>
<td><code>bk_withholding_batch.status</code></td>
</tr>
<tr>
<td>回盘回写</td>
<td><code>backProtocol</code> / <code>backDir</code> /
<code>backFilePath</code></td>
<td><code>backProtocol</code> / <code>backDir</code> /
<code>backFilePath</code></td>
<td>回盘阶段最终解析结果</td>
<td><code>bk_withholding_batch</code></td>
</tr>
<tr>
<td>回盘回写</td>
<td><code>successCount</code> / <code>failCount</code></td>
<td><code>successCount</code> / <code>failCount</code></td>
<td>成功失败数量汇总</td>
<td>汇总结果</td>
</tr>
<tr>
<td>对账回写</td>
<td><code>protocol</code> / <code>dir</code> /
<code>filePath</code></td>
<td><code>protocol</code> / <code>dir</code> /
<code>filePath</code></td>
<td>对账文件最终解析结果</td>
<td><code>bk_reconcile_batch</code></td>
</tr>
<tr>
<td>对账回写</td>
<td><code>reconcileStatus</code></td>
<td><code>reconcileStatus</code></td>
<td>对账状态</td>
<td><code>bk_reconcile_batch.status</code></td>
</tr>
<tr>
<td>对账回写</td>
<td><code>diffList[]</code></td>
<td><code>diffList[]</code></td>
<td>差异明细摘要</td>
<td><code>bk_reconcile_diff</code></td>
</tr>
<tr>
<td>结算回写</td>
<td><code>settlementStatus</code></td>
<td><code>settlementStatus</code></td>
<td>结算状态</td>
<td><code>bk_settlement_batch.status</code></td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.4" id="sys-002-sys-010-催缴与业务通知映射"><span
class="header-section-number">1.8.4</span> 4. SYS-002 ↔︎ SYS-010
催缴与业务通知映射</h3>
<table>
<colgroup>
<col style="width: 16%" />
<col style="width: 26%" />
<col style="width: 26%" />
<col style="width: 11%" />
<col style="width: 18%" />
</colgroup>
<thead>
<tr>
<th>协同场景</th>
<th>SYS-002 字段</th>
<th>SYS-010 字段</th>
<th>说明</th>
<th>主要来源</th>
</tr>
</thead>
<tbody>
<tr>
<td>催缴通知</td>
<td><code>messageBizNo</code></td>
<td><code>eventNo</code></td>
<td>消息事件编号</td>
<td>业务事件编号</td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>custId</code></td>
<td><code>receiver.customerId</code></td>
<td>接收客户标识</td>
<td><code>biz_charge.cust_id</code> /
<code>biz_process.cust_id</code></td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>mobile</code></td>
<td><code>receiver.mobile</code></td>
<td>接收手机号</td>
<td>客户联系方式</td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>templateCode</code></td>
<td><code>templateCode</code></td>
<td>消息模板编码</td>
<td>模板参数</td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>arrearsAmount</code></td>
<td><code>payload.arrearsAmount</code></td>
<td>欠费金额</td>
<td><code>biz_charge.total_amount</code> / 汇总结果</td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>billPeriod</code></td>
<td><code>payload.billPeriod</code></td>
<td>账期</td>
<td><code>biz_charge.bill_period</code></td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>strategyCode</code></td>
<td><code>payload.strategyCode</code></td>
<td>命中的催缴策略编码</td>
<td>任务分组结果</td>
</tr>
<tr>
<td>催缴通知</td>
<td><code>triggerType</code></td>
<td><code>payload.triggerType</code></td>
<td>自动/人工触发方式</td>
<td>任务触发上下文</td>
</tr>
<tr>
<td>办理进度通知</td>
<td><code>processCode</code></td>
<td><code>payload.processCode</code></td>
<td>业务办理单号</td>
<td><code>biz_process.code</code></td>
</tr>
<tr>
<td>办理进度通知</td>
<td><code>processStatus</code></td>
<td><code>payload.processStatus</code></td>
<td>办理状态</td>
<td><code>biz_process.status</code></td>
</tr>
<tr>
<td>发送结果回写</td>
<td><code>status</code></td>
<td><code>sendStatus</code></td>
<td>渠道回执由 <code>SYS-002</code> 统一映射为
<code>PENDING/SUCCESS/FAIL/MANUAL_VERIFIED</code> 四态</td>
<td>消息结果</td>
</tr>
<tr>
<td>发送结果回写</td>
<td><code>reachStatus</code></td>
<td><code>reachStatus</code></td>
<td>触达/阅读状态</td>
<td>渠道回执</td>
</tr>
<tr>
<td>发送结果回写</td>
<td><code>sendTime</code></td>
<td><code>sendTime</code></td>
<td>发送时间</td>
<td>消息结果</td>
</tr>
<tr>
<td>发送结果回写</td>
<td><code>msg</code></td>
<td><code>resultMsg</code></td>
<td>结果说明</td>
<td>返回消息</td>
</tr>
</tbody>
</table>
<p><a id="sec-security-exception"></a> ## 接口安全与异常处理</p>
<h3 data-number="1.8.5" id="认证与鉴权"><span
class="header-section-number">1.8.5</span> 认证与鉴权</h3>
<ul>
<li>管理后台接口:统一采用登录态 + 权限控制 + 数据权限。</li>
<li>客户渠道接口:采用账户绑定态、手机号/验证码、OAuth
或渠道令牌机制。</li>
<li>外部协同接口:按渠道要求使用 API
Key、时间戳、数字签名、证书或国密算法。</li>
</ul>
<h3 data-number="1.8.6" id="安全控制要求"><span
class="header-section-number">1.8.6</span> 安全控制要求</h3>
<ul>
<li>全部接口统一走 HTTPS。</li>
<li>外部回调接口必须执行签名校验、重复通知幂等处理与来源校验。</li>
<li>关键交易类接口需记录业务流水、渠道流水和操作日志。</li>
<li>敏感字段如证件号、手机号、银行账号按制度要求脱敏展示。</li>
</ul>
<h3 data-number="1.8.7" id="错误码分层建议"><span
class="header-section-number">1.8.7</span> 错误码分层建议</h3>
<table>
<thead>
<tr>
<th>错误码段</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>成功</td>
</tr>
<tr>
<td>400~499</td>
<td>请求参数、权限、资源不存在等通用错误</td>
</tr>
<tr>
<td>1_002_001_xxx</td>
<td>客户主数据类错误</td>
</tr>
<tr>
<td>1_002_002_xxx</td>
<td>抄表开账类错误</td>
</tr>
<tr>
<td>1_002_003_xxx</td>
<td>收费与核销类错误</td>
</tr>
<tr>
<td>1_002_004_xxx</td>
<td>账务处理类错误</td>
</tr>
<tr>
<td>1_002_005_xxx</td>
<td>发票协同类错误</td>
</tr>
<tr>
<td>1_002_006_xxx</td>
<td>银行代收与结算类错误</td>
</tr>
<tr>
<td>1_002_007_xxx</td>
<td>客户渠道与业务办理类错误</td>
</tr>
<tr>
<td>1_002_008_xxx</td>
<td>消息通知与触达类错误</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.8" id="典型错误码建议"><span
class="header-section-number">1.8.8</span> 典型错误码建议</h3>
<table>
<colgroup>
<col style="width: 18%" />
<col style="width: 39%" />
<col style="width: 15%" />
<col style="width: 26%" />
</colgroup>
<thead>
<tr>
<th>错误码</th>
<th>适用接口/场景</th>
<th>说明</th>
<th>处理建议</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>1_002_001_001</code></td>
<td>IF-REV-001 / IF-REV-002</td>
<td>客户不存在或已停用</td>
<td>返回客户状态并阻断后续处理</td>
</tr>
<tr>
<td><code>1_002_001_002</code></td>
<td>IF-CS-001</td>
<td>账户绑定关系不存在</td>
<td>引导重新绑定客户</td>
</tr>
<tr>
<td><code>1_002_002_001</code></td>
<td>IF-REV-004</td>
<td>抄表任务不存在或已关闭</td>
<td>禁止提交抄表数据</td>
</tr>
<tr>
<td><code>1_002_002_002</code></td>
<td>IF-REV-004</td>
<td>本次读数小于上次读数且未通过异常审批</td>
<td>标记异常并进入复核</td>
</tr>
<tr>
<td><code>1_002_002_003</code></td>
<td>IF-REV-005</td>
<td>价格模板或费用组成缺失</td>
<td>阻断账单生成并提示补齐配置</td>
</tr>
<tr>
<td><code>1_002_003_001</code></td>
<td>IF-REV-006 / IF-CS-003 / IF-CS-007</td>
<td>账单已核销或不允许重复支付</td>
<td>返回当前账单支付状态</td>
</tr>
<tr>
<td><code>1_002_003_002</code></td>
<td>IF-REV-006</td>
<td>支付金额与待核销金额不一致</td>
<td>阻断核销并返回差额</td>
</tr>
<tr>
<td><code>1_002_003_003</code></td>
<td>IF-EXT-005</td>
<td>支付回调签名校验失败</td>
<td>记录异常回调并拒绝入账</td>
</tr>
<tr>
<td><code>1_002_004_001</code></td>
<td>IF-REV-007</td>
<td>账务调整目标状态不允许变更</td>
<td>返回当前账务状态</td>
</tr>
<tr>
<td><code>1_002_005_001</code></td>
<td>IF-REV-008 / IF-CS-004</td>
<td>发票申请单据不满足开票条件</td>
<td>返回不可开票原因</td>
</tr>
<tr>
<td><code>1_002_005_002</code></td>
<td>IF-EXT-007</td>
<td>发票结果回写状态非法或重复</td>
<td>按请求号执行幂等回写</td>
</tr>
<tr>
<td><code>1_002_006_001</code></td>
<td>IF-REV-011 / IF-EXT-001</td>
<td>代扣批次不存在或已发送</td>
<td>禁止重复下发批次</td>
</tr>
<tr>
<td><code>1_002_006_002</code></td>
<td>IF-EXT-002</td>
<td>银行回盘文件格式非法或批次号不匹配</td>
<td>记录异常并进入人工核查</td>
</tr>
<tr>
<td><code>1_002_006_003</code></td>
<td>IF-REV-011</td>
<td>对账差异未处理,禁止结算确认</td>
<td>需先完成差异处置</td>
</tr>
<tr>
<td><code>1_002_007_001</code></td>
<td>IF-CS-006</td>
<td>业务办理单不存在</td>
<td>返回空结果并提示核对单号</td>
</tr>
<tr>
<td><code>1_002_007_002</code></td>
<td>IF-CS-006</td>
<td>当前节点不允许补件或重复提交</td>
<td>返回当前流程节点状态</td>
</tr>
<tr>
<td><code>1_002_008_001</code></td>
<td>IF-REV-013 / IF-EXT-008</td>
<td>消息模板不存在或目标联系方式缺失</td>
<td>记录失败原因并允许后续补发</td>
</tr>
<tr>
<td><code>1_002_008_002</code></td>
<td>IF-EXT-008</td>
<td>消息通道调用超时</td>
<td>标记待重试,不直接判定业务失败</td>
</tr>
<tr>
<td><code>1_002_008_003</code></td>
<td>IF-REV-013</td>
<td>人工核查补记缺少核查说明或关联任务不存在</td>
<td>拒绝补记并提示补齐核查上下文</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.9" id="幂等与状态冲突控制"><span
class="header-section-number">1.8.9</span> 幂等与状态冲突控制</h3>
<h4 data-number="1.8.9.1" id="幂等键建议"><span
class="header-section-number">1.8.9.1</span> 幂等键建议</h4>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 31%" />
<col style="width: 36%" />
</colgroup>
<thead>
<tr>
<th>场景</th>
<th>接口</th>
<th>建议幂等键</th>
<th>幂等判定说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>支付下单</td>
<td>IF-CS-003 / IF-CS-007</td>
<td><code>bizOrderNo</code>
<code>custId + chargeIds + paymentChannel</code></td>
<td>相同业务订单仅允许创建一次有效支付单</td>
</tr>
<tr>
<td>支付回调</td>
<td>IF-EXT-005</td>
<td><code>tradeNo + tradeStatus + notifyTime</code></td>
<td>同一交易成功回调只允许入账一次</td>
</tr>
<tr>
<td>发票申请</td>
<td>IF-REV-008 / IF-CS-004</td>
<td><code>invoiceCode</code><code>custId + chargeIds</code></td>
<td>相同账单组合避免重复申请开票</td>
</tr>
<tr>
<td>发票结果回写</td>
<td>IF-EXT-007</td>
<td><code>requestNo + invoiceStatus</code></td>
<td>相同发票状态重复回写仅更新回执日志</td>
</tr>
<tr>
<td>银行批次下发</td>
<td>IF-REV-011 / IF-EXT-001</td>
<td><code>batchNo</code></td>
<td>同一代扣批次禁止重复发送</td>
</tr>
<tr>
<td>银行回盘接收</td>
<td>IF-EXT-002</td>
<td><code>batchNo + fileSerialNo</code></td>
<td>同一回盘文件只处理一次</td>
</tr>
<tr>
<td>催缴通知</td>
<td>IF-REV-013 / IF-EXT-008</td>
<td><code>messageBizNo + templateCode + receiver</code></td>
<td>同一业务事件与同一接收方避免重复发送</td>
</tr>
<tr>
<td>业务补件</td>
<td>IF-CS-006</td>
<td><code>processId + action + attachmentDigest</code></td>
<td>相同补件内容重复提交仅保留一次</td>
</tr>
</tbody>
</table>
<h4 data-number="1.8.9.2" id="状态冲突处理原则"><span
class="header-section-number">1.8.9.2</span> 状态冲突处理原则</h4>
<table>
<colgroup>
<col style="width: 23%" />
<col style="width: 38%" />
<col style="width: 38%" />
</colgroup>
<thead>
<tr>
<th>场景</th>
<th>冲突条件</th>
<th>处理原则</th>
</tr>
</thead>
<tbody>
<tr>
<td>支付核销</td>
<td>账单已完成核销后再次支付</td>
<td>拒绝重复核销,返回现有 <code>writeOffStatus</code></td>
</tr>
<tr>
<td>支付回调</td>
<td>先收到失败回调,后收到成功回调</td>
<td>以最终成功状态为准,但全过程保留回调日志</td>
</tr>
<tr>
<td>发票申请</td>
<td>单据已开票成功后再次申请</td>
<td>拒绝重复申请,返回既有发票信息</td>
</tr>
<tr>
<td>发票回写</td>
<td>已成功开票后收到失败回写</td>
<td>不覆盖成功状态,转入异常核查</td>
</tr>
<tr>
<td>银行代扣</td>
<td>批次已发送后再次下发</td>
<td>拒绝重复发送,保留原批次状态</td>
</tr>
<tr>
<td>对账结算</td>
<td>差异未消除即发起结算</td>
<td>禁止结算,提示先处理差异明细</td>
</tr>
<tr>
<td>催缴通知</td>
<td>同一账期、同一模板短时间内重复催缴</td>
<td>按通知频控策略拦截重复下发</td>
</tr>
<tr>
<td>业务办理</td>
<td>流程已办结后再次补件</td>
<td>拒绝补件,返回当前流程终态</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.10" id="异常处理要求"><span
class="header-section-number">1.8.10</span> 异常处理要求</h3>
<ul>
<li>参数校验失败:直接返回明确字段错误信息。</li>
<li>外部渠道超时:记录重试状态,不直接覆盖业务成功状态。</li>
<li>重复回调:按业务流水执行幂等控制。</li>
<li>账务状态冲突:返回当前账单状态与冲突原因,禁止重复核销。</li>
<li>外部结果晚到:允许按幂等键补写回执,但不得回退已确认成功状态。</li>
<li>人工兜底场景:支付异常、银行回盘异常、发票状态冲突等需保留人工复核入口与操作日志。</li>
</ul>
<p><a id="sec-migration-readonly"></a> ## 历史查询与迁移校验接口口径</p>
<h3 data-number="1.8.11" id="设计原则"><span
class="header-section-number">1.8.11</span> 设计原则</h3>
<ul>
<li>历史查询接口一律只读,不承担迁移修正、补写或状态变更职责。</li>
<li>不为迁移场景发明新的独立接口编号体系,统一挂靠既有
<code>IF-REV-*</code><code>IF-CS-*</code><code>IF-METER-*</code>
接口族扩展查询能力。</li>
<li>对 backend
当前未识别到独立实体表的旧细粒度对象,仅要求接口返回“历史摘要 + 原始标识
+ 状态映射”,不强行承诺独立在线业务对象。</li>
<li>迁移验收接口必须同时支持“汇总对账”和“明细追溯”两类能力,避免只能看总数、无法定位差异。</li>
</ul>
<h3 data-number="1.8.12" id="最小历史查询保留集"><span
class="header-section-number">1.8.12</span> 最小历史查询保留集</h3>
<table>
<colgroup>
<col style="width: 16%" />
<col style="width: 21%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 10%" />
</colgroup>
<thead>
<tr>
<th>查询主题</th>
<th>挂靠接口族</th>
<th>主要数据来源</th>
<th>最低返回要求</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>历史账单、特殊开账</td>
<td><code>IF-CS-002</code><code>IF-REV-005</code></td>
<td><code>biz_charge*</code> + 历史账单来源</td>
<td>原账单号、新账单号、客户号、账期、金额、状态、来源类型</td>
<td>支撑账单迁移核查与客户侧历史查询</td>
</tr>
<tr>
<td>缴费记录、柜台结账、实时收费</td>
<td><code>IF-CS-002</code><code>IF-REV-006</code><code>IF-REV-011</code></td>
<td><code>biz_collection</code><code>bk_transaction*</code> +
历史收费记录</td>
<td>原流水号、渠道、实收金额、收费时间、柜员/营业所、核销状态</td>
<td>支撑渠道对账、柜面核查和历史收据核对</td>
</tr>
<tr>
<td>红冲与账务调整</td>
<td><code>IF-REV-007</code></td>
<td>操作留痕、流程结果 + 历史调整台账</td>
<td>调整类型、关联原单号、调整金额、原因、审批状态、处理时间</td>
<td>支撑预存退款、已销调整、价差调整、分账调整、呆坏账查询</td>
</tr>
<tr>
<td>发票与开票关系</td>
<td><code>IF-REV-008</code><code>IF-CS-004</code></td>
<td><code>biz_invoice*</code> + 历史开票关系快照</td>
<td>发票号、申请单号、关联账单、票据状态、票据类型、文件地址</td>
<td>支撑发票结果核查与历史补打定位</td>
</tr>
<tr>
<td>催缴、停复水、预存短信</td>
<td><code>IF-REV-013</code><code>IF-METER-002</code></td>
<td>通知结果、流程工单 + 历史催缴记录</td>
<td>客户号、账期、催缴方式、消息状态、停复水状态、执行人、执行时间、处置引用</td>
<td>支撑催缴处置闭环核查</td>
</tr>
<tr>
<td>业务进度与电子档案</td>
<td><code>IF-CS-006</code></td>
<td><code>biz_process*</code><code>biz_content*</code> +
历史附件目录</td>
<td>业务单号、节点状态、处理轨迹、附件数量、附件元数据</td>
<td>支撑微网厅与柜台办理进度、电子档案查询</td>
</tr>
<tr>
<td>水表生命周期、检定与库存流转</td>
<td><code>IF-METER-001</code><code>IF-METER-003</code></td>
<td><code>biz_meter*</code> + 历史仓储/检定单据</td>
<td>表号、当前状态、单据类型、仓库、检定结论、证书编号、时间</td>
<td>支撑表务迁移核查与历史作业追溯</td>
</tr>
<tr>
<td>页面参数、业务字段、微信配置</td>
<td><code>IF-REV-012</code><code>IF-CS-006</code></td>
<td><code>biz_parameter_settings</code><code>biz_page_settings*</code><code>sys_wechat_app_settings</code></td>
<td>参数编码、原值、新值、启用状态、生效时间、适用渠道</td>
<td>支撑微网厅后台配置迁移核查</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.13" id="迁移验收对账接口要求"><span
class="header-section-number">1.8.13</span> 迁移验收对账接口要求</h3>
<table style="width:100%;">
<colgroup>
<col style="width: 19%" />
<col style="width: 29%" />
<col style="width: 29%" />
<col style="width: 21%" />
</colgroup>
<thead>
<tr>
<th>验收场景</th>
<th>推荐挂靠接口</th>
<th>最低查询维度</th>
<th>输出要求</th>
</tr>
</thead>
<tbody>
<tr>
<td>开账迁移核对</td>
<td><code>IF-REV-005</code><code>IF-CS-002</code></td>
<td>账期、营业所、客户类型、账单状态</td>
<td>同时提供汇总金额/笔数与可追溯明细清单</td>
</tr>
<tr>
<td>收费迁移核对</td>
<td><code>IF-REV-006</code><code>IF-REV-011</code><code>IF-CS-002</code></td>
<td>日期、渠道、营业所、收费状态</td>
<td>同时提供实收金额、流水数量和异常流水列表</td>
</tr>
<tr>
<td>发票迁移核对</td>
<td><code>IF-REV-008</code><code>IF-CS-004</code></td>
<td>开票日期、票据类型、开票状态</td>
<td>同时提供开票汇总、失败原因和票据明细定位</td>
</tr>
<tr>
<td>催缴与停复水核对</td>
<td><code>IF-REV-013</code><code>IF-METER-002</code></td>
<td>账期、催缴方式、执行状态、处理人</td>
<td>同时提供任务统计、执行明细与处置引用</td>
</tr>
<tr>
<td>业务办理与档案核对</td>
<td><code>IF-CS-006</code></td>
<td>业务类型、流程状态、附件类型、创建时间</td>
<td>同时提供流程轨迹、附件元数据和缺失标记</td>
</tr>
<tr>
<td>表务仓储与检定核对</td>
<td><code>IF-METER-001</code><code>IF-METER-003</code></td>
<td>仓库、单据类型、水表状态、检定结论</td>
<td>同时提供数量汇总和单据级追溯信息</td>
</tr>
</tbody>
</table>
<h3 data-number="1.8.14" id="接口约束补充"><span
class="header-section-number">1.8.14</span> 接口约束补充</h3>
<ul>
<li>历史查询结果应优先返回原系统标识与新系统标识的映射关系,例如原单号、原批次号、原附件标识、当前业务单号。</li>
<li>明细查询接口应支持按客户号、证件号、手机号、表号、账期、营业所、渠道、业务单号等组合检索,满足迁移验收定位需求。</li>
<li>若历史附件不直接由当前业务服务托管,接口至少返回附件元数据、来源系统、文件引用地址和可访问状态。</li>
<li>历史查询接口的导出能力属于查询扩展能力,不应与在线交易接口共用“状态变更”动作。</li>
</ul>
<p><a id="sec-status"></a> ## 实现状态说明</p>
<h3 data-number="1.8.15" id="已落地"><span
class="header-section-number">1.8.15</span> 已落地</h3>
<p>结合 <code>backend</code>
当前已确认模块与真实表,可明确支撑以下接口域:</p>
<ul>
<li>客户与账户查询、维护接口</li>
<li>抄表任务与抄表数据接口</li>
<li>账单生成与收费核销接口</li>
<li>银行代收、代扣、交易回调、对账、结算接口</li>
<li>发票申请与票据状态回写接口的业务侧支撑</li>
<li>客户渠道的账户绑定、查询、缴费、业务办理进度接口</li>
</ul>
<h3 data-number="1.8.16" id="部分落地"><span
class="header-section-number">1.8.16</span> 部分落地</h3>
<p>以下接口域已有主线支撑,但部分细粒度对象仍需结合后续实现继续核实:</p>
<ul>
<li>账务调整、退款、坏账、冲正类精细接口</li>
<li>催缴管理中针对不同通知策略和停复水联动的细分接口</li>
<li>发票补开等扩展票据后处理接口</li>
</ul>
<h3 data-number="1.8.17" id="文档先行"><span
class="header-section-number">1.8.17</span> 文档先行</h3>
<p>以下内容可保留设计说明,但当前不应直接表述为已完全落地:</p>
<ul>
<li>历史数据字典中大量细粒度账务台账接口</li>
<li>未在 backend 当前扫描范围内明确识别到的独立业务对象接口</li>
<li>特定银行或地方平台的专有报文细节</li>
<li>历史查询与迁移校验接口在实施时所依赖的只读库、归档库或映射表物理形态</li>
</ul>
<hr />
<h3 data-number="1.8.18" id="版本迭代维护说明"><span
class="header-section-number">1.8.18</span> 版本迭代维护说明</h3>
<p>当前主文档已覆盖 <code>UP / REV / CS / METER / INST / EXT</code>
六类接口域的统一编号、清单、关键接口与字段级定义。后续版本迭代按以下顺序增量维护:</p>
<ol type="1">
<li>先更新接口清单与归属模块,再补充字段级请求/响应结构;</li>
<li>涉及跨系统协同时,同步维护
<code>SYS-008</code><code>SYS-009</code><code>SYS-010</code>
报文映射;</li>
<li>涉及异常策略变化时,同步更新错误码与幂等规则;</li>
<li>完成后同步校验 <code>02_Detailed_Design/01_Detailed_Design.md</code>
与本主文档的一致性。</li>
</ol>
</body>
</html>