idcard-face-validate
人臉身分證比對
提供姓名、身份證號及人臉照片三要素一致性核驗服務,透過比對照片與身份資訊,返回是否一致及相似度得分,輔助判斷使用者身份真實性。
呼叫價格
30 匠幣/次
快速接入
保持統一返回結構,直接透過服務端發起請求即可接入。
https://openapi.toolkk.com/v1/idcard-face-validatecURL 示例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/idcard-face-validate' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "name": "张三",\n "idCardNo": "110105199003078887",\n "facePhotoUrl": "https://example.com/face.jpg"\n}'Python 示例
import os
import requests
url = "https://openapi.toolkk.com/v1/idcard-face-validate"
payload = {
"name": "张三",
"idCardNo": "110105199003078887",
"facePhotoUrl": "https://example.com/face.jpg"
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go 示例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/idcard-face-validate"
payload := []byte("{\n \"name\": \"张三\",\n \"idCardNo\": \"110105199003078887\",\n \"facePhotoUrl\": \"https://example.com/face.jpg\"\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java 示例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"name\": \"张三\",\n \"idCardNo\": \"110105199003078887\",\n \"facePhotoUrl\": \"https://example.com/face.jpg\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/idcard-face-validate"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP 示例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/idcard-face-validate';
$payload = "{\n \"name\": \"张三\",\n \"idCardNo\": \"110105199003078887\",\n \"facePhotoUrl\": \"https://example.com/face.jpg\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;響應示例
{
"code": "SUCCESS",
"message": "success",
"data": {
"result": "一致",
"similarity": 0.92,
"threshold": 0.7
}
}範例用於理解回傳結構,實際結果以介面回傳為準。
- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 600 次/分鐘
- 超時時間
- 5000 ms
服務端呼叫時,將 API Key 放在 X-API-Key 請求頭中。
建議按 response code 與業務欄位雙重判斷呼叫結果。
高頻呼叫場景請結合速率限制與重試策略使用。
請求欄位
從伺服器發起請求,並在 X-API-Key 標頭中傳入金鑰。
請求欄位
以下欄位根據示例 JSON 自動提取,僅作接入參考。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| name | string | 未標註 | 未標註 | 张三 |
| idCardNo | string | 未標註 | 未標註 | 110105199003078887 |
| facePhotoUrl | string | 未標註 | 未標註 | https://example.com/face.jpg |
請求示例
{
"name": "张三",
"idCardNo": "110105199003078887",
"facePhotoUrl": "https://example.com/face.jpg"
}- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 600 次/分鐘
- 超時時間
- 5000 ms
響應欄位
範例用於理解回傳結構,實際結果以介面回傳為準。
響應欄位
以下欄位根據示例 JSON 自動提取,僅作接入參考。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| code | string | 未標註 | 未標註 | SUCCESS |
| message | string | 未標註 | 未標註 | success |
| data | object | 未標註 | 未標註 | {...} |
| data.result | string | 未標註 | 未標註 | 一致 |
| data.similarity | number | 未標註 | 未標註 | 0.92 |
| data.threshold | number | 未標註 | 未標註 | 0.7 |
響應示例
{
"code": "SUCCESS",
"message": "success",
"data": {
"result": "一致",
"similarity": 0.92,
"threshold": 0.7
}
}$.code == 200 介面簡介
介面功能、應用情境、使用限制與常見問題。
介面能力
本介面提供人臉與身份證資訊的一致性核驗服務。透過傳入使用者的姓名、身份證號碼以及現場採集的人臉照片,系統將比對這三要素是否匹配,並返回比對結果(一致或不一致)、相似度得分及比對閾值。該介面可作為實名認證流程中的重要輔助手段。
請求與返回
- 請求引數:需提供真實姓名(
name)、18位身份證號碼(idCardNo)以及人臉照片的有效網路地址(facePhotoUrl)。 - 返回結果:返回
result欄位說明比對結論(如“一致”),similarity欄位表示人臉相似度得分(0-1之間),threshold欄位為建議的判斷閾值。當相似度大於等於閾值時,通常可認為是一致的。
使用場景
- 金融開戶與交易:在銀行、證券、保險等金融業務中,輔助驗證使用者身份,防範欺詐風險。
- 共享經濟與出行:網約車、共享汽車、酒店入住等場景下的司機或使用者實名登記。
- 安防與門禁管理:重要場所的訪客登記、員工入職身份核實等。