# 二维码/条码识别

调试工具

接口应在服务器端调用,不可在前端(小程序、网页、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_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_tokenauthorizer_access_token
img_urlstringhttps://example.com/img.jpg图片URL地址

# 请求体 Request Payload

参数名类型必填说明
imgformdata图片文件,限制小于 2 M

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
code_resultsobjarray处理结果
img_sizeobject图片大小

# Res.code_results(Array) Object Payload

处理结果

参数名类型说明
type_namestring码的类型
datastring码的信息
posobject码的坐标

# Res.img_size Object Payload

图片大小

参数名类型说明
wnumber宽度
hnumber高度

# Res.code_results(Array).pos Object Payload

码的坐标

参数名类型说明
left_topobject左上角位置
right_topobject右上角位置
right_bottomobject右下角位置
left_bottomobject左下角位置

# Res.code_results(Array).pos.left_top Object Payload

左上角位置

参数名类型说明
xnumberx坐标
ynumbery坐标

# Res.code_results(Array).pos.right_top Object Payload

右上角位置

参数名类型说明
xnumberx坐标
ynumbery坐标

# Res.code_results(Array).pos.right_bottom Object Payload

右下角位置

参数名类型说明
xnumberx坐标
ynumbery坐标

# Res.code_results(Array).pos.left_bottom Object Payload

左下角位置

参数名类型说明
xnumberx坐标
ynumbery坐标

# 4. 注意事项

  1. 图片支持使用img参数实时上传,也支持使用img_url参数传送图片地址,由微信后台下载图片进行识别
  2. 文件需小于2MB
  3. 支持条码、二维码、DataMatrix和PDF417的识别。
  4. 二维码、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. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码

错误码错误描述解决方案
-1system error系统错误
40001invalid credential  access_token isinvalid or not latest获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口
101000invalid image url图片URL错误
101002invalid image data图片数据无效

# 7. 适用范围

本接口在不同账号类型下的可调用情况:
小程序公众号服务号
仅认证 仅认证
  • ✔:该账号可调用此接口
  • 仅认证:表示仅允许企业主体已认证账号调用,未认证或不支持认证的账号无法调用
  • 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;