概述 认证方式 提交核验 查询结果 权威核验提交 权威核验查询 用户信息 错误码 调用示例 常见问题

概述

欢迎使用人脸核验API系统。本系统提供标准HTTP API接口,支持第三方业务渠道快速接入人脸实名认证能力。

接口地址

https://您的域名/api/v1/...

数据格式

所有请求和响应均采用 JSON 格式,编码为 UTF-8。支持 JSON Body 和 FormData 两种请求方式。

通用响应格式

{
  "code": 0,        // 业务状态码,0为成功
  "msg": "success"// 提示信息
  "data": {...},   // 业务数据
  "time": 1717000000
}

认证方式

所有API请求需通过 API Key 进行身份认证。API Key 可在 控制台→用户中心 获取。

方式一:请求头(推荐)

X-Api-Key: your_api_key_here

方式二:URL 参数

?apikey=your_api_key_here

方式三:POST 参数 / JSON Body

apikey=your_api_key_here&name=张三...

方式四:Authorization Bearer

Authorization: Bearer your_api_key_here

未携带或API Key无效时返回 401403

1. 提交人脸核验

提交用户姓名和身份证号,返回核验链接。将链接提供给用户完成人脸扫描,通过查询接口获取结果。

POST /api/v1/face/normal/submit.php 提交普通核验

请求参数

参数类型必填说明
namestring用户姓名,如:张三
idcardstring身份证号码,18位
sourcestring来源标识:api/sdk/console,默认api

请求示例

POST /api/v1/face/normal/submit.php
X-Api-Key: your_api_key

{
  "name": "张三",
  "idcard": "110101199001011234"
}

成功响应

{
  "code": 0,
  "data": {
    "token": "a1b2c3...",  // 核验令牌,用于查询结果
    "url": "https://face.ojwyun.cn/face?token=...",  // 核验链接
    "call_id": "1"  // 调用记录ID
  },
  "time": 1717000000
}

对接流程:您需要将返回的 url 嵌入到您的应用中(如生成二维码、iframe嵌入或直接跳转),让用户完成人脸扫描。用户完成后通过 token 调用查询接口获取核验结果。

2. 查询核验结果

用户完成人脸扫描后查询核验结果。建议轮询间隔不低于5秒。

GET /api/v1/face/normal/query.php 查询核验结果

请求参数

参数类型必填说明
tokenstringsubmit接口返回的核验令牌

请求示例

GET /api/v1/face/normal/query.php?token=a1b2c3...&apikey=your_api_key

成功响应(核验通过)

{
  "code": 0,
  "data": {
    "token": "a1b2c3...",
    "name": "张三",
    "idcard": "110101********1234",
    "status": "1",  // 1=成功 2=失败
    "remark": "核验通过"
  }
}

3. 提交权威核验

高级核验方式,支持活体检测(眨眼、摇头、远近等),安全性更高,适用于金融等强实名场景。

POST /api/v1/face/authority/submit.php 提交权威核验

请求参数

参数类型必填说明
namestring用户姓名
idcardstring身份证号码
returnurlstring核验完成后跳转回您页面的地址
notifyurlstring核验结果回调通知地址
pageTitlestring核验页面标题,默认"实人认证"
livingTypestring活体检测类型,默认26(综合检测)
sourcestring来源标识:api/sdk/console,默认api

请求示例

POST /api/v1/face/authority/submit.php
X-Api-Key: your_api_key

{
  "name": "张三",
  "idcard": "110101199001011234",
  "returnurl": "https://yourdomain.com/callback"
}

成功响应

{
  "code": 0,
  "data": {
    "token": "a1b2c3...",
    "url": "https://face.ojwyun.cn/face?token=...",
    "call_id": "2"
  }
}

4. 查询权威核验结果

GET /api/v1/face/authority/query.php 查询权威核验结果

请求参数

参数类型必填说明
tokenstringsubmit接口返回的核验令牌

请求示例

GET /api/v1/face/authority/query.php?token=a1b2c3...

成功响应

{
  "code": 0,
  "data": {
    "token": "a1b2c3...",
    "name": "张三",
    "idcard": "110101********1234",
    "success": true,
    "result": {"code": "200", "message": "核验通过"}
  }
}

5. 查询用户信息

查询当前 API Key 对应的账户信息,包括余额、今日调用量、各核验方式剩余额度等。

GET /api/v1/user/info.php 查询账户信息

请求参数

无业务参数,仅需携带 API Key 认证。

成功响应

{
  "code": 0,
  "data": {
    "balance": 100.00,  // 账户余额(元)
    "today_total_calls": 5,
    "today_success": 3,
    "last_api_call_at": "2026-06-05 12:00:00",
    "quotas": [
      {
        "method_code": "face1000",
        "method_name": "人脸核验",
        "remaining_quota": 450,
        "total_purchased": 500
      }
    ]
  }
}

错误码说明

codeHTTP状态码说明处理方式
0200成功-
1200业务错误根据 msg 提示处理
401401缺少API密钥检查请求头或参数中是否携带 API Key
403403API密钥无效或账号封禁检查 API Key 是否正确,联系管理员
429429请求频率超限降低请求频率,默认60次/分钟

调用示例

cURL

curl -X POST https://your.domain/api/v1/face/normal/submit.php \
  -H "X-Api-Key: your_api_key" \
  -d "name=张三" \
  -d "idcard=110101199001011234"

PHP

$ch = curl_init('https://your.domain/api/v1/face/normal/submit.php');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ['X-Api-Key: your_api_key'],
  CURLOPT_POSTFIELDS => ['name'=>'张三', 'idcard'=>'110101199001011234'],
  CURLOPT_RETURNTRANSFER => true,
]);
$res = json_decode(curl_exec($ch), true);
// $res['data']['url'] => 核验链接
// $res['data']['token'] => 核验令牌

JavaScript (fetch)

fetch('https://your.domain/api/v1/face/normal/submit.php', {
  method: 'POST',
  headers: { 'X-Api-Key': 'your_api_key', 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: '张三', idcard: '110101199001011234' })
})
.then(r => r.json())
.then(d => {
  // d.data.url => 核验链接
  // d.data.token => 核验令牌
});

Python

import requests

url = 'https://your.domain/api/v1/face/normal/submit.php'
headers = { 'X-Api-Key': 'your_api_key' }
data = { 'name': '张三', 'idcard': '110101199001011234' }
res = requests.post(url, headers=headers, data=data).json()
# res['data']['url'] => 核验链接
# res['data']['token'] => 核验令牌

常见问题

Q: 核验流程是怎样的?

A: ① 调用 submit 提交姓名和身份证号 → ② 获取返回的 url 核验链接 → ③ 将链接提供给用户完成人脸扫描 → ④ 通过 query 查询结果。

Q: 核验链接有效期多久?

A: 30分钟,超时后需重新发起核验。

Q: 如何获取 API Key?

A: 登录 控制台 → 用户中心 → API密钥。

Q: 如何购买额度?

A: 登录控制台选择套餐购买,或余额充值按次扣费。

Q: 支持哪些核验方式?

A: 普通人脸核验(快速核验)和 权威人脸核验(含活体检测,安全性更高)。

Q: 请求频率限制是多少?

A: 默认60次/分钟,有更高需求请联系管理员。