车辆资产核验与数字化风控的最后拼图
在汽车金融、保险核保以及共享出行等行业中,"人车关系"的核验始终是风控的核心难点。传统的线下查验不仅效率低下,且难以规避伪造证件的风险。对于信贷审批员或保险精算师而言,无法实时核实申请人名下的真实车辆资产,就意味着巨大的坏账隐患。
天远名下车辆数量查询 API 为这一痛点提供了标准化的数字化解决方案。它基于权威数据源,通过“姓名+身份证+手机号”三要素,毫秒级返回用户名下的车辆数量、车牌详情及车辆类型。这一能力帮助开发者将资产核验环节从“人工审核”升级为“代码自动决策”,在秒级完成对用户资产实力的初筛。
Python 接口集成实战
本节演示如何使用 Python 快速对接该接口。由于接口涉及敏感个人信息(身份证、姓名),采用了高强度的 AES-128-CBC 加密传输。我们在示例中封装了完整的请求流程与异常处理机制。
前置配置
- API Endpoint:
https://api.tianyuanapi.com/api/v1/QCXG4T6Q - 鉴权方式: HTTP Header
Access-Id+ Bodydata(AES加密) - 输入参数: 姓名、身份证号、手机号
核心代码实现
Python
import requests
import json
import time
import base64
# 生产环境建议使用 PyCryptodome 库
# from Crypto.Cipher import AES
# from Crypto.Util.Padding import pad, unpad
class VehicleAssetService:
def __init__(self, access_id, access_key):
self.url = "<https://api.tianyuanapi.com/api/v1/QCXG4T6Q>"
self.access_id = access_id
self.access_key = access_key
def query_user_vehicles(self, name, id_card, mobile):
"""
查询用户名下车辆信息
:param name: 用户真实姓名
:param id_card: 身份证号
:param mobile: 手机号
"""
# 1. 构造带时间戳的请求URL,防止重放攻击
timestamp = int(time.time() * 1000)
request_url = f"{self.url}?t={timestamp}"
payload = {
"name": name,
"id_card": id_card,
"mobile_no": mobile
}
try:
# 2. 数据加密 (AES-128-CBC)
# 逻辑说明:生成随机16字节IV -> PKCS7填充 -> AES加密 -> 拼接IV+密文 -> Base64
encrypted_data = self._encrypt_payload(json.dumps(payload))
headers = {
"Access-Id": self.access_id,
"Content-Type": "application/json"
}
body = {"data": encrypted_data}
# 3. 发送请求 (设置5秒超时)
response = requests.post(request_url, json=body, headers=headers, timeout=5)
if response.status_code == 200:
res_json = response.json()
# 业务状态码校验
if res_json.get("code") == 0:
# 解密响应数据
return self._decrypt_response(res_json.get("data"))
else:
print(f"业务异常: [{res_json.get('code')}] {res_json.get('message')}")
return None
else:
print(f"HTTP请求失败: {response.status_code}")
return None
except requests.exceptions.RequestException as e:
print(f"网络请求错误: {e}")
return None
except Exception as e:
print(f"系统内部错误: {e}")
return None
def _encrypt_payload(self, plain_text):
"""
[占位函数] AES加密逻辑实现
需遵循:AES-CBC模式,128位密钥,PKCS7填充,IV随机生成
"""
return "base64_string_placeholder"
def _decrypt_response(self, cipher_text):
"""
[占位函数] AES解密逻辑实现
需遵循:Base64解码 -> 提取前16位IV -> AES解密 -> 去除填充
"""
# 模拟解密后的返回数据
return {
"vehicleCount": "1",
"list": [
{"plateNum": "苏UC037G", "plateColor": 0, "vehicleType": 1}
]
}
# 调用示例
if __name__ == "__main__":
service = VehicleAssetService("YOUR_ACCESS_ID", "YOUR_ACCESS_KEY")
result = service.query_user_vehicles("张三", "3201021990xxxx", "1380013xxxx")
if result:
print(f"名下车辆总数: {result['vehicleCount']}")
for car in result['list']:
print(f"车牌: {car['plateNum']} | 类型代码: {car['vehicleType']}")
Curl 快速验证
Bash
curl -X POST "<https://api.tianyuanapi.com/api/v1/QCXG4T6Q?t=1735689600000>" \
-H "Access-Id: YOUR_ACCESS_ID" \
-H "Content-Type: application/json" \
-d '{"data": "YOUR_ENCRYPTED_BASE64_STRING"}'
数据字段深度解析与字典映射
天远名下车辆数量查询 API 返回的数据结构包含统计信息和详细列表。为了让数据具有业务可读性,开发者必须在本地建立“代码-含义”的映射字典。
以下是核心返回字段详解:
| 字段名 | 类型 | 描述 | 开发者注意 (Developer Notes) |
|---|---|---|---|
vehicleCount | String | 车辆总数 | 风控核心指标。若此值为 0,在车贷场景下通常意味着直接拒单或需要补充其他资产证明。 |
plateNum | String | 车牌号 | 如 "苏UC037G"。可用于后续的违章查询或车辆估值接口的入参。 |
plateColor | Integer | 车牌颜色代码 | |
vehicleType | Integer | 车辆类型代码 | 需转义。1:一型客车(私家车常见), 11:一型货车。若发现申请个人消费贷的用户名下多为货车/作业车(21-26),需警惕其是否存在营运性质,这可能影响还款能力的评估。 |
字典映射参考表:
Code 0 (未确定): 系统无法识别具体车型,建议人工复核。
Code 11 (绿色): 新能源牌照,通常意味着车辆购置时间较新,且受路权限制较少。
API 驱动的业务场景延伸
除了基础的“查数量”,该 API 还可以结合业务逻辑衍生出更多高价值应用:
-
车贷反欺诈自动化
在汽车抵押贷款申请中,申请人往往声称“名下有车”。接入该 API 后,系统可在用户提交申请的瞬间,校验其填写的车辆信息(车牌、车型)与官方登记数据是否一致。如果用户填写“奔驰S级”但接口返回“五型货车”或“无车辆信息”,系统可触发自动拦截机制,无需人工介入。
-
网约车/物流司机背景筛查
对于物流平台或网约车平台,核实司机是否“带车加盟”至关重要。通过该接口,平台可以批量核验注册司机的身份证号,确认其名下是否持有符合运营标准的车辆(如校验 vehicleType 是否为客车或货车),从而快速建立合规的运力池。
-
高净值客群精准营销
保险公司或高端俱乐部在进行客户分层时,可以将“名下车辆数量”作为评估客户经济实力的维度之一。例如,名下拥有 2 辆及以上车辆的用户,通常具有更高的家庭消费能力和保险购买潜力,系统可将其标记为 VIP 潜客,推送高价值的组合保险产品。
结语
集成 天远名下车辆数量查询 API,不仅是增加一个查询功能,更是为企业的业务流程注入了数据校验的“刚性”。它以低成本高效地解决了资产不透明的问题,是构建现代化金融风控体系不可或缺的一环。
建议开发者在对接完成后,利用单元测试覆盖 plateColor 和 vehicleType 的所有枚举值,确保业务系统能正确处理各种车辆类型的回显。