在银行风控系统、互联网小贷平台、消费金融审批、个人征信增强以及贷后监控等领域,多头借贷行为识别是风险控制的关键环节。天远API推出的多头借贷风险API,能基于全国范围内的信贷数据,识别用户是否存在多平台借贷、频繁借款或逾期风险,为金融机构提供精准的风控决策依据。
本文将以Java语言为例,详细讲解该API的调用流程、加密机制、数据结构及关键字段解释,帮助企业级开发者快速将天远API接入至信贷审批、征信风控、风险建模等业务系统。
https://api.tianyuanapi.com/api/v1/JRZQ9E2A?t={13位时间戳}import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.net.*;
import java.io.*;
import java.util.Base64;
import org.json.JSONObject;
public class TianyuanApiJava {
private static final String URL_API = "https://api.tianyuanapi.com/api/v1/JRZQ9E2A?t=1730198372111";
private static final String ACCESS_ID = "your_access_id";
private static final String ACCESS_KEY = "your_access_key_16b";
public static void main(String[] args) {
try {
JSONObject payload = new JSONObject();
payload.put("mobile_no", "13800000000");
payload.put("id_card", "110101199001010000");
payload.put("name", "张三");
payload.put("auth_authorize_file_code", "AUTH202511");
String encrypted = encrypt(payload.toString(), ACCESS_KEY);
JSONObject requestData = new JSONObject();
requestData.put("data", encrypted);
HttpURLConnection conn = (HttpURLConnection) new URL(URL_API).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Access-Id", ACCESS_ID);
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
os.write(requestData.toString().getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = br.readLine()) != null) response.append(line);
br.close();
JSONObject resp = new JSONObject(response.toString());
if (resp.getInt("code") == 200) {
String decrypted = decrypt(resp.getString("data"), ACCESS_KEY);
System.out.println("解密结果:" + decrypted);
} else {
System.out.println("接口错误:" + resp.getString("message"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static String encrypt(String plain, String key) throws Exception {
byte[] iv = new byte[16];
for (int i = 0; i < 16; i++) iv[i] = (byte) (Math.random() * 256);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
cipher.init(Cipher.ENCRYPT_MODE, skey, new IvParameterSpec(iv));
byte[] enc = cipher.doFinal(plain.getBytes());
byte[] result = new byte[iv.length + enc.length];
System.arraycopy(iv, 0, result, 0, iv.length);
System.arraycopy(enc, 0, result, iv.length, enc.length);
return Base64.getEncoder().encodeToString(result);
}
private static String decrypt(String data, String key) throws Exception {
byte[] raw = Base64.getDecoder().decode(data);
byte[] iv = new byte[16];
System.arraycopy(raw, 0, iv, 0, 16);
byte[] enc = new byte[raw.length - 16];
System.arraycopy(raw, 16, enc, 0, enc.length);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
cipher.init(Cipher.DECRYPT_MODE, skey, new IvParameterSpec(iv));
return new String(cipher.doFinal(enc));
}
}返回体中的 data 字段为加密字符串,解密后包含借贷机构数、还款记录、逾期状态及模型分数等核心指标。
字段名 | 含义 | 说明 |
|---|---|---|
xyp_cpl0001 | 贷款机构总数 | 借贷人涉及的机构数量 |
xyp_cpl0044 | 是否逾期 | 1=逾期, 0=正常 |
xyp_model_score_high | 小额网贷分 | 风险越高分值越低 |
xyp_model_score_mid | 小额分期分 | 分期贷款风险模型 |
xyp_model_score_low | 中大额分期分 | 中大额贷款模型分 |
Java开发者可借助天远API的安全接口,在企业级风控系统中实现稳定的数据拉取与风险识别流程,提升信贷审批自动化与安全性。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。