2. 基础知识
在进入授信决策引擎的API设计与策略服务实现之前,必须先建立对授信业务的共同语言。很多技术方案之所以在落地时反复返工,并不是因为代码写得不好,而是因为工程师对“额度”“敞口”“授信”“用信”等概念的理解与业务方不一致。本章从业务视角梳理授信领域的核心概念、术语体系、参与角色与典型场景,为后续的规则建模、接口设计和策略编排打下语义基础。
一、核心原理:授信的本质是风险定价与额度约束
授信(Credit Granting)是指金融机构基于对客户的信用评估,给予其在未来一段时间内、在一定条件下获得融资或信用便利的承诺。它的本质包含两个层面:一是风险判断,即“该不该给”;二是额度与条件约束,即“给多少、怎么给、什么条件下收回”。
从系统视角看,授信决策引擎要回答的核心问题可以归纳为一条决策链:
- 准入判断:客户是否满足基本资格,是否存在禁入规则命中。
- 额度核定:基于收入、资产、负债、征信、行为数据计算建议额度。
- 定价与期限:确定利率、费率、还款方式与授信有效期。
- 用信控制:在授信额度内,控制单笔支用、循环支用与冻结解冻。
- 贷后管理:监控风险变化,触发降额、冻结或提前收回。
这条决策链在系统中通常被抽象为“策略集 + 规则 + 评分卡 + 决策流”,而API接口则是这条链对外暴露的契约。理解业务概念,才能设计出语义清晰、可扩展的接口。
二、常见术语体系:从授信到用信的关键概念
授信业务术语繁多,且不同机构口径略有差异。下表整理了课程后续会反复使用的核心术语,建议先建立统一认知。
| 术语 | 含义说明 | 系统关注点 |
|---|---|---|
| 授信额度 | 机构承诺给予客户的最大信用敞口上限 | 额度类型、有效期、是否循环 |
| 可用额度 | 授信额度扣除已用信、冻结部分后的剩余可支用金额 | 实时计算、并发扣减 |
| 敞口 | 客户当前实际承担信用风险的本金余额 | 风险计量、资本占用 |
| 用信 | 客户在授信额度内实际发起支用并形成负债的行为 | 支用申请、放款、还款计划 |
| 循环授信 | 在授信有效期内,还款后可恢复可用额度的授信模式 | 额度恢复、循环次数控制 |
| 冻结/解冻 | 对额度或账户进行临时限制或恢复的操作 | 状态机、操作流水 |
| 征信 | 外部信用报告数据,用于评估客户历史履约情况 | 查询授权、数据解析、命中规则 |
| 评分卡 | 将多个特征映射为信用分数的模型,常用于准入与额度 | 分数阈值、版本管理 |
| 策略 | 一组规则、评分卡与决策流的组合,决定授信结果 | 版本、灰度、回滚 |
| 决策流 | 按顺序执行的决策节点编排,如规则节点、评分节点、分流节点 | 编排引擎、执行日志 |
术语统一是接口设计的前提。建议在项目初期建立“业务术语表”,并映射到API字段名、数据库字段名与策略变量名,避免同一概念在不同层出现不同命名。
三、参与角色与应用场景
授信业务不是单一系统能完成的,它涉及多个角色协同。理解角色职责,有助于划分API的调用方与权限边界。
- 客户:发起授信申请、用信申请、还款操作,是最终用户。
- 客户经理/渠道:负责客户拓展与资料收集,通过渠道系统调用授信API。
- 风控策略人员:设计规则、评分卡与决策流,配置策略版本。
- 审批人员:对高风险或超阈值案件进行人工复核。
- 资金/账务系统:负责放款、还款、额度占用与释放。
- 决策引擎:执行策略,输出授信结论、额度、定价与原因码。
- 贷后监控系统:持续监控风险信号,触发降额、冻结等动作。
典型应用场景包括:
- 新客授信申请:客户提交资料,引擎执行准入规则、征信查询、评分卡与额度模型,输出授信结果。
- 额度调整:基于贷后行为或主动申请,重新评估额度,可能提额、降额或维持。
- 用信支用:在可用额度内发起支用,引擎校验额度、期限、用途与风险状态。
- 循环支用与还款:还款后恢复额度,支持多次循环支用。
- 风险冻结与解冻:命中风险规则时冻结额度,风险解除后解冻。
在API设计中,不同场景往往对应不同的接口或同一接口的不同action。例如授信申请与额度调整可共用“授信决策接口”,通过请求参数区分场景,但响应结构需保持稳定,便于调用方解析。
四、案例与复盘:一个典型的授信决策请求
下面以一个简化的授信申请请求为例,展示业务概念如何映射到接口参数。该请求由渠道系统发起,决策引擎返回授信结论。
POST /api/v1/credit/decision
{
"requestId": "REQ202405200001",
"scene": "NEW_CREDIT_APPLY",
"customer": {
"customerId": "C10086",
"idType": "ID_CARD",
"idNo": "310***********1234",
"name": "张三",
"age": 32
},
"applyInfo": {
"productCode": "CASH_LOAN_001",
"applyAmount": 50000,
"applyTerm": 12,
"purpose": "CONSUME"
},
"auth": {
"creditQueryAgreed": true,
"agreementNo": "AGR20240520001"
}
}
引擎返回结果通常包含结论、额度、定价与原因码:
{
"requestId": "REQ202405200001",
"decision": "PASS",
"creditLimit": 30000,
"availableLimit": 30000,
"pricing": {
"annualRate": 0.108,
"term": 12
},
"reasonCodes": ["SCORE_GOOD", "INCOME_STABLE"],
"strategyVersion": "STRATEGY_202405_V3"
}
复盘这个案例,有几个常见误区值得注意:
- 误区一:把授信额度等同于放款金额。授信额度是上限,实际用信可能小于额度,系统需分别管理。
- 误区二:忽略额度占用与释放的并发问题。多笔用信同时发起时,必须保证可用额度扣减的原子性。
- 误区三:原因码设计过于随意。原因码是策略可解释性与监管合规的关键,应统一编码并支持多语言映射。
- 误区四:策略版本未透出。响应中应包含策略版本,便于问题追溯与灰度对比。
授信决策涉及个人敏感信息与征信数据,接口设计必须考虑授权校验、数据脱敏与审计日志。任何未授权查询都可能带来合规风险。