# 二维码/条码识别
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:imgQrcode
识别图片中的二维码、条码、DataMatrix和PDF417
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/cv/img/qrcode?access_token=ACCESS_TOKEN&img_url=IMG_URL
# 云调用
调用方法:img.scanQRCode
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:117
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
参数名 | 类型 | 必填 | 示例 | 说明 |
---|---|---|---|---|
access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
img_url | string | 否 | https://example.com/img.jpg | 图片URL地址 |
# 请求体 Request Payload
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
img | formdata | 否 | 图片文件,限制小于 2 M |
# 3. 返回参数
# 返回体 Response Payload
参数名 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
code_results | objarray | 处理结果 |
img_size | object | 图片大小 |
# Res.code_results(Array) Object Payload
处理结果
参数名 | 类型 | 说明 |
---|---|---|
type_name | string | 码的类型 |
data | string | 码的信息 |
pos | object | 码的坐标 |
# Res.img_size Object Payload
图片大小
参数名 | 类型 | 说明 |
---|---|---|
w | number | 宽度 |
h | number | 高度 |
# Res.code_results(Array).pos Object Payload
码的坐标
参数名 | 类型 | 说明 |
---|---|---|
left_top | object | 左上角位置 |
right_top | object | 右上角位置 |
right_bottom | object | 右下角位置 |
left_bottom | object | 左下角位置 |
# Res.code_results(Array).pos.left_top Object Payload
左上角位置
参数名 | 类型 | 说明 |
---|---|---|
x | number | x坐标 |
y | number | y坐标 |
# Res.code_results(Array).pos.right_top Object Payload
右上角位置
参数名 | 类型 | 说明 |
---|---|---|
x | number | x坐标 |
y | number | y坐标 |
# Res.code_results(Array).pos.right_bottom Object Payload
右下角位置
参数名 | 类型 | 说明 |
---|---|---|
x | number | x坐标 |
y | number | y坐标 |
# Res.code_results(Array).pos.left_bottom Object Payload
左下角位置
参数名 | 类型 | 说明 |
---|---|---|
x | number | x坐标 |
y | number | y坐标 |
# 4. 注意事项
- 图片支持使用img参数实时上传,也支持使用img_url参数传送图片地址,由微信后台下载图片进行识别
- 文件需小于2MB
- 支持条码、二维码、DataMatrix和PDF417的识别。
- 二维码、DataMatrix会返回位置坐标,条码和PDF417暂不返回位置坐标。
# 5. 代码示例
# 5.1 文件链接请求
请求示例
curl 'https://api.weixin.qq.com/cv/img/qrcode?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN'
返回示例
{
"errcode": 0,
"errmsg": "ok",
"code_results": [
{
"type_name": "QR_CODE",
"data": "https://www.qq.com",
"pos": {
"left_top": {
"x": 585,
"y": 378
},
"right_top": {
"x": 828,
"y": 378
},
"right_bottom": {
"x": 828,
"y": 618
},
"left_bottom": {
"x": 585,
"y": 618
}
}
}
],
"img_size": {
"w": 1000,
"h": 900
}
}
# 5.2 文件上传请求
请求示例
curl -F 'img=@test.jpg' 'https://api.weixin.qq.com/cv/img/qrcode?access_token=ACCESS_TOCKEN'
返回示例
{
"errcode": 0,
"errmsg": "ok",
"code_results": [
{
"type_name": "QR_CODE",
"data": "https://www.qq.com",
"pos": {
"left_top": {
"x": 585,
"y": 378
},
"right_top": {
"x": 828,
"y": 378
},
"right_bottom": {
"x": 828,
"y": 618
},
"left_bottom": {
"x": 585,
"y": 618
}
}
}
],
"img_size": {
"w": 1000,
"h": 900
}
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
-1 | system error | 系统错误 |
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |
101000 | invalid image url | 图片URL错误 |
101002 | invalid image data | 图片数据无效 |
# 7. 适用范围
本接口在不同账号类型下的可调用情况:
小程序 | 公众号 | 服务号 |
---|---|---|
✔ | 仅认证 | 仅认证 |
- ✔:该账号可调用此接口
- 仅认证:表示仅允许企业主体已认证账号调用,未认证或不支持认证的账号无法调用
- 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;