真人认证
姓名+身份证号+人脸照片,与公安库头像比对,核验是否同一人
调用地址:https://api.ynlskj.com.cn/gateway/portrait
复制
请求方法:POST
在其他地方怎么调用
请求地址用上面的调用地址,把 JSON 放在请求体里
方法用 POST
API Key 只能放在请求头 X-API-Key,不要写进网址,也不要写进 Query 框
Key 在「个人中心 → API Key」里复制,登录后会自动填入你自己的 Key
参数说明
参数 位置 必填 说明
nameBody JSON 是 真实姓名
id_numberBody JSON 是 身份证号。也可用 idcard
selfie_urlBody JSON 二选一 人脸照片的公网 URL
selfie_base64Body JSON 二选一 人脸照片 Base64,不要带 data:image 前缀;也可传完整 Data URI
X-API-KeyHeader 是 你的 API Key
请求示例
场景 Body 示例
用照片地址 {"name":"张三","id_number":"110101199003078515","selfie_url":"https://example.com/face.jpg"}
用 Base64 {"name":"张三","id_number":"110101199003078515","selfie_base64":"/9j/4AAQ..."}
返回说明
字段 说明
retok 成功,err 失败
code200 表示接口调用成功(是否同一人看 data.same)
errmsg上游提示,如「调用成功」
data.sametrue 表示系统判断为同一人
data.identity_verify_result1 同一人,2 不确定,3 不同人
data.photo_compare_score人脸比对分,越高越像
data.message结果说明,如「系统判断为同一人」
msg本站提示,如「次数充足,剩余 99 次」或「次数不足,剩余 0 次」
remain_quota本次调用后的剩余次数
可直接复制的代码
未登录时示例只显示「你的密钥」。登录后会自动填入你自己的 Key,不会展示别人的。
PHP
Python
Go
JavaScript
Java
C#
cURL
复制
<?php
$ch = curl_init('https://api.ynlskj.com.cn/gateway/portrait');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['X-API-Key: 你的密钥', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
}',
]);
echo curl_exec($ch);
复制
import requests
url = 'https://api.ynlskj.com.cn/gateway/portrait'
headers = {'X-API-Key': '你的密钥'}
resp = requests.post(url, headers=headers, json={
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
}, timeout=15)
print(resp.text)
复制
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
body := strings.NewReader(`{
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
}`)
req, _ := http.NewRequest("POST", "https://api.ynlskj.com.cn/gateway/portrait", body)
req.Header.Set("X-API-Key", "你的密钥")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
}
复制
fetch('https://api.ynlskj.com.cn/gateway/portrait', {
method: 'POST',
headers: {
'X-API-Key': '你的密钥',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
})
})
.then(res => res.json())
.then(data => console.log(data));
复制
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ynlskj.com.cn/gateway/portrait"))
.header("X-API-Key", "你的密钥")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"张三\",\n \"id_number\": \"110101199003078515\",\n \"selfie_url\": \"https://example.com/face.jpg\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
复制
using System.Net.Http;
using System.Text;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "你的密钥");
var content = new StringContent("{\n \"name\": \"张三\",\n \"id_number\": \"110101199003078515\",\n \"selfie_url\": \"https://example.com/face.jpg\"\n}", Encoding.UTF8, "application/json");
var result = await client.PostAsync("https://api.ynlskj.com.cn/gateway/portrait", content);
Console.WriteLine(await result.Content.ReadAsStringAsync());
复制
curl -X POST "https://api.ynlskj.com.cn/gateway/portrait" \
-H "X-API-Key: 你的密钥" \
-H "Content-Type: application/json" \
-d '{
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
}'
请求参数演示
{
"name": "张三",
"id_number": "110101199003078515",
"selfie_url": "https://example.com/face.jpg"
}
响应演示
{
"ret": "ok",
"code": 200,
"success": true,
"errmsg": "成功",
"data": {
"score": 86,
"result": "同一人"
},
"msg": "次数充足,剩余 99 次",
"remain_quota": 99
}