diff --git a/assets/对接流水分析/~$-流水分析对接_new.docx b/assets/对接流水分析/~$-流水分析对接_new.docx deleted file mode 100644 index 8a890f5..0000000 Binary files a/assets/对接流水分析/~$-流水分析对接_new.docx and /dev/null differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3.md b/assets/对接流水分析/兰溪-流水分析对接3.md new file mode 100644 index 0000000..f79b476 --- /dev/null +++ b/assets/对接流水分析/兰溪-流水分析对接3.md @@ -0,0 +1,735 @@ +## 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 + diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image1.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image1.png new file mode 100644 index 0000000..63c61b0 Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image1.png differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image2.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image2.png new file mode 100644 index 0000000..57f50cc Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image2.png differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image3.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image3.png new file mode 100644 index 0000000..af5259a Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image3.png differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image4.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image4.png new file mode 100644 index 0000000..2c748bc Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image4.png differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image5.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image5.png new file mode 100644 index 0000000..887ac84 Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image5.png differ diff --git a/assets/对接流水分析/兰溪-流水分析对接3_images/image6.png b/assets/对接流水分析/兰溪-流水分析对接3_images/image6.png new file mode 100644 index 0000000..eb37cba Binary files /dev/null and b/assets/对接流水分析/兰溪-流水分析对接3_images/image6.png differ