# AiRiskMesh 产品体验 · 数据格式使用说明

本文档说明产品体验上传数据的字段含义、格式要求与脱敏规则。体验数据只用于本次产品分析，请确保文件已脱敏，不包含生产个人信息。

## 一、文件清单

| 文件 | 页面数据类型 | 内容 |
|---|---|---|
| decision_case_import_template.csv | 导入决策案件 | 每个案件一行：策略决策与人工实际决策、中间变量上下文与规则执行结果 |
| case_label_import_template.csv | 导入案件标签 | 每个案件的处置标签（风险确认、复核结论等） |
| user_label_import_template.csv | 导入用户标签 | 每个用户主体的标签（风险标签、复核标签等） |

决策案件与案件标签两个文件通过 `caseRecordId` 关联；用户标签文件通过 `identity` + `idType` 标识用户主体。至少上传一个文件即可提交体验，建议三类齐全以获得完整分析。

## 二、模板使用方式

模板 CSV 的前几行为说明行，导入前请删除：

- 第 1 行：字段名（导入表头，**保留**）
- 第 2 行：字段中文说明（删除）
- 第 3–4 行：填写要求说明（删除）
- 第 5 行起：示例数据（删除，替换为实际数据）

## 三、通用格式要求

- 文件格式：UTF-8 编码的 CSV，首行为字段名表头，列名与模板保持一致
- 单个文件不超过 2GB
- 时间格式：ISO 8601（如 `2026-07-03T10:30:00`）
- `caseRecordId` 为案件唯一标识，全局唯一、不能重复，决策案件与案件标签两类文件间须可关联
- `sourceType` 数据来源类型：`APPLY`（申请）/ `TRANSACTION`（交易）

## 四、字段说明

### decision_case_import_template.csv（决策案件）

| 字段 | 含义 | 要求 |
|---|---|---|
| caseRecordId | 案件记录ID | 必填，全局唯一 |
| eventTraceId | 事件流水号，请求事件数据的唯一编号 | 必填 |
| businessId | 业务流水号，当前请求相关业务订单编号 | 可空 |
| caseType | 案件类型 | 必填，枚举：application_fraud / pre_credit_grant / in_event_fraud / in_event_loan / in_event_early_warning / transaction_fraud / aml_strategy / post_loan_collection |
| decisionKey | 策略 key，决策使用的唯一编号 | 可空 |
| decisionVersion | 策略版本号 | 可空 |
| decisionLevel | 决策等级 | 必填，HIGH / MEDIUM / LOW |
| decisionScore | 决策评分 | 推荐 |
| decisionAction | 决策动作 | 必填，BLOCK / REVIEW / ALLOW |
| actualDecisionAction | 实际决策动作（人工处置结果） | 必填，BLOCK / REVIEW / ALLOW |
| actualDecisionLevel | 实际决策等级 | 必填，HIGH / MEDIUM / LOW |
| notes | 备注说明 | 可空 |
| decisionTime | 决策时间 | 必填，ISO 8601 |
| eventCode | 事件编码 | 可空 |
| caseName | 案件名称 | 可空 |
| shareContext | 中间变量上下文 | 必填，JSON 字符串（如 `{"ip":"192.168.1.1","deviceId":"DEV001"}`） |
| results | 规则执行结果列表 | 推荐，JSON 数组（元素含 ruleName / ruleCode / variables / output），为空则无法做规则执行匹配 |
| sourceType | 数据来源类型 | 可空，APPLY / TRANSACTION |

注意：JSON 字段整体须用双引号包裹，JSON 内部双引号按 CSV 规范转义为两个双引号（模板示例行即标准写法）。

### case_label_import_template.csv（案件标签）

| 字段 | 含义 | 要求 |
|---|---|---|
| caseRecordId | 案件记录ID | 必填，全局唯一 |
| eventTraceId | 事件流水号 | 可空 |
| labelCode | 标签编码（如 RISK_LABEL / REVIEW_LABEL） | 必填 |
| labelValue | 标签值（如 FRAUD_CONFIRMED / NEED_REVIEW） | 必填 |
| userId | 操作人ID | 可空 |
| disposalTime | 处置时间 | 必填，ISO 8601 |
| sourceType | 数据来源类型 | 可空，APPLY / TRANSACTION |

### user_label_import_template.csv（用户标签）

| 字段 | 含义 | 要求 |
|---|---|---|
| identity | 用户主体标识 | 必填，须为脱敏后的标识（哈希或掩码），与 idType 配合使用 |
| idType | 标识类型 | 必填，如 idNumber（证件号）/ mobile（手机号）/ customer（客户号）/ ecif（客户信息编号）/ accountNo（账号） |
| labelCode | 标签编码（如 RISK_LABEL / REVIEW_LABEL） | 必填 |
| labelValue | 标签值（如 FRAUD_CONFIRMED / NEED_REVIEW） | 必填 |
| labelTime | 打标时间 | 必填，ISO 8601 |

## 五、脱敏规则

- 不得包含姓名、身份证号、手机号、银行卡号、住址等直接个人信息
- `caseRecordId`、`eventTraceId`、`businessId` 请使用脱敏后的内部编号，不要使用可回溯到个人的原始业务号
- 用户标签文件的 `identity` 即使为证件号、手机号等类型，也必须是哈希或掩码后的值，禁止上传明文
- `shareContext` 中的 IP、设备号等字段请做哈希或掩码处理
- 上传即视为确认数据已完成脱敏，且有权用于本次产品体验分析

## 六、分析结果

数据与邮箱提交后，分析结果（含失败原因）会通过邮件发送至填写的邮箱，无需停留在页面等待。同一体验码再次输入时，可直接查看上次任务的进度。
