🚀 千帆信用实名认证 API 开发文档 v5.0
欢迎使用本系统。本文档将指导您如何通过 API 快速集成金融级人脸实名认证功能。
⚠️ 重要提示:
新版 API 采用 Token 机制,API Key 仅在服务器端使用,不会暴露给前端。
核心流程:1. 服务器调用【创建认证会话】-> 2. 获取认证链接 -> 3. 用户跳转至 H5 完成活体检测 -> 4. 系统自动扣费并回调结果。
核心流程:1. 服务器调用【创建认证会话】-> 2. 获取认证链接 -> 3. 用户跳转至 H5 完成活体检测 -> 4. 系统自动扣费并回调结果。
✨ v5.0 更新内容:
• IP白名单功能 - 支持设置IP访问限制,提高安全性
• API Key更换 - 支持在线更换API Key,自动迁移历史记录
• IP白名单功能 - 支持设置IP访问限制,提高安全性
• API Key更换 - 支持在线更换API Key,自动迁移历史记录
1. 创建认证会话 (Create Auth Session)
在您的服务器端调用此接口,创建一个人脸认证会话并获取认证链接。
| 请求方式 | POST |
|---|---|
| 接口地址 | face/api.php?action=create_auth |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api_key | String | 是 | 您在后台分配的 API Key |
| name | String | 是 | 用户真实姓名(需与身份证一致) |
| id_card | String | 是 | 用户 18 位身份证号码 |
| callback_url | String | 否 | 认证完成后的异步通知地址 |
返回示例 (JSON)
{
"success": true,
"message": "认证成功会话已创建",
"data": {
"token": "a1b2c3d4e5f6...",
"auth_url": "https://gulangvision.cn/face/liveness_check.html?token=a1b2c3d4e5f6...",
"expire_in": 300
}
}
代码示例 (PHP)
<?php
// 在服务器端调用 API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://gulangvision.cn/face/api.php?action=create_auth');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'api_key' => 'YOUR_API_KEY',
'name' => '张三',
'id_card' => '110101199001011234',
'callback_url' => 'https://gulangvision.cn/callback.php'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['success']) {
// 重定向用户到认证页面
header('Location: ' . $result['data']['auth_url']);
} else {
echo '错误: ' . $result['message'];
}
?>
💡 安全提示:
API Key 仅在服务器端使用,不要在前端 JavaScript 中直接调用此接口!
2. 查询认证状态 (Query Status)
如果您没有配置回调地址,可以通过此接口主动查询认证状态。
| 请求方式 | GET |
|---|---|
| 接口地址 | face/api.php?action=query_status |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | String | 二选一 | 认证令牌(从创建会话时获取) |
| id_card | String | 二选一 | 身份证号 |
返回示例 (JSON)
{
"success": true,
"data": {
"is_finished": true,
"name": "张*",
"id_card": "110***********1234",
"result_code": 1001,
"score": 95,
"result_text": "成功",
"time": "2026-04-30 12:30:45"
}
}
3. 异步回调通知 (Callback)
当用户完成认证后,系统会向您的 callback_url 发送 POST 请求。
✅ 重要提示:
无论认证成功、存疑还是失败,系统都会发送回调通知!
• 认证成功:result_code = 1001
• 认证存疑:result_code = 1002(需要人工审核)
• 认证失败:result_code = 其他值
• 认证成功:result_code = 1001
• 认证存疑:result_code = 1002(需要人工审核)
• 认证失败:result_code = 其他值
回调参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | API Key |
| token | String | 认证令牌 |
| name | String | 用户姓名 |
| id_card | String | 身份证号 |
| result_code | Integer | 1001: 成功, 1002: 存疑, 1003: 失败, 其他: 错误 |
| message | String | 结果描述 |
短信接口 API 文档
欢迎使用短信发送服务。本文档将指导您如何通过 API 快速集成短信发送功能。
⚠️ 重要提示:
使用短信发送功能前,必须先完成实名认证。
系统支持余额扣费和资源包扣费两种方式,优先扣除资源包额度。
系统支持余额扣费和资源包扣费两种方式,优先扣除资源包额度。
✨ 功能特性:
• 短信发送 - 支持验证码、通知类短信,到达率99%
• 模板管理 - 管理员可创建短信模板,提高发送效率
• 双重扣费 - 优先扣除短信条数,不足时扣余额
• 短信发送 - 支持验证码、通知类短信,到达率99%
• 模板管理 - 管理员可创建短信模板,提高发送效率
• 双重扣费 - 优先扣除短信条数,不足时扣余额
1. 发送短信 (Send SMS)
调用此接口发送短信,支持模板变量替换。
| 请求方式 | POST |
|---|---|
| 接口地址 | face/smsapi.php |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api_key | String | 是 | 您的 API Key |
| phone | String | 是 | 手机号(11位) |
| template_id | String | 是 | 短信模板ID(管理员后台创建) |
| variables | JSON | 否 | 模板变量,JSON格式,例如:{"code":"123456"} |
返回示例 (JSON)
{
"code": 200,
"msg": "短信发送成功",
"data": {
"phone": "138****1234",
"template_id": "VERIFY_CODE",
"cost": 0.50,
"remaining_balance": 99.50,
"remaining_sms": 9
}
}
代码示例 (PHP)
<?php
// 发送短信验证码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://gulangvision.cn/face/smsapi.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'api_key' => 'YOUR_API_KEY',
'phone' => '13800138000',
'template_id' => 'VERIFY_CODE',
'variables' => json_encode(['code' => '123456'])
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['code'] == 200) {
echo "发送成功!剩余短信条数: " . $result['data']['remaining_sms'];
} else {
echo '发送失败: ' . $result['msg'];
}
?>
📧 邮箱发送 API 文档
欢迎使用邮箱发送服务。本文档将指导您如何通过 API 快速集成邮件发送功能。
⚠️ 重要提示:
使用邮箱发送功能前,必须先完成实名认证。
系统支持余额扣费和资源包扣费两种方式,优先扣除资源包额度。
系统支持余额扣费和资源包扣费两种方式,优先扣除资源包额度。
✨ 功能特性:
• 邮箱发送 - 支持HTML邮件
• 双重扣费 - 优先扣除邮箱封数,不足时扣余额
• 灵活格式 - 支持JSON和表单两种请求格式
• 邮箱发送 - 支持HTML邮件
• 双重扣费 - 优先扣除邮箱封数,不足时扣余额
• 灵活格式 - 支持JSON和表单两种请求格式
1. 发送邮件 (Send Email)
调用此接口发送邮件,支持HTML格式。
| 请求方式 | POST |
|---|---|
| 接口地址 | face/mailapi.php |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api_key | String | 是 | 您的 API Key |
| to_email | String | 是 | 收件人邮箱 |
| subject | String | 是 | 邮件主题 |
| content | String | 是 | 邮件内容(支持HTML) |
| is_html | Boolean | 否 | 是否为HTML格式,默认true |
✅ 支持两种请求格式:
• JSON格式 - 设置 Content-Type: application/json
• 表单格式 - 使用 http_build_query 或 FormData
• JSON格式 - 设置 Content-Type: application/json
• 表单格式 - 使用 http_build_query 或 FormData
返回示例 (JSON)
{
"code": 200,
"msg": "邮件发送成功",
"data": {
"to_email": "user@example.com",
"subject": "验证码通知",
"cost": 0.30,
"remaining_balance": 99.20,
"remaining_email": 19
}
}
代码示例 - 表单格式 (PHP)
<?php
// 发送HTML邮件(表单格式)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://gulangvision.cn/face/mailapi.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'api_key' => 'YOUR_API_KEY',
'to_email' => 'user@example.com',
'subject' => '验证码通知',
'content' => '<h1>您的验证码是:123456</h1><p>5分钟内有效</p>'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['code'] == 200) {
echo "发送成功!";
} else {
echo '发送失败: ' . $result['msg'];
}
?>
代码示例 - JSON格式 (PHP)
<?php
// 发送HTML邮件(JSON格式)
$data = [
'api_key' => 'YOUR_API_KEY',
'to_email' => 'user@example.com',
'subject' => '验证码通知',
'content' => '<h1>您的验证码是:123456</h1><p>5分钟内有效</p>'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://gulangvision.cn/face/mailapi.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['code'] == 200) {
echo "发送成功!";
} else {
echo '发送失败: ' . $result['msg'];
}
?>
代码示例 - JavaScript (Fetch)
<script>
// 发送HTML邮件(JSON格式)
fetch('https://gulangvision.cn/face/mailapi.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
to_email: 'user@example.com',
subject: '验证码通知',
content: '<h1>您的验证码是:123456</h1><p>5分钟内有效</p>'
})
})
.then(res => res.json())
.then(data => {
if (data.code == 200) {
console.log('发送成功!');
} else {
console.log('发送失败:', data.msg);
}
});
</script>
💰 计费说明
本文档说明所有服务的计费规则和扣费逻辑。
1. 扣费优先级
- 优先扣除资源包 - 如果有短信条数/邮箱封数额度,优先扣除
- 余额扣费 - 资源包不足或过期时,从余额扣除
2. 计费标准
| 服务类型 | 默认单价 | 说明 |
|---|---|---|
| 实名认证 | 按账户设置 | 默认价 |
| 短信发送 | 按账户设置 | 默认价 |
| 邮箱发送 | 按账户设置 | 默认价 |
3. 扣费示例
示例1:有短信条数额度 账户余额:¥100.00 短信条数:10条 发送1条短信后: - 短信条数:9条 - 账户余额:¥100.00(不变) 示例2:无短信条数额度 账户余额:¥100.00 短信条数:0条 发送1条短信后: - 短信条数:0条 - 账户余额:¥99.50(扣除¥0.50)
4. 实名认证要求
⚠️ 重要提示:
使用短信和邮箱发送功能前,必须先完成实名认证!
未完成实名认证的账户调用发送接口会返回 403 错误。
使用短信和邮箱发送功能前,必须先完成实名认证!
未完成实名认证的账户调用发送接口会返回 403 错误。
⚠️ 常见错误码
本文档列出所有可能的错误码及其解决方案。
实名认证错误码
| 错误信息 | 原因及解决方案 |
|---|---|
| 无效的 API Key | Key 不存在,请检查是否正确。 |
| API Key 已被禁用 | 该 Key 已被管理员封禁。 |
| 余额不足 | 账户余额为 0,请登录后台充值。 |
| 操作过于频繁,请稍后再试 | 同一身份证号 5 秒内只能认证一次。 |
| 缺少必要参数 | 缺少 api_key、name 或 id_card 参数。 |
| 无效的认证令牌或已过期 | Token 不存在或超过 5 分钟有效期。 |
| 该认证已完成 | Token 已被使用,每个 Token 只能使用一次。 |
| 当前IP未被授权访问 | IP不在白名单中,用户设置白名单 |
短信&邮箱错误码
| 错误码 | 错误信息 | 原因及解决方案 |
|---|---|---|
| 403 | 请先完成实名认证 | 账户未完成实名认证,请先完成认证。 |
| 400 | 缺少必要参数 | 缺少 api_key、phone 等必填参数。 |
| 400 | 手机号格式错误 | 手机号必须是11位数字。 |
| 400 | 邮箱格式错误 | 邮箱格式不正确。 |
| 402 | 余额和短信条数都不足 | 请充值或购买短信包。 |
| 402 | 余额和邮箱封数都不足 | 请充值或购买邮箱包。 |
| 429 | 发送频率过快 | 同一手机号1分钟内只能发送1次。 |
| 500 | 短信服务暂时不可用 | 短信网关故障,请稍后重试。 |
| 500 | 邮件发送失败 | SMTP配置错误,请联系管理员。 |
频率限制
| 限制类型 | 限制规则 | 说明 |
|---|---|---|
| 单手机号 | 1次/分钟 | 同一手机号1分钟内只能发送1次 |
| 单IP | 10次/小时 | 同一IP每小时最多发送10次 |
💡 最佳实践:
• 短信验证码建议设置5分钟有效期
• 重要通知建议同时发送短信和邮件
• 定期查看发送记录,监控异常情况
• 及时充值,避免余额不足影响业务
• 短信验证码建议设置5分钟有效期
• 重要通知建议同时发送短信和邮件
• 定期查看发送记录,监控异常情况
• 及时充值,避免余额不足影响业务