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

19 KiB
Raw Blame History

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

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

结果集合样例

{ "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

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

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

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

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