1. 接口说明

身份证识别,通过全球领先的OCR(光学字符识别 Optical Character Recognition)技术,对身份证正反面图片进行识别,返回身份证图片上的姓名、民族、住址、身份证号、签发机关和有效期等信息,可以省去用户手动录入的过程,自动完成身份证信息的结构化和图像数据的采集,可以很方便对接客户的后台数据系统,给用户带来极大的便利。采用特有的图像处理技术,在识别身份证图片过程中,还可以对身份证图片进行切边矫正,去除背景图片,并可以获取身份证图片上的头像,方便用户保存。

注:不支持同一张图片上同时识别身份证正反面。

2. 接口地址

  1. POST http[s]://webapi.xfyun.cn/v1/service/v1/ocr/idcard HTTP/1.1
  2. Content-Type:application/x-www-form-urlencoded; charset=utf-8

3. 请求参数

在 Http Request Header 中配置授权认证参数,见【接口描述-授权认证】。其中 X-Param 为各配置参数组成的JSON串经BASE64编码之后的字符串,原始JSON串各字段说明如下:

参数类型必须说明示例
engine_typestring引擎类型,固定为idcardidcard
head_portraitstring是否返回头像图片:默认head_portrait=0,即不返回头像图片,head_portrait=1,则返回身份证头像照片(Base64编码)0
crop_imagestring是否返回切片图,默认crop_image=0,1表示返回身份证切片照片(Base64编码)0
id_number_imagestring是否返回身份证号码区域截图,默认id_number_image=0,即不返回身份号码区域截图,1表示返回证件号区域截图(Base64编码)0
recognize_modestring是否先对图片进行切片后再识别,默认recognize_mode=0,即直接对图片进行识别,1表示采用先切片后识别的模式0

X-Param生成示例:

  1. 原始JSON串:
  2. {
  3. "engine_type":"idcard",
  4. "head_portrait": "0",
  5. "crop_image": "0"
  6. }
  7. BASE64编码(即X-Param):
  8. eyJlbmdpbmVfdHlwZSI6ImlkY2FyZCIsImhlYWRfcG9ydHJhaXQiOiAiMCIsImNyb3BfaW1hZ2UiOiAiMCJ9

在 Http Request Body 中配置以下参数:

参数类型必须说明示例
imagestring图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,仅支持jpg格式,推荐 jpg 文件设置为:尺寸 1024×768,图像质量 75 以上,位深度 24。exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf…

_注:_base64编码后大小会增加约1/3

4. 返回值

返回值为json串,各字段如下:

参数类型说明
codestring结果码(具体见错误码)
datajson详见data说明
descstring描述
sidstring会话ID

其中sid字段主要用于追查问题,如果出现问题,可以提供sid给讯飞技术人员帮助确认问题。

data各字段说明如下:

参数说明备注
name姓名身份证上的姓名识别结果
id_number身份证号身份证上的身份证号码识别结果
birthday出生日期身份证上的出生日期识别结果
sex性别身份证上的性别识别结果
people民族身份证上的民族识别结果
address住址身份证上的住址识别结果
issue_authority签发机关身份证上的签发机关识别结果
validity有效期身份证上的有效期识别结果
cropped_image身份证切边图片身份证正面或反面的切边图片,base64编码
id_number_image身份证号码截图身份证正面身份证号截图,base64编码
head_portrait身份证正面头像信息身份证正面头像信息的KEY值
image身份证正面头像截图身份证正面头像截图,base64编码
type类型身份证正反面类型;当是身份证正面时,type=第二代身份证;当是身份证背面时,type=第二代身份证背面。当是临时身份证时,type=临时身份证。
gray_image黑白图像gray_image=true 则表示证件判断为黑白
complete证件完整complete=true 则表示证件判断为不完整
border_covered边缘遮挡border_covered=true 则表示证件边缘判断为不完整
head_blurred头像模糊head_blurred =true 则表示证件头像判断模糊
error_code错误码识别错误码
error_msg错误信息错误原因描述

其中的error_msg和error_code的取值范围及说明对照表:

error_codeerror_msg说明
0ok正常返回
40001invalid parameter参数不对
40002missing parameter缺少参数
40003invalid user or password账号或密码不对
40004missing request body没有HTTP body
40005invalid image formatHTTP body不是图像或者不支持该格式
40006invalid image size图片太大或太小
40007fail to recognize识别失败
40008invalid content type通过HTTP form上传图片时,Content-Type无效
40009corrupted request body请求body损坏
40010fail to extract image提取图像裸数据失败
50001backend down后台服务器宕机
50004timeout识别超时
90099unknown未知错误

结果示例如下:

失败结果:

  1. {
  2. "code": "10106",
  3. "desc": "invalid parameter|invalid X-Appid",
  4. "data": "",
  5. "sid": "wcr0000bb3f@dx3d5c059d83b3477200"
  6. }

成功结果:

  1. {
  2. "code": "0",
  3. "data": {
  4. "address": "广东省清新县浸潭镇鸡见坑村委会下围村2号",
  5. "birthday": "1992年8月22日",
  6. "border_covered": false,
  7. "complete": true,
  8. "error_code": 0,
  9. "error_msg": "ok",
  10. "gray_image": false,
  11. "head_blurred": false,
  12. "head_covered": false,
  13. "id_number": "666667777788888999",
  14. "name": "张三",
  15. "people": "汉",
  16. "sex": "男",
  17. "type": "第二代身份证"
  18. },
  19. "desc": "success",
  20. "sid": "wcr00000001@dx11730e79150f000100"
  21. }

5. 错误码

error_codeerror_msg说明
0ok正常返回
40001invalid parameter参数不对
40002missing parameter缺少参数
40003invalid user or password账号或密码不对
40004missing request body没有HTTP body
40005invalid image formatHTTP body不是图像或者不支持该格式
40006invalid image size图片太大或太小
40007fail to recognize识别失败
40008invalid content type通过HTTP form上传图片时,Content-Type无效
40009corrupted request body请求body损坏
40010fail to extract image提取图像裸数据失败
50001backend down后台服务器宕机
50004timeout识别超时
90099unknown未知错误

6. 调用示例

身份证识别demo go语言

身份证识别demo php语言

身份证识别demo java语言

身份证识别demo python3语言

身份证识别demo c#语言

Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间:2019-05-07 07:12:51