Appearance
授信结果通知
接口说明
系统异步通知授信审批结果。授信申请审批完成后(审核通过或审核拒绝),系统会主动调用第三方提供的回调接口,通知审批结果和额度信息。
接口地址
由第三方提供(与 channel 对应)
请求方法
POST
请求参数 (data 解密后)
| 字段名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| action | Integer | 是 | 动作码(90000-授信申请结果通知) | 90000 |
| transactionId | String | 是 | 通知幂等ID | NOTIFY20250117001 |
| data | Object | 是 | 通知数据 | - |
data 字段说明
| 字段名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| creditApplyId | Long | 是 | 授信申请ID | 2000001 |
| memberId | Long | 是 | 成员ID | 1000001 |
| projectId | Long | 是 | 项目ID | 1 |
| creditApplyType | Integer | 否 | 申请类型:1-首次申请,2-续授信,3-调额申请 | 1 |
| creditApplyStatus | Integer | 是 | 申请状态:3-审核通过,4-审核拒绝 | 3 |
| rejectReason | String | 条件必填 | 拒绝原因,审核拒绝时必填 | 资质不符合要求 |
| submitItems | Array | 否 | 授信提交项列表 | - |
| loanProducts | Array | 否 | 产品额度列表(审核通过时返回) | - |
submitItems 字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| itemKey | String | 授信项Key |
| itemValue | String | 授信项值(敏感信息已脱敏) |
| itemStatus | Integer | 提交状态:0-未提交,1-已提交 |
loanProducts 字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| productId | Long | 产品ID |
| productCode | String | 产品编码 |
| productName | String | 产品名称 |
| productType | Integer | 产品类型:1-应收账款保理,2-反向保理,3-订单融资,4-仓单质押融资,5-信用融资 |
| status | Integer | 产品状态:0-已关闭,1-可用 |
| quotaTotal | Long | 总授信额度(分) |
| quotaUsed | Long | 已使用额度(分) |
| quotaRemain | Long | 剩余额度(分) |
| quotaStartTime | String | 额度开始时间(yyyy-MM-dd HH:mm:ss) |
| quotaEndTime | String | 额度结束时间(yyyy-MM-dd HH:mm:ss) |
请求示例
审核通过
json
{
"action": 90000,
"transactionId": "NOTIFY20250117001",
"data": {
"creditApplyId": 2000001,
"memberId": 1000001,
"projectId": 1,
"creditApplyType": 1,
"creditApplyStatus": 3,
"submitItems": [
{
"itemKey": "SET_PASSWORD",
"itemValue": "{\"passwordHash\":\"******\"}",
"itemStatus": 1
},
{
"itemKey": "SIGN_AGREEMENT",
"itemValue": "{\"agreementId\":123,\"agreementUrl\":\"https://...\"}",
"itemStatus": 1
},
{
"itemKey": "TAX_INVOICE",
"itemValue": "{\"resourceId\":123456}",
"itemStatus": 1
}
],
"loanProducts": [
{
"productId": 1001,
"productCode": "AR_FACTORING_001",
"productName": "应收账款保理产品",
"productType": 1,
"status": 1,
"quotaTotal": 100000000,
"quotaUsed": 0,
"quotaRemain": 100000000,
"quotaStartTime": "2025-01-01 00:00:00",
"quotaEndTime": "2025-12-31 23:59:59"
}
]
}
}审核拒绝
json
{
"action": 90000,
"transactionId": "NOTIFY20250117002",
"data": {
"creditApplyId": 2000001,
"memberId": 1000001,
"projectId": 1,
"creditApplyType": 1,
"creditApplyStatus": 4,
"rejectReason": "资质不符合要求"
}
}响应参数
重要:第三方回调接口必须返回成功响应,格式如下:
json
{
"code": 0
}| 字段名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 必须为 0,表示接收成功 |
说明:
- 响应必须返回
{"code": 0},否则系统会认为通知失败并触发重试 - 不需要返回其他字段(message、data 等)
- 第三方需要做好幂等处理,相同 transactionId 的通知可能重复接收
业务规则
- 接口性质:这是系统主动调用第三方提供的回调接口
- 通知内容:通知内容与查询授信结果接口(
/api/credit/query)返回的数据结构一致 - 幂等性要求:第三方必须做好幂等处理,相同
transactionId的通知可能重复接收 - 响应要求:必须返回
{"code": 0},否则系统会触发重试 - 数据完整性:
- 审核通过时:包含
submitItems(授信项)和loanProducts(产品额度) - 审核拒绝时:包含
rejectReason(拒绝原因)
- 审核通过时:包含
- 加密规范:请求和响应都遵循标准的 SM2+SM4 加密体系
重试策略
- 当响应 code 非 0 时触发重试
- 重试公式:TN = N × I,其中 N=20次,I=20分钟
- 即:20分钟、40分钟、60分钟...最多重试20次
注意事项
- 动作码:固定为
90000(授信申请结果通知) - 通知时机:
- 授信审批完成后(审核通过或审核拒绝)
- 系统会立即发起通知,失败后会按重试策略重试
- 回调地址配置:第三方需要在系统中配置回调URL(与 channel 关联)
- 数据一致性:通知的数据结构与
/api/credit/query接口完全一致,第三方可以对比验证 - 安全性:通知请求经过 SM2+SM4 加密,第三方需要按照加密规范解密请求数据