# OCR接口文档
一、接口介绍
1.1 接口功能
本接口提供基于小程序或 H5 的身份证、银行卡、行驶证 OCR 识别。
1.2 接口限制
微信OCR能力已全面接入服务平台计费系统。除服务平台接入方式外,原内测API,插件接入方式也均已接入计费系统。2020.4.1起,已接入内测的开发者,免费额度会统一调整为100次/天,更多额度需付费购买资源包,账号内资源包额度为所有调用方式可共用,详情如下:
1.3 使用 TIPS
此接口为后台接口,可基于自有业务承载情况,搭配小程序或 H5 的拍照、相册选照等一起使用,即可完成身份证照片的采集、上传、识别、信息返回等流程,用于需要基于身份证、银行卡等实体卡或证,采集照片或文字信息等的业务场景。 使用接口过程中如有问题,可前往 #微信OCR识别 社区发帖交流。
二、身份证OCR识别接口
2.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/idcard?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl 'https://api.weixin.qq.com/cv/ocr/idcard?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN'
示例2:
curl -F 'img=@test.jpg' 'https://api.weixin.qq.com/cv/ocr/idcard?access_token=ACCESS_TOCKEN'
说明: 图片支持使用img参数实时上传,也支持使用img_url参数传送图片地址,由微信后台下载图片进行识别。
拍摄图片样例:
文件大小限制:小于2M
备注:获取access token,可参考微信公众平台公开接口说明:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
2.2返回参数样例
正面:
{
"errcode": 0,
"errmsg": "ok",
"type": "Front", //正面
"name": "张三", //姓名
"id": "123456789012345678", //身份证号码
"addr": "广东省广州市XXX", //住址
"gender": "男", //性别
"nationality": "汉" //民族
}
背面:
{
"errcode": 0,
"errmsg": "ok",
"type": "Back", //背面
"valid_date": "20171025-20271025", //有效期
}
三、银行卡OCR识别接口
3.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/bankcard? img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl https://api.weixin.qq.com/cv/ocr/bankcard?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例2:
curl -F 'img=@test.jpg' 'https://api.weixin.qq.com/cv/ocr/bankcard?access_token=ACCESS_TOCKEN'
说明:
文件大小限制:小于2M
拍摄图片样例:
3.2返回参数样例
四、行驶证OCR识别接口
地址:
https://api.weixin.qq.com/cv/ocr/driving? img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl https://api.weixin.qq.com/cv/ocr/driving?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例2:
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/driving?access_token=ACCESS_TOCKEN"
说明: 文件大小限制:小于2M 拍摄图片样例:
4.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"plate_num": "粤xxxxx", //车牌号码
"vehicle_type": "小型普通客车", //车辆类型
"owner": "东莞市xxxxx机械厂", //所有人
"addr": "广东省东莞市xxxxx号", //住址
"use_character": "非营运", //使用性质
"model": "江淮牌HFCxxxxxxx", //品牌型号
"vin": "LJ166xxxxxxxx51", //车辆识别代号
"engine_num": "J3xxxxx3", //发动机号码
"register_date": "2018-07-06", //注册日期
"issue_date": "2018-07-01", //发证日期
"plate_num_b": "粤xxxxx", //车牌号码
"record": "441xxxxxx3", //号牌
"passengers_num": "7人", //核定载人数
"total_quality": "2700kg", //总质量
"prepare_quality": "1995kg" //整备质量,
"overall_size": "4582x1795x1458mm" //外廓尺寸,
"card_position_front": {//卡片正面位置(检测到卡片正面才会返回)
"pos": {
"left_top": {
"x": 119,
"y": 2925
},
"right_top": {
"x": 1435,
"y": 2887
},
"right_bottom": {
"x": 1435,
"y": 3793
},
"left_bottom": {
"x": 119,
"y": 3831
}
}
},
"card_position_back": {//卡片反面位置(检测到卡片反面才会返回)
"pos": {
"left_top": {
"x": 1523,
"y": 2849
},
"right_top": {
"x": 2898,
"y": 2887
},
"right_bottom": {
"x": 2927,
"y": 3831
},
"left_bottom": {
"x": 1523,
"y": 3831
}
}
},
"img_size": {//图片大小
"w": 3120,
"h": 4208
}
}
五、驾驶证OCR识别接口
5.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/drivinglicense?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl https://api.weixin.qq.com/cv/ocr/drivinglicense?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例2:
curl -F 'img=@test.jpg' 'https://api.weixin.qq.com/cv/ocr/drivinglicense?access_token=ACCESS_TOCKEN'
说明: 文件大小限制:小于2M
拍摄图片样例:
5.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"id_num": "660601xxxxxxxx1234", //证号
"name": "张三", //姓名
"sex": "男", //性别
"nationality": "中国", //国籍
"address": "广东省东莞市xxxxx号", //住址
"birth_date": "1990-12-21", //出生日期
"issue_date": "2012-12-21", //初次领证日期
"car_class": "C1", //准驾车型
"valid_from": "2018-07-06", //有效期限起始日
"valid_to": "2020-07-01", //有效期限终止日
"official_seal": "xx市公安局公安交通管理局" //印章文字
}
六、营业执照OCR识别接口
6.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/bizlicense?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl "https://api.weixin.qq.com/cv/ocr/bizlicense?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN"
示例2:
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/bizlicense?access_token=ACCESS_TOCKEN"
说明: 文件大小限制:小于2M
返回字段仅包含当前营业执照图片中存在的字段,若对应字段不存在则不返回
拍摄图片样例:
6.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"reg_num": "123123",//注册号
"serial": "123123",//编号
"legal_representative": "张三", //法定代表人姓名
"enterprise_name": "XX饮食店", //企业名称
"type_of_organization": "个人经营", //组成形式
"address": "XX市XX区XX路XX号", //经营场所/企业住所
"type_of_enterprise": "xxx", //公司类型
"business_scope": "中型餐馆(不含凉菜、不含裱花蛋糕,不含生食海产品)。", //经营范围
"registered_capital": "200万", //注册资本
"paid_in_capital": "200万", //实收资本
"valid_period": "2019年1月1日", //营业期限
"registered_date": "2018年1月1日", //注册日期/成立日期
"cert_position": { //营业执照位置
"pos": {
"left_top": {
"x": 155,
"y": 191
},
"right_top": {
"x": 725,
"y": 157
},
"right_bottom": {
"x": 743,
"y": 512
},
"left_bottom": {
"x": 164,
"y": 525
}
}
},
"img_size": { //图片大小
"w": 966,
"h": 728
}
}
七、通用印刷体OCR识别接口
7.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/comm?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl "https://api.weixin.qq.com/cv/ocr/comm?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN"
示例2:
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/comm?access_token=ACCESS_TOCKEN"
说明: 文件大小限制:小于2M
通用印刷体OCR适用于屏幕截图、印刷体照片等场景
7.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"items": [ //识别结果
{
"text": "腾讯",
"pos": {
"left_top": {
"x": 575,
"y": 519
},
"right_top": {
"x": 744,
"y": 519
},
"right_bottom": {
"x": 744,
"y": 532
},
"left_bottom": {
"x": 573,
"y": 532
}
}
},
{
"text": "微信团队",
"pos": {
"left_top": {
"x": 670,
"y": 516
},
"right_top": {
"x": 762,
"y": 517
},
"right_bottom": {
"x": 762,
"y": 532
},
"left_bottom": {
"x": 670,
"y": 531
}
}
}
],
"img_size": { //图片大小
"w": 1280,
"h": 720
}
}
八、车牌识别接口
8.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/platenum?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl "https://api.weixin.qq.com/cv/ocr/platenum?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN"
示例2:
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/platenum?access_token=ACCESS_TOCKEN"
说明: 文件大小限制:小于2M
支持蓝标、黄标和绿标新能源车牌,暂不支持特殊车牌。
拍摄图片样例:
8.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"number":"粤A123456" //车牌号
}
九、菜单识别接口
说明:
1、要已认证的订阅号、服务号、企业号、小程序账号才可以调用 2、该接口尚未接入服务平台,暂时不支持付费购买。
9.1请求示例
地址:
https://api.weixin.qq.com/cv/ocr/menu?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN
示例1:
curl "https://api.weixin.qq.com/cv/ocr/menu?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN"
示例2:
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/menu?access_token=ACCESS_TOCKEN"
说明: 文件大小限制:小于2M
拍摄图片样例:
9.2返回参数样例
{
"errcode": 0,
"errmsg": "ok",
"content": "{\"menu_items\": [{\"name\": \"酱鸭\", \"price\": 48.0}, {\"name\": \"龙虾\", \"price\": 80.0}, {\"name\": \"芝麻鸭块\", \"price\": 48.0}, {\"name\": \"皮皮虾\", \"price\": 70.0}, {\"name\": \"特色辣鸭脚\", \"price\": 46.0}, {\"name\": \"花甲\", \"price\": 30.0}, {\"name\": \"小鸭翅\", \"price\": 46.0}, {\"name\": \"鸭肠\", \"price\": 40.0}, {\"name\": \"微辣大鸭脚\", \"price\": 43.0}, {\"name\": \"八宝\", \"price\": 10.0}, {\"name\": \"大鸭翅\", \"price\": 43.0}, {\"name\": \"千叶豆腐\", \"price\": 10.0}, {\"name\": \"鸭脖\", \"price\": 35.0}, {\"name\": \"毛豆\", \"price\": 15.0}, {\"name\": \"鸭锁骨\", \"price\": 35.0}, {\"name\": \"螺丝\", \"price\": 15.0}, {\"name\": \"特色蟹脚\", \"price\": 55.0}, {\"name\": \"藕片\", \"price\": 15.0}, {\"name\": \"鱿鱼须\", \"price\": 70.0}, {\"name\": \"腐竹\", \"price\": 15.0}, {\"name\": \"鸭下巴\", \"price\": 70.0}, {\"name\": \"鸭头\", \"price\": 5.0}, {\"name\": \"无骨鸭脚\", \"price\": 70.0}, {\"name\": \"辣椒酱\", \"price\": 10.0}, {\"name\": \"鸭舌\", \"price\": 138.0}, {\"name\": \"花生米\", \"price\": 5.0}, {\"name\": \"鸭胗\", \"price\": 55.0}, {\"name\": \"萝卜干\", \"price\": 12.0}, {\"name\": \"牛肉串\", \"price\": 65.0}, {\"name\": \"盐菜\", \"price\": 12.0}]}"
}
# 结果参数说明
参数 | 参数类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 错误信息 |
content | string | 识别的信息 |
content结构体说明
参数 | 参数类型 | 说明 |
---|---|---|
menu_items | object array | 菜单内容列表 |
menu_items结构体说明
参数 | 参数类型 | 说明 |
---|---|---|
name | string | 菜单名 |
price | float | 价格 |
十、常见错误码
错误码 | errmsg | 说明 |
---|---|---|
-1 | system error | 系统错误,请稍后重试 |
101000 | invalid image url | 图片URL错误或拉取URL图像错误 |
101001 | certificate not found | 图片中无法找到证件 |
101002 | invalid image data | 图片数据无效 |