Files
ccdi/assets/对接流水分析/兰溪-流水分析对接3.md
2026-03-04 15:30:41 +08:00

736 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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接口将对应的流水明细存储到兰溪本地
生产ip64.202.32.176