身份证OCR 识别 API 接口用如何PHP调用

随着近年来移动互联网的迅速发展,网络安全和信息安全的重要性也日益凸显,各行业对实名认证的要求也越来越严格,身份证OCR识别接口也就应运而生,它可以让用户通过手机摄像头扫描身份证或者上传身份证图像,快速识别并自动填写相关信息,大大提升了用户体验。

以下是身份证OCR 识别 API 接口用如何PHP调用的示例代码:

php 复制代码
                                                       
<?php

$appKey = "您的appKey";
$appSecret= "您的appSecret";

$url = "https://api.shuxuntech.com/v1/idCard/ocr";
$method = "POST";

$timestamp = getUnixTimestamp();
var_dump($timestamp);
$sign = hash('sha256',$appKey . $timestamp . $appSecret);
var_dump($sign);

$headers = array();
array_push($headers, "Content-Type" . ":" . "application/x-www-form-urlencoded; charset=UTF-8");
array_push($headers, "appKey" . ":" . appKey);
array_push($headers, "timestamp" . ":" . timestamp);
array_push($headers, "sign" . ":" . sign);

$image = "";
$imgUrl = "";
$bodys = "image=" . $image . "&imgUrl=" . $imgUrl;

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

if (1 == strpos("$".$url, "https://")) {
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
var_dump(curl_exec($curl));

function getUnixTimestamp () {
    list($s1, $s2) = explode(' ', microtime());
    return sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
}

返回的数据:

(1)正面返回

php 复制代码
{
    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "0harl9qk12a2cav0mmy25uufl3df4uid",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "side": "front",
            "type": 1,
            "front": {
                "birthday": "1990-01-21",
                "address": "杭州市余杭区仓前街道某某小区1幢801室",
                "gender": "男",
                "race": "汉",
                "name": "张三",
                "idCard": "330110199001212311"
            },
            "back": null
        }
    }
}

(2)反面返回

php 复制代码
{
    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "n2d8oo1qzxhgf9t399lairvfflztkh49",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "side": "back",
            "type": 1,
            "front": null,
            "back": {
                "issuedBy": "杭州市公安局余杭分局",
                "validDate": "2021.06.21-2041.06.21"
            }
        }
    }
}

(3)错误返回

php 复制代码
{
    "code": "1",
    "msg": "参数错误",
    "isFee": 0,
    "seqNo": null,
    "data": null
}

需要特别注意的是,在使用身份证OCR 识别 API 之前,我们首先需要申请并获取 API Key,不同的平台获取 API Key 的方式可能会有所不同。但是这个 API Key 将作为我们身份验证的凭证,在后续的接口请求中必须携带。

相关推荐
BingoGo2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
用户60648767188965 天前
国内开发者如何接入 Claude API?中转站方案实战指南(Python/Node.js 完整示例)
人工智能·python·api
JaguarJack5 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php