## 1 新建项目并获取token

### 1.1.1 接口请求地址

测  试：

请求方法为 post

### 1.1.2 请求参数说明

接口备注：*第三方系统中，点击需要查看的项目向见知现金流尽调系统请求访问**token**，每个项目的**token**不同。现金流尽调系统根据** ProjectNo**为唯一标识查找项目，如果对应的项目不存在则自动创建项目。注意**token**使用一次后即失效，再次访问项目需要重新申* *请。**（支持拉取金综和行内流水）*

请求体参数说明：

| 参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
| --- | --- | --- | --- | --- |
| projectNo | 902000_当前时间戳 | String | 是 | 项目编号，格式：902000_当前时间戳 |
| entityName | 902000_202603021400 | String | 是 | 项目名称 |
| userId | 902001 | String | 是 | 操作人员编号，固定值 |
| userName | 902001 | String | 是 | 操作人员姓名，固定值 |
| appId | remote_app | String | 是 | 固定值 |
| appSecretCode | 6ee87a361f29234ad25d7893da9975a9 | String | 是 | 安全码 md5(projectNo + "_" + entityName + "_" + dXj6eHRmPv) |
| role | VIEWER | String | 是 | 固定值 |
| orgCode | 902000 | String | 是 | 行社机构号，固定值 |
| entityId | 123456 | String | 否 | 企业统信码或个人身份证号 |
| xdRelatedPersons | [{"relatedPerson":"上海上水纯净水有限公司","relation":"董事长"}, {"relatedPerson":"于小雪","relation":"股东"}, {"relatedPerson":"深圳市云顶信息技术有限公司","relation":"父子"}] | String | 否 | 信贷关联人信息 |
| jzDataDateId | 0 | String | 否 | 拉取指定日期推送过来的金综链流水， 为0时标识不需要拉取金综链流水 |
| innerBSStartDateId | 0 | String | 否 | 拉取行内流水开始日期，0:不需要拉取 行内流水。流水分析系统根据entityId到 数仓中查询行内流水 |
| innerBSEndDateId | 0 | String | 否 | 拉取行内流水结束日期，0:不需要拉取 行内流水。流水分析系统根据entityId到 数仓中查询行内流水 |
| analysisType | -1 | String | 是 | 固定值 |
| departmentCode | 902000 | String | 是 | 客户经理所属营业部/分理处的机构编码，固定值 |

返回参数说明：(200)成功

| 参数名 | 示例值 | 参数类型 | 参数描述 |
| --- | --- | --- | --- |
| code | 200 | String | 返回码:200 请求成功; 请求失败: 40100 未知异常 40101 appId错误 40102 appSecretCode错误 40104 可使用项目次数为0，无法创建项目 40105 只读模式下无法新建项目 40106 错误的分析类型，不在规定的取值范围内 40107 当前系统不支持的分析类型 40108 当前用户所属行社无权限 |
| data |  | Object | 暂无描述 |
| data.token | eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwcm9qZWN0Tm8iOiJ0ZXN0LXpqbngtMTIwNCIsInJvbGUiOiJWSUVXRVIiLCJlbnRpdHlOYW1lIjoi5rWZ5rGf5Yac5L-hdGVzdDEyMDQiLCJ1c2VyTmFtZSI6Iua1i-ivlTAwMSIsImV4cCI6MTcwMTY3ODEyMSwicHJvamVjdElkIjo3NywidXNlcklkIjoidGVzdDAwMSJ9.UMloP6vB1dayQglVdVcpC9w01kv8kyodKDYfPOC7Hac | String | token |
| data.projectId | 77 | Integer | 见知项目Id |
| data.projectNo | test-zjnx-1204 | String | 项目编号 |
| data.entityName | 浙江农信test1204 | String | 项目名称 |
| data.analysisType | 0 | Integer | 暂无描述 |
| message | create.token.success | String | 暂无描述 |
| status | 200 | String | 状态 |
| successResponse | true | Boolean | 暂无描述 |

返回示例：(200)成功

| {"code":"200","data":{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwcm9qZWN0Tm8iOiJ0ZXN0LXpqbngtMTIwNCIsInJvbGUiOiJWSUVXRVIiLCJlbnRpdHlOYW1lIjoi5rWZ5rGf5Yac5L-hdGVzdDEyMDQiLCJ1c2VyTmFtZSI6Iua1i-ivlTAwMSIsImV4cCI6MTcwMTY3ODEyMSwicHJvamVjdElkIjo3NywidXNlcklkIjoidGVzdDAwMSJ9.UMloP6vB1dayQglVdVcpC9w01kv8kyodKDYfPOC7Hac","projectId":77,"projectNo":"test-zjnx-1204","entityName":"浙江农信test1204","analysisType":0},"message":"create.token.success","status":"200","successResponse":true} |
| --- |

返回参数说明：(404)失败

## 2 上传文件接口

### 1.2.1 接口请求地址

测  试：158.234.196.5:82/c4c3/watson/api/project/remoteUploadSplitFile

请求头为 X-Xencio-Client-Id: 26e5b9239853436b85c623f4b7a6d0e6

请求方法为 post

### 1.2.2 请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| files | File | 上传的文件 | 是 |  |

### 1.2.3 响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
|  | code | String | 200成功 其他状态码失败 |
|  | data | Object | 列表 |
|  | accountName |  | 主体名称 |
|  | accountNo |  | 账号 |
|  | uploadFileName |  | 文件名称 |
|  | fileSize |  | 文件大小，单位Byte |
|  | status |  | 状态值 |
|  | uploadStatusDesc |  | 文件状态描述 |
|  | bank |  | 所属银行 |
|  | currency |  | 币种 |
|  | accountId |  | 账号id |
|  | logId |  | 文件id |

注：status等于-5且uploadStatusDesc等于data.wait.confirm.newaccount表示当前流水文件上传后解析成功。反之则没有成功。

### 1.2.4 参数请求样例


![Image](兰溪-流水分析对接3_images/image5.png)

### 1.2.5 结果集合样例

结果集合样例不为测试案例结果，具体测试案例结果由具体的参数案例返回为具体值

成功：

{

    "code": "200",

    "data": {

        "accountsOfLog": {

            "13976": [

                {

                    "bank": "BSX",

                    "accountName": "",

                    "accountNo": "虞海良绍兴银行流水",

                    "currency": "CNY"

                }

            ]

        },

        "uploadLogList": [

            {

                "accountNoList": [],

                "bankName": "BSX",

                "dataTypeInfo": [

                    "CSV",

                    ","

                ],

                "downloadFileName": "虞海良绍兴银行流水.csv",

                "enterpriseNameList": [],

                "filePackageId": "14b13103010e4d32b5406c764cfe3644",

                "fileSize": 46724,

                "fileUploadBy": 448,

                "fileUploadByUserName": "admin@support.com",

                "fileUploadTime": "2025-03-12 18:53:29",

                "leId": 10724,

                "logId": 13976,

                "logMeta": "{\"lostHeader\":[],\"balanceAmount\":true}",

                "logType": "bankstatement",

                "loginLeId": 10724,

                "realBankName": "BSX",

                "rows": 0,

                "source": "http",

                "status": -5,

                "templateName": "BSX_T240925",

                "totalRecords": 280,

                "trxDateEndId": 20240905,

                "trxDateStartId": 20230914,

                "uploadFileName": "虞海良绍兴银行流水.csv",

                "uploadStatusDesc": "data.wait.confirm.newaccount"

            }

        ],

        "uploadStatus": 1

    },

    "status": "200",

    "successResponse": true

}

## 拉取行内流水的接口

### 1.3.1 接口请求地址

测  试：158.234.196.5:82/c4c3/watson/api/project/getJZFileOrZjrcuFile

请求头为 X-Xencio-Client-Id: 26e5b9239853436b85c623f4b7a6d0e6

请求方法为 post

### 1.3.2 请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| customerNo | String | 客户身份证号 | 是 |  |
| dataChannelCode | String | 校验码 | 是 | ZJRCU |
| requestDateId | Int | 发起请求的时间 | 是 | 当天请求时间 |
| dataStartDateId | Int | 拉取开始日期 | 是 |  |
| dataEndDateId | Int | 拉取结束日期 | 是 |  |
| uploadUserId | int | 柜员号 | 是 |  |

### 响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
| 1 | code | String | 200成功 其他状态码失败 |
| 2 | data | Object | 列表 |

### 参数请求样例

拉取行内流水


![Image](兰溪-流水分析对接3_images/image4.png)

### 结果集合样例

{
    "code": "200",
    "data": [
        19154
    ],
    "status": "200",
    "successResponse": true
}

## 4 判断文件是否解析结束

### 1.4.1 接口请求地址

测  试：http://158.234.196.5:82/c4c3/watson/api/project/upload/getpendings

请求头为 X-Xencio-Client-Id: c2017e8d105c435a96f86373635b6a09

请求方法为 post

### 1.4.2 请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| inprogressList | String | 文件id | 是 |  |

### 1.4.3 响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
| 1 | code | String | 200成功 其他状态码失败 |
| 2 | data | Object | 列表 |
| 3 | uploadFileName |  | 上传文件名称 |
| 4 | status |  | 文件解析后状态值 |
| 5 | uploadStatusDesc |  | 文件解析后状态描述 |
| 6 | parsing |  | 文件解析状态，true表示解析中，false表示解析结束 |

注： 文件解析有个处理过程，parsing为false表示解析结束，可以轮询调用此接口，status等于-5且uploadStatusDesc等于data.wait.confirm.newaccount表示文件解析成功。反之则没有成功。

### 1.4.4 参数请求样例


![Image](兰溪-流水分析对接3_images/image3.png)

### 1.4.5 结果集合样例

结果集合样例不为测试案例结果，具体测试案例结果由具体的参数案例返回为具体值

成功：

{

    "code": "200",

    "data": {

        "parsing": false,

        "pendingList": [

            {

                "accountNoList": [],

                "bankName": "ZJRCU",

                "dataTypeInfo": [

                    "CSV",

                    ","

                ],

                "downloadFileName": "230902199012261247_20260201_20260201_1772096608615.csv",

                "enterpriseNameList": [],

                "filePackageId": "cde6c7cf5cab48e8892f0c1c36b2aa7d",

                "fileSize": 53101,

                "fileUploadBy": 448,

                "fileUploadByUserName": "admin@support.com",

                "fileUploadTime": "2026-02-27 09:50:18",

                "isSplit": 0,

                "leId": 16210,

                "logId": 19116,

                "logMeta": "{\"lostHeader\":[],\"balanceAmount\":true}",

                "logType": "bankstatement",

                "loginLeId": 16210,

                "lostHeader": [],

                "realBankName": "ZJRCU",

                "rows": 0,

                "source": "http",

                "status": -5,

                "templateName": "ZJRCU_T251114",

                "totalRecords": 131,

                "trxDateEndId": 20240228,

                "trxDateStartId": 20240201,

                "uploadFileName": "230902199012261247_20260201_20260201_1772096608615.csv",

                "uploadStatusDesc": "data.wait.confirm.newaccount"

            }

        ]

    },

    "status": "200",

    "successResponse": true

}

## 5 文件上传后获取单个文件上传后的状态

### 1.5.1 接口请求地址

测  试：http://158.234.196.5:82/c4c3/watson/api/project/bs/upload

请求头为 X-Xencio-Client-Id: c2017e8d105c435a96f86373635b6a09

请求方法为 get

### 1.5.2 请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| logId | Int | 文件id |  |  |

### 1.5.3 响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
| 1 | code | String | 200成功 其他状态码失败 |
| 2 | data | Object | 列表 |
| 3 | enterpriseNameList |  | 主体名称列表 |
| 4 | accountNoList |  | 账号列表 |
| 5 | uploadFileName |  | 文件名称 |
| 6 | fileSize |  | 文件大小，单位Byte |
| 7 | status |  | 状态值 |
| 8 | uploadStatusDesc |  | 文件状态描述 |
| 9 | bank |  | 所属银行 |
| 10 | currency |  | 币种 |
| 11 | accountId |  | 账号id |
| 12 | logId |  | 文件id |

注：若enterpriseNameList列表中仅有一个值且值为““,表示流水文件没生成主体，需要调用接口生成主体。

     status等于-5且uploadStatusDesc等于data.wait.confirm.newaccount表示文件上传后解析成功。反之则没有成功。

### 1.5.4 参数请求样例


![Image](兰溪-流水分析对接3_images/image2.png)

### 1.5.5 结果集合样例

结果集合样例不为测试案例结果，具体测试案例结果由具体的参数案例返回为具体值

成功：

{

    "code": "200",

    "data": {

        "logs": [

            {

                "accountNoList": [

                    "18785967364"

                ],

                "bankName": "ALIPAY",

                "dataTypeInfo": [

                    "CSV",

                    ","

                ],

                "downloadFileName": "支付宝.csv",

                "enterpriseNameList": [

                    "曾孝成"

                ],

                "fileSize": 16322,

                "fileUploadBy": 448,

                "fileUploadByUserName": "admin@support.com",

                "fileUploadTime": "2025-03-13 08:45:32",

                "isSplit": 0,

                "leId": 10741,

                "logId": 13994,

                "logMeta": "{\"lostHeader\":[],\"balanceAmount\":\"-1\"}",

                "logType": "bankstatement",

                "loginLeId": 10741,

                "lostHeader": [],

                "realBankName": "ALIPAY",

                "rows": 0,

                "source": "http",

                "status": -5,

                "templateName": "ALIPAY_T220708",

                "totalRecords": 127,

                "trxDateEndId": 20231231,

                "trxDateStartId": 20230102,

                "uploadFileName": "支付宝.pdf",

                "uploadStatusDesc": "data.wait.confirm.newaccount"

            }

        ],

        "status": "",

        "accountId": 8954,

        "currency": "CNY"

    },

    "status": "200",

    "successResponse": true

}

## 6 删除主体接口

### 1.6.1 接口请求地址

测  试：158.234.196.5:82/c4c3/watson/api/project/batchDeleteUploadFile

请求头为 X-Xencio-Client-Id: 26e5b9239853436b85c623f4b7a6d0e6

请求方法为 post

### 1.6.2  请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| logIds logIds: | Array | 文件id数组 | 是 |  |
| userId | int | 用户柜员号 | 是 |  |

### 1.6.3  响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
| 1 | code | String | 200成功 其他状态码失败 |
| 2 | data | Object | 列表 |

### 1.6.4  参数请求样例


![Image](兰溪-流水分析对接3_images/image1.png)

### 1.6.5  结果集合样例

结果集合样例不为测试案例结果，具体测试案例结果由具体的参数案例返回为具体值

成功：

{

    "code": "200 OK",

    "data": {

        "message": "delete.files.success"

    },

    "message": "delete.files.success",

    "status": "200",

    "successResponse": true

}

## 7 获取流水列表并存储到兰溪本地

### 1.7.1 接口请求地址

测  试：158.234.196.5:82/c4c3/watson/api/project/getBSByLogId

请求头为 X-Xencio-Client-Id: 26e5b9239853436b85c623f4b7a6d0e6

请求方法为 post

### 1.7.2  请求参数说明

| 参数 | 类型 | 参数名称 | 是否必填 | 说明 |
| --- | --- | --- | --- | --- |
| groupId | Int | 项目id | 是 |  |
| logId | Int | 文件id | 是 |  |
| pageNow | Int | 当前页码 | 是 |  |
| pageSize | Int | 查询条数 | 是 |  |

### 1.7.3  响应结果信息

| 序号 | 字段 | 类型 | 备注 |
| --- | --- | --- | --- |
| 1 | code | String | 200成功 其他状态码失败 |
| 2 | data | Object | 列表 |
| 3 | bankStatementList | 流水列表 |  |
| 4 | totalCount | 总条数 |  |

### 1.7.4  参数请求样例


![Image](兰溪-流水分析对接3_images/image6.png)

### 1.7.5  结果集合样例

结果集合样例不为测试案例结果，具体测试案例结果由具体的参数案例返回为具体值

成功：

{

    "code": "200",

    "data": {

        "bankStatementList": [

            {

                "accountId": 0,

                "accountMaskNo": "101015251071645",

                "accountingDate": "2024-02-01",

                "accountingDateId": 20240201,

                "archivingFlag": 0,

                "attachments": 0,

                "balanceAmount": 4814.82,

                "bank": "ZJRCU",

                "bankComments": "",

                "bankStatementId": 12847662,

                "bankTrxNumber": "1a10458dd5c3366d7272285812d434fc",

                "batchId": 19135,

                "cashType": "1",

                "commentsNum": 0,

                "crAmount": 0,

                "cretNo": "230902199012261247",

                "currency": "CNY",

                "customerAccountMaskNo": "597671502",

                "customerBank": "",

                "customerId": -1,

                "customerName": "小店",

                "customerReference": "",

                "downPaymentFlag": 0,

                "drAmount": 245.8,

                "exceptionType": "",

                "groupId": 16238,

                "internalFlag": 0,

                "leId": 16308,

                "leName": "张传伟",

                "overrideBsId": 0,

                "paymentMethod": "",

                "sourceCatalogId": 0,

                "split": 0,

                "subBankstatementId": 0,

                "toDoFlag": 0,

                "transAmount": 245.8,

                "transFlag": "P",

                "transTypeId": 0,

                "transformAmount": 0,

                "transformCrAmount": 0,

                "transformDrAmount": 0,

                "transfromBalanceAmount": 0,

                "trxBalance": 0,

                "trxDate": "2024-02-01 10:33:44",

                "userMemo": "财付通消费_小店"

            }

        ],

        "totalCount": 131

    },

    "status": "200",

    "successResponse": true

}



接口说明:

1. 初始化调用/account/common/getToken接口创建项目（必填参数按要求输入，选填参数可忽略）。
1. 其次调用/watson/api/project/remoteUploadSplitFile接口上传文件，或者拉取行内流水/watson/api/project/getJZFileOrZjrcuFile
1. 接着调用/watson/api/project/upload/getpendings获取文件解析的状态，因为文件上传后有个解析过程，所以需要观察该接口返回的parsing是否为false，如果为true，可间隔1s轮询调用此接口，直到parsing为false，获取status的值，如果不为-5，提示用户解析失败。
1. 如果流水文件解析成功，可以调用/watson/api/project/bs/upload接口获取解析后主体名称和账号等信息。
1. 如果流水文件解析失败，可以调用/watson/api/project/batchDeleteUploadFile接口删除流水文件。
1. 流水解析成功后，调用/watson/api/project/upload/getBankStatement接口将对应的流水明细存储到兰溪本地
生产ip：64.202.32.176

