4. 授信决策引擎API需求分析:典型业务场景与功能清单
授信决策引擎的API设计必须从真实的业务场景出发,将金融风控逻辑抽象为可复用的服务接口。本章围绕个人信贷与小微企业贷两大核心场景,梳理API功能清单与非功能性需求,确保接口既能支撑高并发决策,又能满足监管合规与安全要求。
4.1 典型业务场景分析
不同客群的授信流程存在显著差异,API设计需分别适配其数据源、决策节点与审批时效。
| 场景维度 | 个人信贷(消费/现金贷) | 小微企业贷(经营/税贷) |
|---|---|---|
| 核心数据源 | 人行征信、多头借贷、社保、公积金、电商消费 | 企业征信、税务数据、发票流水、对公账户、工商信息 |
| 决策时效 | 实时(T+0秒级) | 准实时(T+0分钟级)或离线(T+1日) |
| 额度范围 | 小额(1千~30万) | 中额(10万~500万) |
| 风险特征 | 欺诈风险、还款意愿、收入稳定性 | 经营持续性、关联交易、税务合规、行业周期 |
| 典型决策节点 | 反欺诈校验 → 准入规则 → 评分卡 → 额度定价 | 企业画像 → 税务核验 → 经营评分 → 担保评估 |
设计启示: 个人信贷API需优先保障低延迟与高并发;小微企业贷API则需支持异步回调与多数据源聚合,避免因外部数据等待阻塞主流程。
4.2 API功能清单
授信决策引擎API按职责划分为进件受理、决策执行、结果查询与管理运维四大类,共计12个核心接口。
| 分类 | 接口名称 | 请求方式 | 功能描述 |
|---|---|---|---|
| 进件受理 | /api/v1/application/submit |
POST | 提交授信申请,包含客户基本信息、联系人、资产证明等 |
/api/v1/application/upload |
POST | 上传影像资料(身份证、营业执照、流水PDF),支持分片 | |
/api/v1/application/status |
GET | 查询进件当前状态(待审核/审核中/通过/拒绝) | |
| 决策执行 | /api/v1/decision/run |
POST | 触发单次授信决策,同步返回决策结果 |
/api/v1/decision/async-run |
POST | 异步发起决策,返回任务ID,通过回调或轮询获取结果 | |
/api/v1/decision/rule-test |
POST | 沙箱环境测试规则命中情况,不生成正式授信记录 | |
/api/v1/decision/explain |
GET | 获取决策解释(拒绝原因码、命中规则详情、评分贡献因子) | |
| 结果查询 | /api/v1/credit/limit |
GET | 查询客户当前有效额度、已用额度、剩余额度 |
/api/v1/credit/offer |
GET | 获取授信方案详情(利率、期限、还款方式、担保要求) | |
| 管理运维 | /api/v1/admin/strategy/deploy |
POST | 部署新策略版本,支持灰度发布与回滚 |
/api/v1/admin/monitor/latency |
GET | 获取各决策节点P99/P95/P50延迟指标 | |
/api/v1/admin/audit/log |
GET | 查询决策日志,用于监管审计与争议处理 |
接口设计原则: 所有写操作接口(submit、run、deploy)必须支持幂等性,通过请求头
Idempotency-Key 实现;查询类接口默认分页,单页上限100条。
4.3 非功能性需求
授信决策引擎属于金融核心系统,非功能性需求直接决定API的可用性与合规性。以下从性能、安全、可用性三个维度展开。
4.3.1 性能需求
| 指标 | 目标值 | 说明 |
|---|---|---|
| 平均响应时间(同步决策) | ≤ 500ms | 不含外部数据源等待,纯规则引擎计算 |
| P99响应时间 | ≤ 2s | 含一次外部征信查询(缓存命中时≤800ms) |
| 吞吐量 | ≥ 2000 TPS | 单集群,4C8G × 4节点 |
| 异步决策完成时间 | ≤ 30s | 从提交到回调通知,含所有外部数据获取 |
| 并发连接数 | ≥ 5000 | 长连接池,支持Keep-Alive |
4.3.2 安全需求
- 传输安全: 全链路TLS 1.3,禁止明文HTTP;证书使用金融行业CA签发。
- 认证与授权: 采用OAuth 2.0 + JWT,令牌有效期≤30分钟;敏感接口(admin/*)额外校验IP白名单。
- 数据脱敏: 响应中身份证号、手机号、银行卡号自动脱敏(如 110***********1234);日志中禁止输出明文敏感字段。
- 防篡改: 请求体使用HMAC-SHA256签名,服务端验签;关键决策结果(额度、利率)增加数字指纹。
- 频率限制: 按AppKey + 接口维度限流,默认100次/秒;超额返回429,并记录告警。
4.3.3 可用性需求
| 指标 | 目标值 | 实现方式 |
|---|---|---|
| SLA | 99.99% | 多可用区部署,故障自动切换 |
| 灾备恢复时间(RTO) | ≤ 60s | 主备实时同步,DNS切换 + 连接池预热 |
| 数据恢复点(RPO) | ≤ 5s | 同步复制 + WAL日志 |
| 熔断降级 | 支持 | 外部征信超时→降级为内部评分模型;数据库超时→返回缓存结果 |
| 灰度发布 | 支持 | 按用户ID哈希或流量比例切流,可实时回滚 |
关键约束: 熔断降级策略必须经过监管报备,降级后的决策结果需标记“降级标识”,并在审计日志中记录降级原因与时间戳。
4.4 授信决策API调用流程(SVG)
下图展示一次典型的个人信贷同步决策API调用流程,涵盖进件提交、反欺诈、规则引擎、评分卡与额度计算五个核心步骤。
4.5 授信决策引擎架构分层(SVG)
为支撑上述功能与非功能性需求,授信决策引擎采用四层架构:接入层、决策层、数据层与监控层。下图展示各层职责与关键组件。
架构要点: 决策层与数据层之间通过消息队列解耦,异步决策结果写入Kafka后由回调服务消费推送;监控层采集全链路Span,确保P99延迟可追溯至具体规则节点。