5.9 KiB
5.9 KiB
DWBG9FB3 个人风险档案 — 响应结构说明
概述
DWBG9FB3(个人风险档案)本身是一个独立接口,接收三要素入参后,并发调用 12 个子产品处理器,将各子接口原始返回数据直接拼接融合为一个 JSON 对象返回。
- 不使用
success/data/error等包装结构 - 顶层 key 为简短英文单词字段名
- 每个大字段的 value 即为对应子处理器的原始返回对象
- 子产品调用失败时,该字段值为
null,不影响其他字段 - 汇总时递归剔除上游流水号字段:
order_no、orderNo
最终扁平结构(dwbg9FB3OutputSchema)
顶层共 13 个 key,由 buildDWBG9FB3Response 按 dwbg9FB3OutputSchema 构造:
| 序号 | 顶层 key | 产品编码 | 数据来源方法 | value 类型 |
|---|---|---|---|---|
| 1 | RA |
— | buildDWBG9FB3RA |
对象(6 个评分字段) |
| 2 | presence |
YYSYE7V5 | ProcessYYSYE7V5Request |
对象 / null |
| 3 | duration |
YYSYP0T4 | ProcessYYSYP0T4Request |
对象 / null |
| 4 | triple |
YYSYK9R4 | ProcessYYSYK9R4Request |
对象 / null |
| 5 | identity |
IVYZN2P8 | ProcessIVYZN2P8Request |
对象 / null |
| 6 | fraud |
JRZQV3HM | ProcessJRZQV3HMRequest |
对象 / null |
| 7 | probe |
JRZQ4B6C | ProcessJRZQ4B6CRequest |
对象 / null |
| 8 | rating |
JRZQ5E9F | ProcessJRZQ5E9FRequest |
对象 / null |
| 9 | intent |
JRZQ3C7B | ProcessJRZQ3C7BRequest |
对象 / null |
| 10 | special |
JRZQV7MD | ProcessJRZQV7MDRequest |
对象 / null |
| 11 | complaint |
JRZQVT43 | ProcessJRZQVT43Request |
对象 / null |
| 12 | behavior |
JRZQV0MD | ProcessJRZQV0MDRequest |
对象 / null |
| 13 | judicial |
FLXG7E8F | ProcessFLXG7E8FRequest |
对象 / null |
RA 子结构
| key | 计算方法 | 说明 |
|---|---|---|
ra_score |
buildDWBG9FB3RA |
综合安全分(千分制) |
ra_level |
raLevelFromScore |
A-F 等级(每档 100 分) |
ra_fraud_score |
calcRAFraudScore |
欺诈维度安全分 |
ra_credit_score |
calcRACreditScore |
借贷维度安全分 |
ra_judicial_score |
calcRAJudicialScore |
司法维度安全分 |
ra_verify_score |
calcRAVerifyScore |
核验维度安全分 |
请求参数
{
"id_card": "110101199001011234",
"name": "张三",
"mobile_no": "13800138000"
}
响应结构
顶层为一个扁平对象,包含总体风险评估 RA 与 12 个子维度字段:
{
"RA": {
"ra_score": 495,
"ra_level": "F",
"ra_fraud_score": 890,
"ra_credit_score": 0,
"ra_judicial_score": 580,
"ra_verify_score": 850
},
"presence": { },
"duration": { },
"triple": { },
"identity": { },
"fraud": { },
"probe": { },
"rating": { },
"intent": { },
"special": { },
"complaint": { },
"behavior": { },
"judicial": { }
}
RA 总体安全评估(千分制,越高越安全)
| 字段 | 计算方法 | 说明 |
|---|---|---|
ra_fraud_score |
calcRAFraudScore |
欺诈/黑名单维度安全分 |
ra_credit_score |
calcRACreditScore |
借贷/逾期维度安全分 |
ra_judicial_score |
calcRAJudicialScore |
司法涉诉维度安全分 |
ra_verify_score |
calcRAVerifyScore |
身份/在网核验维度安全分 |
ra_score |
buildDWBG9FB3RA |
四维安全分加权汇总 |
ra_level |
raLevelFromScore |
A 最安全,F 最不安全 |
综合分权重:fraud 25% + credit 35% + judicial 25% + verify 15%
等级划分:A(900-1000)、B(800-899)、C(700-799)、D(600-699)、E(500-599)、F(0-499)
各维度统计方式:先由 *RiskPoints 方法累计风险扣分,再 安全分 = 1000 - 扣分
详细规则见 dwbg9fb3_ra.md
响应示例
{
"RA": {
"ra_score": 495,
"ra_level": "F",
"ra_fraud_score": 890,
"ra_credit_score": 0,
"ra_judicial_score": 580,
"ra_verify_score": 850
},
"presence": {
"status": "1",
"operator": "1"
},
"duration": {
"result": "3",
"desc": "在网时长12-24个月"
},
"triple": {
"state": "1",
"operator": "1"
},
"identity": {
"result": 0,
"desc": "一致",
"sex": "男",
"birthday": "1990-01-01",
"address": "北京市东城区"
},
"fraud": {
"hit": 0
},
"probe": {
"score": 650,
"risk_level": "B"
},
"rating": {
"score": 720,
"level": "A"
},
"intent": {
"apply_loan": {
"d7": { "id": 0, "cell": 1 },
"m1": { "id": 1, "cell": 2 }
}
},
"special": {
"hit": 0
},
"complaint": {
"hit": 0
},
"behavior": {
"hit": 0
},
"judicial": {
"judicial_data": {
"lawsuitStat": {
"count_total": 0,
"count_jie_total": 0,
"count_wei_total": 0
},
"breachCaseList": [],
"consumptionRestrictionList": []
}
}
}
部分失败示例
某个子产品查无记录或异常时,对应字段为 null,其余字段正常返回:
{
"presence": {
"status": "1",
"operator": "1"
},
"judicial": null
}
调用流程
flowchart LR
A[DWBG9FB3 请求] --> B[参数校验]
B --> C[并发调用 12 个子处理器]
C --> D1[presence]
C --> D2[duration]
C --> D3[triple]
C --> D4[identity]
C --> D5[fraud]
C --> D6[probe]
C --> D7[rating]
C --> D8[intent]
C --> D9[special]
C --> D10[complaint]
C --> D11[behavior]
C --> D12[judicial]
D1 --> E[拼接融合为一个对象]
D2 --> E
D3 --> E
D4 --> E
D5 --> E
D6 --> E
D7 --> E
D8 --> E
D9 --> E
D10 --> E
D11 --> E
D12 --> E
E --> F[返回 JSON]
实现说明
- 复用
dwbg8b4d中的callProcessor,通过CombService.GetProcessor按产品编码路由。 - 12 个 goroutine 并发执行,结果写入
map[英文字段名]子处理器原始数据。 - 子产品数据保持各处理器原有返回结构,不做二次转换。