1. 接口描述
接口请求域名: ocr.tencentcloudapi.com 。
本接口支持对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。
默认接口请求频率限制:10次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:BankCardOCR。 |
Version | 是 | String | 公共参数,本接口取值:2018-11-19。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-seoul, ap-shanghai 。 |
ImageBase64 | 否 | String | 图片的 Base64 值。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。 图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。 |
ImageUrl | 否 | String | 图片的 Url 地址。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。 建议图片存储于腾讯云,可保障更高的下载速度和稳定性。 示例值:https://xx/a.jpg |
RetBorderCutImage | 否 | Boolean | 是否返回预处理(精确剪裁对齐)后的银行卡图片数据,默认false。 示例值:false |
RetCardNoImage | 否 | Boolean | 是否返回卡号的切图图片数据,默认false。 示例值:false |
EnableCopyCheck | 否 | Boolean | 复印件检测开关,如果输入的图片是银行卡复印件图片则返回告警,默认false。 示例值:false |
EnableReshootCheck | 否 | Boolean | 翻拍检测开关,如果输入的图片是银行卡翻拍图片则返回告警,默认false。 示例值:false |
EnableBorderCheck | 否 | Boolean | 边框遮挡检测开关,如果输入的图片是银行卡边框被遮挡则返回告警,默认false。 示例值:false |
EnableQualityValue | 否 | Boolean | 是否返回图片质量分数(图片质量分数是评价一个图片的模糊程度的标准),默认false。 示例值:false |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
CardNo | String | 卡号 示例值:6225768888888888 |
BankInfo | String | 银行信息 示例值:招商银行(03080000) |
ValidDate | String | 有效期,格式如:07/2023 示例值:07/2023 |
CardType | String | 卡类型 示例值:贷记卡 |
CardName | String | 卡名字 示例值:招商银行信用卡 |
BorderCutImage | String | 切片图片数据 注意:此字段可能返回 null,表示取不到有效值。 |
CardNoImage | String | 卡号图片数据 注意:此字段可能返回 null,表示取不到有效值。 |
WarningCode | Array of Integer | WarningCode 告警码列表和释义: -9110:银行卡日期无效; -9111:银行卡边框不完整; -9112:银行卡图片反光; -9113:银行卡复印件; -9114:银行卡翻拍件 (告警码可以同时存在多个) 注意:此字段可能返回 null,表示取不到有效值。 示例值:[-9110] |
QualityValue | Integer | 图片质量分数,请求EnableQualityValue时返回(取值范围:0-100,分数越低越模糊,建议阈值≥50)。 注意:此字段可能返回 null,表示取不到有效值。 示例值:90 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 银行卡识别示例代码
输入示例
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: BankCardOCR
<公共请求参数>
{
"ImageUrl": "https://xx/a.jpg"
}
输出示例
{
"Response": {
"BankInfo": "招商银行(03080000)",
"ValidDate": "07/2023",
"CardType": "贷记卡",
"CardName": "招商银行信用卡",
"BorderCutImage": null,
"CardNoImage": null,
"QualityValue": 80,
"WarningCode": [
-9110
],
"CardNo": "6225768888888888",
"RequestId": "68f8fcbf-6004-0111a-ac18-6f1a9308fs100mab"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.DownLoadError | 文件下载失败。 |
FailedOperation.IllegalBankCardError | 银行卡信息非法。 |
FailedOperation.ImageDecodeFailed | 图片解码失败。 |
FailedOperation.NoBankCardError | 非银行卡。 |
FailedOperation.OcrFailed | OCR识别失败。 |
FailedOperation.UnKnowError | 未知错误。 |
FailedOperation.UnOpenError | 服务未开通。 |
InvalidParameter.EngineImageDecodeFailed | 图片解码失败。 |
InvalidParameterValue.InvalidParameterValueLimit | 参数值错误。 |
LimitExceeded.TooLargeFileError | 文件内容太大。 |
ResourceUnavailable.InArrears | 账号已欠费。 |
ResourceUnavailable.ResourcePackageRunOut | 账号资源包耗尽。 |
ResourcesSoldOut.ChargeStatusException | 计费状态异常。 |