POSTidcard-face-validate
人臉身分證比對
透過判斷姓名、身分證、頭像照片三要素是否一致來核實用戶身分的真實性
接入文件
透過判斷姓名、身分證、頭像照片三要素是否一致來核實用戶身分的真實性
接入示例程式碼
提供 Shell、Python、Go、Java、PHP 等常見接入示例,便於直接接到現有專案裡。
Shell 示例
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;請求示例
{
"name": "张三",
"idCardNo": "110105199003078887",
"facePhotoUrl": "https://example.com/face.jpg"
}響應示例
{
"code": "SUCCESS",
"message": "success",
"data": {
"result": "一致",
"similarity": 0.92,
"threshold": 0.7
}
}請求欄位
以下欄位根據示例 JSON 自動提取,僅作接入參考。
| 欄位路徑 | 型別 | 示例值 |
|---|---|---|
| name | string | 张三 |
| idCardNo | string | 110105199003078887 |
| facePhotoUrl | string | https://example.com/face.jpg |
響應欄位
以下欄位根據示例 JSON 自動提取,僅作接入參考。
| 欄位路徑 | 型別 | 示例值 |
|---|---|---|
| code | string | SUCCESS |
| message | string | success |
| data | object | {...} |
| data.result | string | 一致 |
| data.similarity | number | 0.92 |
| data.threshold | number | 0.7 |