当前位置: 首页 > api商店 > 身份证信息识别Api接口详情
身份证信息识别

企业级专享价

  • 首次赠送5次
  • 1000.1/次
  • 20000.05/次
  • 50000.045/次
  • 100000.042/次
  • 300000.04/次

价格: (约元/次)

立即添加
接口简介:身份证信息识别服务可以自动地从图片中定位身份证图片区域,识别出其中包含的身份信息。
  • Api文档
  • 状态码说明
  • 请求示例
子接口:
手机号机主姓名核验

接口地址: https://登录后显示/pyi/76/194(支持:http/https)

返回格式:json,xml

请求方式:POST

POST 请求需要设置Header头:Content-Type: application/x-www-form-urlencoded;charset=utf-8

Api测试工具

请求说明:

名称 必填 类型 说明 示例 参数另存
appid String 应用ID,在后台我的应用查看或者添加 1
format String 返回数据格式类型,每个接口已经说明支持返回格式:json,xml json
id_card_side String -front:身份证含照片的一面 -back:身份证带国徽的一面 自动检测身份证正反面,如果传参指定方向与图片相反,支持正常识别,返回参数image_status字段为"reversed_side"
sign String 参数按一定规则md5后返回的字符串,详情点击这里阅读 52a9dbe274a5c537bbf7a53e2d66c09f
time String 请求时传递的当前服务器时间戳 1545829466
url_image String 支持URL地址或者base64编码数据:
1. 使用base64编码图像数据时,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
2. 使用URL地址时,图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式, 请注意关闭URL防盗链

加密顺序

sign = MD5( appid1formatjsontime1545829466密钥) 查看加密规则说明 密钥不需要键名,请直接跟上32位的密钥
红色部分代表参数值,appid默认为1,请修改为自己的appid值,去我的应用查看以及密钥
*注意:空值不参与加密。

返回参数说明:

名称 必填 类型 说明 示例 参数另存
codeid Integer 状态码,返回10000状态都会进行计费。具体说明可查看状态码说明 10000
idcard_number_type Integer 用于校验身份证号码、性别、出生是否一致,输出结果及其对应关系如下:
-1: 身份证正面所有字段全为空
0: 身份证证号不合法,此情况下不返回身份证证号
1: 身份证证号和性别、出生信息一致
2: 身份证证号和性别、出生信息都不一致
3: 身份证证号和出生信息不一致
4: 身份证证号和性别信息不一致
1
image_status String normal-识别正常
reversed_side-身份证正反面颠倒
non_idcard-上传的图片中不包含身份证
blurred-身份证模糊
other_type_card-其他类型证照
over_exposure-身份证关键字段反光或过曝
over_dark-身份证欠曝(亮度过低)
unknown-未知状态
reversed_side
message String 请求状态说明 识别成功
retdata Array 回数据集合,可能是数据、对象或者字符串
time String 请求时传递的当前服务器时间戳 1614930150
住址 String 江西省抚州市广昌县
公民身份号码 String 362532199404064129
出生 String 19940406
失效日期 String 20370313
姓名 String 李义
性别 String
民族 String
签发日期 String 20170313
签发机关 String 广昌县公安局

JSON返回示例:

服务器状态码:

状态码 说明
10000 返回成功
10001 appid必须指定,可以我的应用里面查看
10002 sign值必须指定,加密规则请前往帮助中心查看
10003 sign值验证不通过,加密规则请前往帮助中心查看
10004 时差不能超过10分钟,可以不传递这个参数,注意时间戳单位是秒
10005 appid错误,请检查appid值,前往会员中心->我的应用查看或添加
10006 当前IP地址未授权,请前往用户中心->我的应用添加ip{@info}
10007 应用被禁用,请联系客服处理
10008 应用内没有该接口,请到我的应用里面添加这个接口
10009 api接口不存在
10010 您没有订购该api
10011 api已经到期
10012 没有订购任何api,请前往购买后再操作
10013 该接口已经暂停使用
10014 未知的错误,可以联系客服处理
10015 参数个数错误
10019 {@info}
10017 time必须是整型
10018 次数不足
10020 子接口不存在,可能已经被关闭
10021 服务器发生错误
10022 帐户余额不足,请充值!

请选择开发语言:

  • PHP
  • Python
$api_url = 'https://登录后显示/pyi/76/194';
$appid  =   '应用id';// 在后台我的应用查看;
$secret =   '应用密钥';// 在后台我的应用查看;
$data = array(
                'appid'=>  '1',
                'format'=>  'json',
                'id_card_side'=>  '',
                'time'=>  '1545829466',
                'url_image'=>  '',
            );
$data['appid'] = $appid;
$data['time'] = time();//当前服务器时间
ksort($data); //按照键名对数组排序,为数组值保留原来的键。
$md5String = '';
foreach($data as $key=>$val){
    if(strlen($val)>0){ //过滤空值
        $md5String.=$key.$val;
    }
}
$sign = md5($md5String.$secret);
$data['sign'] = $sign;
$sendUrl = $api_url.'?'.http_build_query($data); //把数据转换成url参数形式,a=b&c=d&e=f
$result = file_get_contents($sendUrl);
print_r($result);
                        
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#该代码为python3.7示例代码
import ssl,time,hashlib,string
from urllib import request,parse,error;
from urllib.parse import quote


api_url = 'https://登录后显示/pyi/76/194';
appid  =   '应用id';#在后台我的应用查看;
secret =   '应用密钥';#在后台我的应用查看;
data = {
                'appid':'1',
                'format':'json',
                'id_card_side':'',
                'time':'1545829466',
                'url_image':'',
            };
data['appid'] = appid;
data['time'] = round(time.time());#当前服务器时间
keysArr = list(data.keys()) #取出字典key
keysArr.sort()#对字典key进行排序
md5String = '';
params = []
for key in keysArr:
    if data[key]:
        val = str(data[key])
        md5String+=key+val
        params.append(key + "=" + val )
md5String += secret;
m = hashlib.md5()
b = md5String.encode(encoding='utf-8')
m.update(b)
sign = m.hexdigest()

params.append('sign='+sign)#加入计算后的sign值去请求
params = '&'.join(tuple(params)); #把列表转成元组后用&分隔,最终转换成字符串 a=b&c=d&e=f

ssl._create_default_https_context = ssl._create_unverified_context
url = api_url+'?'+params;
url = quote(url, safe=string.printable)
req = request.Request(url)
opener = request.build_opener()
r = opener.open(fullurl=req)

doc = r.read();
print(doc.decode('utf-8'))