云尚API

人脸实名认证

将用户人脸照片与公安库身份证头像做权威比对,返回比对分值和核验结果,用于实人认证场景。照片通过公网 URL 传入。套餐制,每次调用扣减 1 次。

接口信息

项目说明
接口地址POST /api/v3/ylsm
计费方式套餐制

请求参数

参数类型必填说明
namestring姓名(必须正确,用于匹配公安库档案)
idcardstring身份证号(必须正确)
file_urlstring人脸照片 URL,需公网可访问,支持 JPG/PNG

请求示例

PHP

<?php
$app_id = 'YOUR_APP_ID';
$app_key = 'YOUR_APP_KEY';
$url = 'https://yunsapi.com/api/v3/ylsm';
$params = [
    'name'     => '张三',
    'idcard'   => '370102199011185566',
    'file_url' => 'https://example.com/face.jpg',
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'X-APP-ID: ' . $app_id,
    'X-APP-KEY: ' . $app_key,
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($ch);
curl_close($ch);

echo $resp;

Java

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class FaceDemo {
    public static void main(String[] args) throws Exception {
        String appId = "YOUR_APP_ID";
        String appKey = "YOUR_APP_KEY";
        String url = "https://yunsapi.com/api/v3/ylsm";
        String body = "{\"name\":\"张三\",\"idcard\":\"370102199011185566\",\"file_url\":\"https://example.com/face.jpg\"}";

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Content-Type", "application/json")
                .header("X-APP-ID", appId)
                .header("X-APP-KEY", appKey)
                .POST(HttpRequest.BodyPublishers.ofString(body))
                .build();

        HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(resp.body());
    }
}

响应示例

{
    "code": 0,
    "msg": "success",
    "data": {
        "score": 95,
        "verify": 1,
        "message": "系统判断为同一人",
        "remain": 9
    },
    "request_id": "req_xxx"
}

响应参数

参数类型说明
data.scoreinteger人脸比对分值,0-100,越高越相似
data.verifyinteger1 表示通过,0 表示不通过
data.messagestring核验结果描述
data.remaininteger套餐剩余次数

说明:verify 为 1 时一般可判定为同一人,业务上如需更高门槛,可结合 score 设置自己的阈值。