一、 赋能HR系统,实现秒级自动化背调
在企业人力资源管理(HRM)与招聘SaaS系统中,背景调查通常是流程中最耗时、成本最高的环节。传统的线下背调周期长达3-5天,且费用昂贵。全能入职背调报告API为HR软件开发商与企业IT部门提供了一种颠覆性的解决方案。
作为天远API的数据旗舰产品,该接口(代码 COMBQN12)通过一次调用即可聚合学历学籍、不良记录、司法涉诉、社保评级及全景雷达等核心数据。本文将面向PHP开发者(特别是使用Laravel、ThinkPHP框架的工程师),详细演示如何将此API封装为标准服务,解析其多维度的返回数据,帮助企业在招聘流程中实现“一键背调”,大幅降低用人风险与决策成本。
二、 API接口调用示例(PHP版)
本接口采用标准的POST请求,数据通过Base64加密传输,非常适合PHP的 cURL 扩展进行处理。
1. 接口配置概览
- 接口地址:
https://api.tianyuanapi.com/api/v1/COMBQN12?t=13位时间戳 - 请求方式:POST
- 内容类型:
application/json - 核心参数:业务参数需先转JSON,加密后Base64编码,放入
data字段 。
2. Curl 命令行快速验证
Bash
curl -X POST "<https://api.tianyuanapi.com/api/v1/COMBQN12?t=1715068800000>" \
-H "Content-Type: application/json" \
-d '{
"data": "eyJhdXRob3JpemVkIjoiMSIsIm5hbWUiOiLlvKDku0kiLCJpZF9jYXJkIjoiNDUyMTIyMjAwMDA4Mjc0MjNYIiwibW9iaWxlX25vIjoiMTM4MDAxMzgwMDAifQ=="
}'
3. PHP 完整服务类封装示例
以下代码展示了一个独立的PHP Service类,可直接集成到 ThinkPHP 或 Laravel 的 Service 层中。
PHP
<?php
class BackgroundCheckService
{
// API地址
private $apiUrl = "<https://api.tianyuanapi.com/api/v1/COMBQN12>";
/**
* 加密处理函数(模拟)
* 实际对接请替换为天远API官方提供的加密算法(如AES/RSA)
* * @param array $data 原始业务参数
* @return string Base64编码后的字符串
*/
private function encryptData($data)
{
$jsonStr = json_encode($data, JSON_UNESCAPED_UNICODE);
// TODO: 在此处加入AES加密逻辑
// $encrypted = OpenSSL::encrypt($jsonStr, ...);
// 此处仅做Base64编码演示
return base64_encode($jsonStr);
}
/**
* 发起背调请求
* * @param string $name 姓名
* @param string $idCard 身份证号
* @param string $mobile 手机号
* @return array|null 解析后的响应数据
*/
public function queryReport($name, $idCard, $mobile)
{
// 1. 准备时间戳
$timestamp = round(microtime(true) * 1000);
$url = $this->apiUrl . "?t=" . $timestamp;
// 2. 构建请求载荷
$payload = [
"authorized" => "1", // 必须字段:1-已授权 "name" => $name,
"id_card" => $idCard,
"mobile_no" => $mobile
];
// 3. 加密参数
$encryptedData = $this->encryptData($payload);
$body = json_encode(["data" => $encryptedData]);
// 4. 初始化CURL
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时
// 5. 执行请求
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
// 记录日志:curl_error($ch)
return null;
}
curl_close($ch);
if ($httpCode === 200) {
$result = json_decode($response, true);
// 6. 解析组合包数据
if (isset($result['responses'])) {
return $this->parseResponses($result['responses']);
}
}
return null;
}
/**
* 格式化输出关键数据,便于前端展示
*/
private function parseResponses($responses)
{
$report = [
'education' => null, // 学历
'risk_level' => '正常', // 综合风险
'social_level' => '-', // 社保评级
'legal_count' => 0 // 涉诉数量
];
foreach ($responses as $item) {
if (!$item['success']) continue; // 跳过失败的子产品 $data = $item['data'];
switch ($item['api_code']) {
case 'IVYZ3P9M': // 学历核验 // 仅取第一条学历信息
if (!empty($data) && is_array($data)) {
$info = $data[0] ?? [];
$report['education'] = [
'school' => $info['schoolName'] ?? '', // 对应学校代码 'level' => $this->mapEduLevel($info['educationLevel'] ?? ''),
'date' => $info['graduationDate'] ?? ''
];
}
break;
case 'FLXGDEA9': // 公安不良 if (isset($data['level']) && $data['level'] !== '0') {
$report['risk_level'] = "存在风险(代码:{$data['level']})";
}
break;
case 'FLXG7E8F': // 司法涉诉 $report['legal_count'] = $data['judicial_data']['count']['count_total'] ?? 0;
break;
case 'JRZQ09J8': // 社保评级 $report['social_level'] = $data['level'] ?? '-';
break;
}
}
return $report;
}
// 辅助字典映射
private function mapEduLevel($code) {
$map = ['1'=>'专科', '2'=>'本科', '3'=>'硕士', '4'=>'博士']; // return $map[$code] ?? '未知';
}
}
// 调用演示
$service = new BackgroundCheckService();
$report = $service->queryReport("张三", "110101199001011234", "13912345678");
print_r($report);
三、 核心数据结构解析
天远API 的返回结构非常适合PHP的关联数组处理。根节点包含 responses 数组,每个元素对应一个子产品的查询结果。
主要子产品索引:
- IVYZ3P9M (学历核验) :返回数组结构,包含候选人的教育历史。
- FLXGDEA9 (不良人员) :返回对象结构,核心是
level字段。 - JRZQ7F1A (全景雷达) :返回复杂的嵌套对象,包含借贷申请与还款行为。
- FLXG7E8F (司法涉诉) :返回深层嵌套对象,包含
judicial_data及其下的案件详情cases。
四、 字段详解
在HR系统中,我们通常只关注影响录用的“红线”指标。以下表格列出了PHP后端需要重点解析的字段。
1. 风险与合规类 (FLXGDEA9 & FLXG7E8F)
| 字段名 (JSON key) | 对应PHP处理 | 含义 | 业务逻辑建议 |
|---|---|---|---|
level (FLXGDEA9) | $data['level'] | 不良记录等级 | 若值不为 0,建议直接触发“红灯”预警。 |
breachCaseList | $data['judicial_data']['breachCaseList'] | 失信被执行人列表 | 检查数组是否为空,若有值,说明是“老赖”。 |
concreteDetails | ...['concreteDetails'] | 失信行为详情 | 如“有履行能力而拒不履行”,需展示给HR。 |
consumptionRestrictionList | ...['consumptionRestrictionList'] | 限制高消费 | 影响员工出差购票,需提示。 |
2. 履历核验类 (IVYZ3P9M)
| 字段名 (JSON key) | 对应PHP处理 | 含义 | 业务逻辑建议 |
|---|---|---|---|
schoolName | $data[0]['schoolName'] | 学校名称/代码 | 需对照天远提供的学校字典转换中文名称。 |
specialtyName | $data[0]['specialtyName'] | 专业名称/代码 | 需对照专业字典。 |
educationLevel | $data[0]['educationLevel'] | 学历层次 | 对比候选人简历,如API返回1(专科)而简历写本科,则为造假。 |
3. 全景雷达 (JRZQ7F1A) - 财务稳定性
| 字段名 (JSON key) | 对应PHP处理 | 含义 | 业务逻辑建议 |
|---|---|---|---|
A22160001 | $data['apply_report_detail']['A22160001'] | 申请准入分 | 1-1000分,分数过低可能存在多头借贷风险。 |
B22170026 | $data['behavior_report_detail']['B22170026'] | 近12个月逾期笔数 | 频繁逾期可能影响员工工作专注度。 |
五、 应用价值分析
对于使用PHP开发的HRMS或OA系统,接入天远API可带来显著的业务增值:
-
构建候选人“诚信黑名单”库
利用FLXGDEA9(公安不良)和FLXG7E8F(失信名单)返回的数据,企业可以建立内部的黑名单数据库。当API返回“在逃”、“吸毒”(level 为 A, C) 或“失信被执行”状态时,系统自动拦截录用流程,保障企业资产安全。
-
简历自动清洗与校验
在招聘量大的蓝领或校招场景,HR面临海量简历。通过集成IVYZ3P9M(学历核验),PHP脚本可以批量比对简历中的学历字段与API返回的educationLevel。仅需几行代码,即可自动筛选出学历造假的候选人,释放HR 80%的初筛精力。
-
员工背调报告自动化生成
基于PHP强大的模板引擎(如Blade或Smarty),开发者可以将API返回的JSON数据渲染成精美的PDF背调报告。将JRZQ09J8(社保评级)映射为可视化的收入能力图表,将JRZQ7F1A(全景雷达)映射为财务风险仪表盘,为用人部门提供直观的决策依据。
六、 总结
通过PHP集成全能入职背调报告API,企业能够以极低的开发成本实现专业级的背景调查功能。该接口的“一站式”特性消除了对接多个单一数据源(如单独接学信网、法院接口)的繁琐工作。
开发者提示:
- 字典维护:由于接口返回的学校和专业多为代码(如
10001代表北京大学),建议将文档中的长字典存储到本地数据库或Redis中,以提高页面渲染速度。 - 数据缓存:背调数据具有时效性,但对于短时间内的重复查询(如HR误操作),建议在PHP端设置简短的缓存策略,节省API调用费用。
- 安全合规:务必在后台记录每一次API调用的授权凭证,以备审计。