Lending Analysis (贷款分析)
这是 Lending Analysis 文档的第一版,可能会进行小幅修改。建议关注此页面以获取未来更新。
Lending Analysis 端点允许您对借款人进行完整的信用分析,将入职审核、信用分析和私人工资单工人数据查询合并为一个请求。
该操作是异步的:发送请求后,API 返回状态为 pending_inquiry 的同步响应。分析最终结果将在处理完成后通过 webhook 交付。
- 客户端向
/lending_analysis发送POST请求,包含借款人数据和所需查询。 - API 返回同步响应,包含
lending_analysis_key和状态pending_inquiry。 - 处理完成后,API 发送包含完整分析结果的 webhook。
请求
Request Body
{
"request_identifier_key": "12345678901",
"document_number": "46276658812",
"lending_analysis_type": "private_payroll",
"purchaser_document_number": "12345678000199",
"private_payroll": {
"employer_document_number": "12345678000199",
"registration_number": "12345678901"
},
"authorization_term": {
"legal_representative_document_number": "98765432100",
"signature": {
"signer": {
"document_number": "46276658812",
"name": "João da Silva",
"email": "joao.silva@email.com",
"phone": {
"number": "912345678",
"area_code": "11",
"country_code": "55"
}
},
"authentication_type": "opt_in",
"authenticity": {
"timestamp": "2026-03-12T10:00:00Z",
"ip_address": "192.168.1.100",
"fingerprint": {},
"session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
},
"analysis_data": {
"name": "João da Silva"
}
}
Body 参数
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
request_identifier_key | string | 幂等请求键。每次分析必须唯一。 | - |
document_number | string | 借款人的 CPF(仅数字)。 | 11 |
lending_analysis_type | string | 信用分析类型。 | Lending Analysis Type 枚举 |
purchaser_document_number | string | 买方/受让人 CNPJ。(可选) | 14 |
private_payroll | object | 借款人的私人工资单数据。 | Private Payroll 对象 |
authorization_term | object | 借款人授权条款。 | Authorization Term 对象 |
analysis_data | object | 用于分析的借款人附加数据。 | Analysis Data 对象 |
Private Payroll 对象
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
employer_document_number | string | 雇主 CNPJ。 | 14 |
registration_number | string | 工人登记号。 | - |
Authorization Term 对象
当存在法定代表人时,必须在 legal_representative_document_number 字段中填写代表人的 CPF,并且 signer 对象数据必须使用代表人的信息填写。
有关
authorization_term对象的更多信息,请参阅官方文档: 工人查询 - 工人 数据查询
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
legal_representative_document_number | string | 法定代表人的 CPF(仅在有法定代表人时必填)。 | 11 |
signature.signer.document_number | string | 签名人的 CPF。 | 11 |
signature.signer.name | string | 签名人姓名。 | - |
signature.signer.email | string | 签名人电子邮件。(可选) | - |
signature.signer.phone.number | string | 签名人电话号码。(可选) | - |
signature.signer.phone.area_code | string | 签名人区号。(可选) | 2 |
signature.signer.phone.country_code | string | 国家代码(例如 "55")。(可选) | 3 |
signature.authentication_type | string | 认证类型。必须为 "opt_in"。 | - |
signature.authenticity.timestamp | string | 同意日期和时间(ISO 8601 格式:2026-03-12T10:00:00Z)。 | - |
signature.authenticity.ip_address | string | 用户会话 IP(IPv4 或 IPv6)。 | - |
signature.authenticity.fingerprint | object | 附加可追溯性证据(可以是空对象 {})。 | - |
signature.authenticity.session_id | string | 用户会话标识符(最少 10 个字符,最多 50 个字符)。 | 50 |
Analysis Data 对象
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
name | string | 借款人姓名。(可选) | - |
响应
Response Body
{
"analysis_status": "pending_inquiry",
"lending_analysis_key": "06666318-c9e9-416b-ae2f-460355a3d8e8"
}
| 字段 | 类型 | 描述 |
|---|---|---|
analysis_status | string | 当前分析状态。同步响应中返回 pending_inquiry。 |
lending_analysis_key | string | 分析的 UUID 键,用于与 webhook 关联。 |
Response Body
{
"title": "Bad Request",
"description": "Invalid or missing required fields in the request body. Check 'document_number', 'lending_analysis_type', 'private_payroll', and 'authorization_term'.",
"translation": "Campos obrigatórios ausentes ou inválidos no corpo da requisição. Verifique 'document_number', 'lending_analysis_type', 'private_payroll' e 'authorization_term'.",
"extra_fields": {},
"code": "LAS000001"
}
当 request_identifier_key 字段已在先前的请求中使用时返回。
Response Body
{
"title": "Conflict",
"description": "A lending analysis with the provided 'request_identifier_key' already exists. Each analysis must use a unique identifier.",
"translation": "Já existe uma análise de crédito com o 'request_identifier_key' informado. Cada análise deve utilizar um identificador único.",
"extra_fields": {
"existing_lending_analysis_key": "06666318-c9e9-416b-ae2f-460355a3d8e8"
},
"code": "LAS000002"
}
资格查询
检查借款人是否对某个产品有活动中(未过期)的分析。如果没有,则表示可以使用 POST /lending_analysis 创建新分析。
Query 参数
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
document_number | string | 借款人的 CPF(仅数字)。 | 11 |
product_name | string | 产品名称。目前仅接受 private_payroll。 | - |
purchaser_document_number | string | 买方/受让人 CNPJ。(可选) | 14 |
调用示例
GET /lending_analysis?document_number=46276658812&product_name=private_payroll
Response — 借款人有活动中的分析
Response Body
{
"lending_analysis_key": "06666318-c9e9-416b-ae2f-460355a3d8e8",
"analysis_status": "approved",
"expires_at": "2026-03-17T10:00:00Z"
}
| 字段 | 类型 | 描述 |
|---|---|---|
lending_analysis_key | string | 借款人活动中分析的 UUID。 |
analysis_status | string | 当前分析状态。参见 分析状态。 |
expires_at | string | 分析过期日期和时间(ISO 8601)。此日期之后,借款人重新具备发起新分析的资格。 |
Response — 借款人无活动中的分析
当所提供组合下不存在活动中的分析时返回。客户端可以继续调用 POST /lending_analysis 发起新分析(前提是相同的 requester_key、产品和 purchaser_document_number 组合下存在活动中的 AnalysisConfiguration)。
Response Body
{
"code": "LAS000009",
"title": "No active lending analysis found",
"description": "No active lending analysis found for product_name=<X>, purchaser_document_number=<Y>. The borrower has no active analysis for the given product.",
"translation": "Nenhuma analise de credito ativa encontrada para product_name=<X>, purchaser_document_number=<Y>. O tomador nao possui analise ativa para o produto informado."
}
当不存在任何符合元组(requester_key、product_name、document_number、purchaser_document_number)的 Analysis,且其状态不为 failed 并且仍在有效期内(expires_at 在未来)时触发。
分析状态查询
返回特定分析的完整状态,包括状态转换历史、已执行的各个步骤以及所执行查询(inquiries)的数据。当客户端倾向于轮询而非完全依赖完成 webhook 时非常有用。
Path 参数
| 字段 | 类型 | 描述 |
|---|---|---|
lending_analysis_key | string | 分析 UUID,由 POST /lending_analysis 在创建时返回。 |
调用示例
GET /lending_analysis/06666318-c9e9-416b-ae2f-460355a3d8e8
Response
Response Body
{
"lending_analysis_key": "06666318-c9e9-416b-ae2f-460355a3d8e8",
"analysis_status": "approved",
"expires_at": "2026-03-17T10:00:00Z",
"request_identifier_key": "12345678901",
"document_number": "46276658812",
"additional_data": {
"private_payroll": {
"employer_document_number": "12345678000199",
"registration_number": "12345678901"
},
"analysis_data": {
"name": "João da Silva"
}
},
"status_events": [
{
"status": "pending_inquiry",
"created_at": "2026-03-12T10:00:00Z"
},
{
"status": "approved",
"created_at": "2026-03-12T10:05:00Z"
}
],
"inquiries": [
{
"inquiry_key": "0a1b2c3d-e5f6-7890-abcd-ef1234567890",
"inquiry_type": "private_payroll",
"inquiry_status": "success",
"inquiry_data": {}
}
],
"steps": [
{
"analysis_step_key": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"order": 1,
"step_type": "onboarding_natural_person",
"step_status": "approved"
},
{
"analysis_step_key": "a9b8c7d6-e5f4-3210-abcd-ef1234567890",
"order": 2,
"step_type": "credit_analysis_natural_person",
"step_status": "approved"
}
]
}
顶层字段
| 字段 | 类型 | 描述 |
|---|---|---|
lending_analysis_key | string | 分析 UUID。 |
analysis_status | string | 当前分析状态。参见 分析状态。 |
expires_at | string | 分析过期日期和时间(ISO 8601)。 |
request_identifier_key | string | 原始请求中提供的幂等键。 |
document_number | string | 借款人的 CPF。 |
additional_data | object | 提交给 POST /lending_analysis 的原始数据(private_payroll、authorization_term、analysis_data)。 |
status_events | array | 分析状态转换历史。Status Events 对象 |
inquiries | array | 分析期间执行的查询。Inquiries 对象(响应) |
steps | array | 已执行的各个步骤。Steps 对象 |
Status Events 对象
每一项按时间顺序记录一次状态转换及其时间戳。
| 字段 | 类型 | 描述 |
|---|---|---|
status | string | 此次转换中分析进入的状态。参见 分析状态。 |
created_at | string | 转换日期和时间(ISO 8601)。 |
Inquiries 对象(响应)
| 字段 | 类型 | 描述 |
|---|---|---|
inquiry_key | string | 查询 UUID。 |
inquiry_type | string | 查询类型。目前仅有 private_payroll。 |
inquiry_status | string | 查询状态:pending、success 或 failed。 |
inquiry_data | object | 查询返回的数据。对于 private_payroll,与完成 webhook 中显示的格式相同 — 参见 Inquiry 数据 (inquiry_data)。 |
failure_reason | string | 当 inquiry_status 为 failed 时的失败原因。(可选) |
Steps 对象
每个步骤代表处理过程中执行的一项独立分析(入职审核、信用分析)。
| 字段 | 类型 | 描述 |
|---|---|---|
analysis_step_key | string | 步骤 UUID。 |
order | integer | 步骤执行顺序(1、2 ……)。 |
step_type | string | 步骤类型:onboarding_natural_person 或 credit_analysis_natural_person。 |
step_status | string | 当前步骤状态:created、pending、approved、reproved 或 failed。 |
当所提供的 lending_analysis_key 不对应任何已存在的分析时返回。
Response Body
{
"title": "Not Found",
"description": "Lending analysis with the provided key was not found.",
"translation": "Não foi encontrada uma análise de crédito com a chave informada.",
"extra_fields": {},
"code": "LAS000005"
}
Webhooks
QI Tech 的 webhook 不应严格映射。 返回的 webhook 负载中可能包含附加字段。
Webhook 类型: laas.lending_analysis.status_change
当分析完成时,webhook 会发送到客户端环境中配置的 URL。
分析完成 Webhook
Response Body
{
"key": "06666318-c9e9-416b-ae2f-460355a3d8e8",
"status": "completed",
"webhook_type": "laas.lending_analysis.status_change",
"event_datetime": "2026-03-12T10:05:00Z",
"data": {
"request_identifier_key": "12345678901",
"analysis_status": "reproved",
"analysis_steps": [
{
"analysis_step_type": "onboarding_natural_person",
"analysis_step_status": "approved",
"reason": "Passou nas validações",
"output_data": {}
},
{
"analysis_step_type": "credit_analysis_natural_person",
"analysis_step_status": "reproved",
"reason": "Score do Serasa menor que 500",
"output_data": {
"analysis_score": 100,
"credit_model_score": 100,
"maximum_monthly_interest_rate": 0.00,
"minimum_monthly_interest_rate": 0.00,
"maximum_installments_number": 10,
"minimum_installments_number": 1,
"maximum_disbursed_issue_amount": 4500.00,
"minimum_disbursed_issue_amount": 0.00
}
}
],
"inquiries": [
{
"inquiry_type": "private_payroll",
"inquiry_data": {
"document_number": "99999999999",
"registration_number": "99999999999-A",
"employer_document_number": "99999999999962",
"name": "JOÃO SILVA",
"gender": "male",
"birth_date": "1985-07-20",
"worker_category_code": 101,
"eligible": true,
"available_margin_amount": 5000.00,
"base_margin_amount": 4500.00,
"total_due_amount": 8207.54,
"admission_date": "2020-03-15",
"termination_date": null,
"termination_reason_code": null,
"political_exposition": "not_exposed",
"employer_name": "EMPRESA XYZ LTDA",
"mother_name": "MARIA DA SILVA",
"nationality": {
"code": 76,
"description": "BRASIL"
},
"occupation": {
"code": 724325,
"description": "SOLDADOR ELETRICO"
},
"economic_activity": {
"code": 2833000,
"description": "FABRICACAO DE MAQUINAS E EQUIPAMENTOS PARA A AGRICULTURA E PECUARIA"
},
"ineligibility_reason": "not_informed",
"employer_activity_start_date": "2010-05-12",
"legacy_loans": [],
"alerts": [
{
"alert_type": "leave",
"reference_date": "2025-02-11",
"event_id": 123456,
"leave_reason_code": 3,
"leave_start_date": "2025-02-11",
"leave_end_date": "2025-03-11"
},
{
"alert_type": "termination",
"reference_date": "2025-02-11",
"event_id": 789012,
"termination_reason_code": 1,
"termination_date": "2025-02-11",
"notice_period_start_date": "2025-01-11",
"notice_period_end_date": "2025-02-11"
}
]
}
}
]
}
}
Webhook 字段描述
| 字段 | 类型 | 描述 |
|---|---|---|
key | string | 同 步响应中返回的 lending_analysis_key。 |
status | string | Webhook 状态。 |
webhook_type | string | Webhook 类型。 |
event_datetime | string | 事件日期和时间(ISO 8601)。 |
data.request_identifier_key | string | 原始请求中提供的幂等键。 |
data.analysis_status | string | 最终分析状态。分析状态 |
data.analysis_steps | array | 已执行的分析步骤列表。Analysis Steps 对象 |
data.inquiries | array | 从执行的查询中返回的数据。请参阅 Inquiry 数据 (inquiry_data) 部分。 |
Analysis Steps 对象
| 字段 | 类型 | 描述 |
|---|---|---|
analysis_step_type | string | 步骤类型。个别分析类型 |
analysis_step_status | string | 个别步骤状态(approved 或 reproved)。 |
reason | string | 批准或拒绝原因,由客户规则定义。 |
output_data | object | 步骤特定的输出数据。 |
output_data — credit_analysis
所有 output_data 字段均可在分析规则中配置。如果规则未配置返回特定字段,该字段将返回为空或不出现在负载中。
| 字段 | 类型 | 描述 |
|---|---|---|
analysis_score | number | 信用分析评分。 |
credit_model_score | number | 信用模型评分。 |
maximum_monthly_interest_rate | number | 最高月利率。 |
minimum_monthly_interest_rate | number | 最低月利率。 |
maximum_installments_number | number | 最大分期数。 |
minimum_installments_number | number | 最小分期数。 |
maximum_disbursed_issue_amount | number | 最大发放金额。 |
minimum_disbursed_issue_amount | number | 最小发放金额。 |
Inquiry 数据 (inquiry_data)
Webhook 中的 inquiries 数组包含分析期间执行的查询返回的数据。每个项目都有 inquiry_type(查询类型)和 inquiry_data(返回数据)字段。
对于 private_payroll 类型,inquiry_data 对象遵循与私人工资单模块的工人数据查询相同的响应格式,包括个人数据、代扣额度、就业关系历史、活跃贷款和警报。
inquiry_data 字段、枚举值和响应示例的完整文档请参阅:
枚举值
Lending Analysis Type 枚举
| 字段 | 描述 |
|---|---|
private_payroll | 私人工资单信用分析 |
分析状态
analysis_status(POST 202、资格查询、状态查询及 webhookdata.analysis_status)
| 状态 | 描 述 |
|---|---|
pending_inquiry | 分析已创建,正在等待初始查询(初始状态)。 |
pending_analysis | 初始查询已完成,分析步骤(入职审核、信用分析)正在执行。 |
approved | 分析已批准(终态)。 |
reproved | 分析已拒绝(终态)。 |
failed | 分析因技术错误或外部提供商不可用而失败(终态)。 |
Webhook
data.analysis_status仅以终态值(approved、reproved、failed)发出。
Webhook 状态
status(webhook 根字段)
| 状态 | 描述 |
|---|---|
completed | 处理已完成 |
failed | 处理失败 |
个别分析类型
analysis_step_type(analysis_steps数组内)
| 枚举值 | 描述 |
|---|---|
onboarding_natural_person | 借款人入职审核步骤。 |
credit_analysis_natural_person | 借款人信用分析步骤。 |