业务文档
业务文档
1.1 接口概述
产品类型 | 产品编码 | 产品能力 | 产品描述 |
个人实名认证 | idc0001 | 身份证简项 | 提交姓名、身份证号,与公安身份证信息比对。 |
idc3002 | 身份证简项(护照、港澳台通行证、外国人永久居留身份证) | 通过传递姓名+证件号码+证件类型+国籍,校验信息是否一致,支持范围: 全国的港澳居民来往内地通行证 台湾居民来往大陆通行证 外国人永久居留身份证 定居在国外的中国公民护照(简称华侨护照) | |
idc3003 | 身份证简项(港澳台居住证) | 通过传递姓名+证件号码,校验信息是否一致 | |
idc0004 | 银行卡三要素 | 提交姓名、身份证号、银行卡号,与在银行开户时预留的信息比对。 | |
idc0006 | 银行卡四要素 | 提交姓名、身份证号、银行卡号、手机号,与在银行开户时预留的信息比对。 | |
idc0012 | 手机号三要素 | 提交姓名、身份证号、手机号,与在运营商开户留的信息比对。 | |
idc0003 | 身份证人像核验 | 提交姓名、身份证号、人像照片,与公安身份证信息以及预留人像比对。 | |
idc2002 | H5静默活体人脸验证接口 | 根据录制上传的视频进行活体人脸比对(视频录制时长:2~5s) | |
idc2001 | H5数读活体人脸验证接口 | 分两步调用: 1. 获取验证数读活体检测时所需要读的数字 2. 根据录制上传的视频进行活体人脸比对(视频录制时长:2~5s) | |
idc2003 | H5眨眼活体验证接口 | 获取启用H5眨眼视频录制链接(返回的链接有效期为5分钟) | |
idc1004 | 身份证 OCR | 根据上传身份证正面、反面照片获取身份证具体信息。 | |
idc1005 | 银行卡 OCR | 根据上传银行卡正面、反面照片获取银行卡具体信息。 | |
企业实名认证 | idb0003 | 企业工商信息核验 | 提交营业执照信息、法人、代理人信息,与工商注册信息进行比对,确定企业是否真实存在,并核验营业状态以及营业期限。 |
idb0006 | 企业工商及法人姓名信息核验 | ||
idb0011 | 企业工商以及法人信息核验 | ||
idb0007 | 企业登记信息核验 | 提交营业执照信息、法人、代理人信息,与企业登记注册信息进行比对,确定企业是否真实存在,并核验营业状态以及营业期限。 | |
idb0015 | 企业登记以及法人信息核验 | ||
idb0023 | 企业登记以及代理人信息核验 | ||
idb0031 | 企业登记法人以及代理人信息 | ||
idb1001 | 营业执照OCR | 根据上传的营业执照照片获取具体信息。 | |
idb0041 | 企业对公银行账户认证 | 申请银行打款,向企业银行账户中打入随机小金额。 配合企业对公银行账户打款金额验证接口,进行随机金额验证。 打款受理需要一段时间,返回打款申请中,即为提交成功。 | |
idb0042 | 企业查询接口 | 根据企业名称模糊查询对应企业列表信息,最多只返回20条数据。 | |
idb0043 | 企业银行账户开户许可证OCR识别 | 通过上传银行开户许可证、基本存款账户信息的图片或PDF,识别企业、企业以及银行账号信息 |
2 安全性设计
2.1 通讯安全
采用SSL安全连接,防止信息篡改、中间人窃听和重放攻击
2.2 访问安全
实名接口通过验证签名来保证请求的真实性和数据的完整性
2.2.1 签名生成
2.2.1.1 准备
第三方应用在天威诚信电子认证云服务平台(简称天威云)进行应用注册,获得应用标识(AppId)和应用密钥(SecretKey)。
2.2.1.1 计算签名值
使用SecretKey + serviceCode 作为密钥对请求体进行 HMAC-SHA1签名,并对签名结果进行Base64编码得到签名值。
2.2.2 设置HTTP头
实名服务要求请求通过HTTP Authorization头来传递签名。 Authorization由认证类型和签名值两个部分组成,并通过英文空格分隔。
具体组成为:
1.认证类型,目前为固定值COMMON
2.签名值,2.2.1.1 计算结果
curl 命令示例:
curl --location 'https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden' \
--header 'Authorization: COMMON HAnhG+68SMUytXGo0vy2xA/FIQQ=' \
--header 'Content-Type: application/json' \
--header 'appId: a929cd69afae46' \
--header 'serviceCode: idb0003' \
--data '{"appId":"a929cd69afae46","serviceCode":"idb0003","name":"北京天威诚信电子商务服务有限公司","idCode":"911101088020176153","orgCode":"","type":"ET_PE"}'
3 接口定义
3.1 通用约束
● 所有请求内容类型默认使用 application/json
● 所有请求
● 所有涉及到编码的环节一律采用UTF-8(例如URLEncoding、String转byte[]等)
● 当接口参数为二进制字节数组时,一律Base64编码后再传递
● 所有图片数据限制在2M以内
● 所有请求均需通过请求头传递:appId、serviceCode、Authorization
3.2 个人实名接口
3.2.1 身份证简项
3.2.1.1 身份证简项
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc0001 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.1.2 身份证简项(港澳台居住证)
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc3003 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.1.3 身份证简项(护照、港澳台通行证、外国人永久居留身份证)
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIdenForeign 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIdenForeign |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc3002 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
idType | String | 必选 | 证件类型(414-华侨护照,516-港澳居民来往内地通行证,553-外国人永久居留身份证) |
country | String | 必选 | 国籍(国家名英文缩写,除港澳以外参照ISO3166标准,华侨和港澳人员使用CHN) |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.2 银行卡三要素
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc0004 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
bankcard | String | 必选 | 银行卡号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.3 银行卡四要素
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc0006 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
bankcard | String | 必选 | 银行卡号 |
mobile | String | 必选 | 手机号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.4 手机号三要素
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc0012 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
mobile | String | 必选 | 手机号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.2.5 身份证人像核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/person/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/person/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc0003 |
name | String | 必选 | 姓名 |
idCard | String | 必选 | 身份证号 |
selfUrl | String | 可选 | 人像照片网络地址 |
selfImg | String | 可选 | 人像照片base64编码串(图片大小限制2M以内) |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
confidence | String | 可信度百分比 |
orderNumber | String | 业务流水号 |
3.2.6 H5静默活体人脸验证接口
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/h5/bodyFaceCheck 测试环境: https://demo-open.itruscloud.com/apigate/authapi/h5/bodyFaceCheck |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc2002 |
name | String | 必选 | 姓名 |
idnumber | String | 必选 | 身份证号 |
videoFile | String | 必选 | 录制的视频(需传base64)视频大小限制:3M以内 |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
confidence | String | 可信度百分比 |
orderNo | String | 业务流水号 |
faceImage | String | 通过时返回 base64编码人脸裁剪图片 |
3.2.7 H5数读活体人脸验证
3.2.7.1 获取H5唇语数字
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/h5/getlips 测试环境: https://demo-open.itruscloud.com/apigate/authapi/h5/getlips |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc2001 |
name | String | 必选 | 姓名 |
idnumber | String | 必选 | 身份证号 |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
lips | Float | 需要读的数字 |
orderNo | String | 业务流水号 |
3.2.7.2 H5活体人脸验证
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/h5/bodyFaceCheck 测试环境: https://demo-open.itruscloud.com/apigate/authapi/h5/bodyFaceCheck |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc2001 |
name | String | 必选 | 姓名 |
idnumber | String | 必选 | 身份证号 |
videoFile | String | 必选 | 录制的视频(需传base64)视频大小限制:3M以内 |
orderNo | String | String | 获取唇语数字单号 5.7.1 接口中返回 lips 字段 |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
confidence | Float | 相似度比对结果(75以上为通过) |
orderNo | String | 业务流水号 |
3.2.8 H5眨眼活体验证接口
提示:未完成认证或认证结果已过期的可能原因
验证次数过多超限后被风控,风控后的订单为无效,查询结果为未完成认证或认证结果已过期
用户中途退出刷脸,没有完成人脸验证的流程,没有比对,查询结果为未完成认证或认证结果已过期
操作超时,请退出重试 ,验证时间须在5分钟内完成,失效后无法进入刷脸流程,查询结果为未完成认证或认证结果已过期
视频格式或大小不合法 文件或视频不合法,无法进行比对,查询结果为未完成认证或认证结果已过期
上传的视频非实时录制,被时间戳校验拦截,查询结果为未完成认证或认证结果已过期
查询超过3天的订单返回未完成认证或认证结果已过期
app 调用 H5 眨眼需要申请摄像头和麦克风权限,参考兼容性配置:https://cloud.tencent.com/document/product/1007/61076
如有IP白名单设置,需要放开如下地址 www.itruscloud.com、www.webank.com、kyc.qcloud.com、miniprogram-kyc.tencentcloudapi.com
3.2.8.1 获取H5眨眼认证地址
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/h5/blink 测试环境: https://demo-open.itruscloud.com/apigate/authapi/h5/blink |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc2003 |
name | String | 必选 | 姓名 |
idnumber | String | 必选 | 身份证号 |
blinkUrl | String | 必选 | H5 人脸核身完成后回调的第三方 URL,需要第三方提供完整 URL 且做 URL Encode完整 URL Encode 示例:原URL为https://cloud.tencent.com,Encode 后为https%3a%2f%2fcloud.tencent.com |
fromType | String | String | browser:表示在浏览器启动刷脸 App:表示在 App 里启动刷脸 |
successLocation | String | 可选 | 认证成功跳转页面 |
failLocation | String | 可选 | 认证失败跳转页面 |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
loginUrl | String | 认证链接 |
orderNo | String | 业务流水号 |
3.2.8.2 回调接口说明
请求地址 | 接口 5.8.1 中传入的 blinkUrl |
请求方式 | POST |
请求头:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 接口 5.8.1 中传递 appId |
Authorization | String | 必选 | COMMON + 签名值 签名方式: 2.2.1 签名生成方式 |
使用 SecretKey 作为密钥对请求体进行 HMAC-SHA1签名,并对签名结果进行Base64编码得到签名值。
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
status | Long | 必选 | 认证结果 1通过,其他值未通过 |
message | String | 必选 | 接口执行结果信息 |
confidence | Float | 必选 | 眨眼活体检测分数 |
orderNo | String | 必选 | 业务流水号 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 ,其他失败 返回成功后不再回调,失败重新回调3次,每次间隔一秒 |
message | String | 接口执行结果信息 |
3.2.9 身份证 OCR
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/image/ocrCheck 测试环境: https://demo-open.itruscloud.com/apigate/authapi/image/ocrCheck |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc1004 |
base64File | String | 必选 | 图片的base64格式字符串 (图片限制大小3M以内) |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNo | String | 业务流水号 |
info | JsonObject | info具体返回信息格式 身份证正面: |
3.2.10 银行卡 OCR
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/image/bankcardCheck 测试环境: https://demo-open.itruscloud.com/apigate/authapi/image/bankcardCheck |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc1005 |
base64File | String | 必选 | 图片的base64格式字符串 (图片限制大小3M以内) |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNo | String | 业务流水号 |
info | JsonObject | info具体返回信息格式 { |
3.3 企业实名接口
3.3.1 企业工商信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0003 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 |
name | String | 必选 | 企业名称 |
idCode | String | 必选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功,其他:失败 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 {
|
enterpriseInfo具体字段对应说明 | ||
名称 | 类型 | 描述 |
Name | String | 公司名称 |
No | String | 注册号 |
BelongOrg | String | 登记机关 |
OperName | String | 法定代表人 |
StartDate | Long | 成立日期 |
EndDate | String | 注销/吊销日期 |
Status | String | 登记状态(存续、在业、注销等) |
CreditCode | String | 统一社会信用代码 |
RegistCapi | String | 注册资本 |
EconKind | String | 类型 |
Address | String | 住所 |
Scope | String | 经营范围 |
TermStart | Long | 营业期限自 |
TermEnd | String | 营业期限至 |
CheckDate | Long | 核准日期 |
3.3.2 企业工商及法人姓名信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0006 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 |
name | String | 必选 | 企业名称 |
legalName | String | 必选 | 法人姓名 |
idCode | String | 必选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.3 企业工商及法人信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0011 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 |
name | String | 必选 | 企业名称 |
legalName | String | 必选 | 法人姓名 |
legalId | String | 必选 | 法人身份证号 |
idCode | String | 必选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.4 企业登记信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0007 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 ET_OU:政府机构/事业单位 当type为ET_PE和ET_SE时,idCode必填,orgCod非必填; 当type为ET_OU时,idCode和orgCod二选一 |
name | String | 必选 | 企业名称 |
idCode | String | 可选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.5 企业登记及法人信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0015 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 ET_OU:政府机构/事业单位 当type为ET_PE和ET_SE时,idCode必填,orgCod非必填; 当type为ET_OU时,idCode和orgCod二选一 |
name | String | 必选 | 企业名称 |
legalName | String | 必选 | 法人姓名 |
legalId | String | 必选 | 法人身份证号 |
idCode | String | 可选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.6 企业登记及代理人信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0023 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 ET_OU:政府机构/事业单位 当type为ET_PE和ET_SE时,idCode必填,orgCod非必填; 当type为ET_OU时,idCode和orgCod二选一 |
name | String | 必选 | 企业名称 |
| String | 必选 | 代理人姓名 |
agentId | String | 必选 | 代理人身份证号 |
idCode | String | 可选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.7 企业登记、法人以及代理人信息核验
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/authIden 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/authIden |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0031 |
type | String | 必选 | 企业类型: ET_PE:企业 ET_SE:个体工商户 ET_OU:政府机构/事业单位 当type为ET_PE和ET_SE时,idCode必填,orgCod非必填; 当type为ET_OU时,idCode和orgCod二选一 |
name | String | 必选 | 企业名称 |
legalName | String | 必选 | 法人姓名 |
legalId | String | 必选 | 法人身份证号 |
| String | 必选 | 代理人姓名 |
agentId | String | 必选 | 代理人身份证号 |
idCode | String | 可选 | 统一社会信用代码或营业执照注册号 |
orgCode | String | 可选 | 组织机构代码 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
enterpriseInfo | JsonObject | info具体返回信息格式 { |
3.3.8 营业执照 OCR
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/image/businessLicense 测试环境: https://demo-open.itruscloud.com/apigate/authapi/image/businessLicense |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idc1005 |
base64File | String | 必选 | 图片的base64格式字符串 (图片限制大小3M以内) |
saveFlag | String | 可选 | 是否获取用户认证意愿授权 ;1:是,将留存照片 ; 0:否 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNo | String | 业务流水号 |
info | JsonObject | info具体返回信息格式 { |
3.3.9 企业对公银行账户认证
3.3.9.1 申请银行打款
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/bankAccount/payment/verificationIdenNewPay 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/bankAccount/payment/verificationIdenNewPay |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0041 |
keyName | String | 必选 | 企业名称 |
accountNo | String | 必选 | 银行账号 |
accountBank | String | 必选 | 银行名称,注意:不需要精确到支行,只需要完整的总行名称即可。 建议前端下拉选择银行,不允许用户手动输入 |
subBank | String | 可选 | 银行联行号, 不支持境外银行,只支持国内所有银行。此参数优先级高于accountBank参数。 建议校验位数(12位),不允许空格、特殊字符等,示例402873100333 |
payCallbackUrl | String | 可选 | 打款回调地址(如有请参照3.3.9.4处进行回调对接) |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
orderNumber | String | 业务流水号 |
3.3.9.2 验证打款金额
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/payment/verifyIdenNewPay 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/payment/verifyIdenNewPay |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
orderNumber | String | 必选 | 业务流水号 |
paymentAmount | String | 必选 | 到款金额 |
返回值:
名称 | 类型 | 描述 |
status | Long | 1:成功 其他:失败,详见“错误码”的描述 |
message | String | 接口执行结果信息 |
3.3.9.3 获取银行列表接口
请求地址 | 生产环境: https://www.itruscloud.com/webgate/authweb/mini/ent/getBankList 测试环境:https://demo.itruscloud.com/webgate/authweb/mini/ent/getBankList |
请求方式 | POST |
返回值:
名称 | 类型 | 描述 |
status | Long | 1成功,其他失败 |
data | JsonArray | [ |
3.3.9.4打款回调接口
名称 | 内容 |
接口说明 | 1、在打款申请接口中,配置了回调接口地址,需要按照以下方式参数进行接口参数接收,按照返回格式进行结果返回 |
请求方法 | POST |
应答格式 | JSON |
回调请求参数:
字段 | 类型 | 释义 | |
serialnumber | String | 必填 | 流水号 |
status | Integer | 必填 | 打款状态1.打款中 2.打款失败 3.打款成功 |
payTime | Date | 必填 | 付款到账时间 |
payFailMessage | String | 可选 | 打款失败原因 |
例如:
@PostMapping("/testCallBack")
public @ResponseBody Map<Object, Object> testCallBack(
@RequestParam(value = "serialnumber", required = true) String serialnumber,
@RequestParam(value = "status", required = true) String status,
@RequestParam(value = "payFailMessage", required = true) String payFailMessage,
@RequestParam(value = "payTime", required = true) String payTime) {
System.out.println("测试回调的serialnumber = " + serialnumber);
HashMap<Object, Object> map = new HashMap<>(8);
map.put("code", 0);
map.put("message", "已收到回调")
return map;
}
收到回调返回:
1. 使用json传输code=0,表示回调成功,其他失败
名称 | 描述 |
code | 0,表示回调成功,其他失败 |
3.3.10 企业查询接口
名称 | 内容 |
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/enterprise/queryEntList 测试环境: https://demo-open.itruscloud.com/apigate/authapi/enterprise/queryEntList |
请求方法 | POST |
请求参数:
字段 | 类型 | 是否必须 | 描述 |
companyName | String | 是 | 企业名称 |
appId | String | 是 | 应用标识 |
serviceCode | String | 是 | 产品编码 固定值:idb0042 |
返回结果:
字段 | 类型 | 描述 |
orderNumber | String | 流水号 |
status | Long | 1:成功,其他:失败 |
message | String | 接口执行结果信息 |
entInfos | List | 企业列表 |
|- no | String | 注册号 |
|- address | String | 注册地址 |
|- creditCode | String | 统一社会信用代码 |
|- keyNo | String | KeyNo |
|- name | String | 企业名称 |
|- operName | String | 法定代表人姓名 |
|- startDate | String | 成立日期 |
|- status | String | 状态 |
正确返回示例:
{
"orderNumber": "idb202306161629102302955",
"entInfos": [
{
"no": "110000410144104",
"address": "北京市海淀区上地十街10号百度大厦三层",
"creditCode": "91110108717743469K",
"keyNo": "3f603703d59a04cbe427e5825099a565",
"name": "百度在线网络技术(北京)有限公司",
"operName": "崔珊珊",
"startDate": "2000-01-18",
"status": "存续"
},
{
"no": "310115400176517",
"address": "中国(上海)自由贸易试验区纳贤路701号1#楼3层",
"creditCode": "91310000775785552L",
"keyNo": "644f2f8965a750c40892b30fdd909b19",
"name": "百度(中国)有限公司",
"operName": "沈抖",
"startDate": "2005-06-06",
"status": "存续"
}
],
"message": "查询成功。",
"status": 1
}
异常返回示例:
{"status":400,"message":"系统异常,请联系管理员","requestId":"GT3gNrYtwgGx1FdQ1m7"}
3.3.11 企业银行账户开户许可证OCR识别
名称 | 内容 |
请求地址 | 生产环境: https://open.itruscloud.com/apigate/authapi/image/bankAccountOpenOcr 测试环境: https://demo-open.itruscloud.com/apigate/authapi/image/bankAccountOpenOcr |
请求方式 | POST |
请求体 JSON:
名称 | 类型 | 约束 | 描述 |
appId | String | 必选 | 应用标识 |
serviceCode | String | 必选 | 服务编码 固定值:idb0043 |
base64File | String | 必选 | 经过base64编码的银行开户证明照片, 照片要求如下: 1. 格式必须为 JPG(JPEG),BMP,PNG,GIF,TIFF 之一 2. 宽和高必须大于 8px,小于等于 5000px 3. 文件尺寸小于等于 5 MB |
saveFlag | String | 可选 | 是否保存图片 1:保存,其他不保存 |
crmOrderNo | String | 可选 | crm订单号(传入crm订单号后不再从网关中获取crm订单号及天威云订单号) |
fileType | String | 可选 | 文件类型: 1:图片,2:pdf文件, 默认值是1 |
ocrType | String | 可选 | ocr类型: 1:开户许可证OCR, 2: 基本存款账户信息OCR, 默认值是1 |
返回值:
名称 | 类型 | 描述 |
status | int | 1:成功 其他:详见“错误码”的描述 |
message | String | 接口执行结果信息 |
info | String | 具体信息(JSON格式字符串)见下 |
orderNo | String | 业务流水号 |
info信息:
{
"data":{
"accountNumber":"",//账户
"bankName":"", //开户银行名称
"date":"", //开户日期 (开户许可证ocr才返回)
"grantNo":"" , //核准号 (开户许可证ocr才返回)
"legalRepresentative":"" , //法定代表人
"name":"",//开户名称
"no":"" //编号或者基本存款账户编号
},
"score":{
"accountNumber":"",//账户的分数
"bankName":"", //开户银行名称的分数
"date":"", //开户日期的分数 (开户许可证ocr才返回)
"grantNo":"" , //核准号的分数 (开户许可证ocr才返回)
"legalRepresentative":"" , //法定代表人的分数
"name":"",//开户名称的分数
"no":"" //编号或者基本存款账户编号的分数
}
}
正常返回示例:
{
"chargeFlag": "1",
"orderNo": "idc202309121818154316086",
"status": 1,
"info": {
"score": {
"date": "0.980867",
"no": "0.0",
"legalRepresentative": "0.998143",
"name": "0.994539",
"grantNo": "0.997014",
"bankName": "0.998509",
"accountNumber": "0.998635"
},
"data": {
"date": "2014年01月20日",
"no": "",
"legalRepresentative": "赵黔勇",
"name": "贵州优品广告传媒有限公司",
"grantNo": "J7010014032501",
"bankName": "中国建设银行股份有限公司贵阳甲秀支行",
"accountNumber": "52001423736052512195"
}
}
}
4 错误码
错误分类 | 错误码 | 描述 |
系统错误 | 100000 | 无可用信任源 |
100001 | 信任源异常错误,请联系管理员 | |
100002 | 提交的参数信息不完整 企业类型为ET_OU时,idCode和orgCode二选一,不能同时输入 未查询到银行名称列表 银行名称不存在 企业名称不能为空 开户支行网点不能为空 银行账号不能为空 银行编码和银行名称必须二选一 订单描述不能超过8个字 | |
100003 | 系统异常错误 | |
100004 | 没有此服务权限 | |
100005 | 服务密钥错误 | |
100006 | Hmac验证错误 | |
100007 | 服务计费失败 | |
100008 | 接口调用异常 | |
100009 | 缺少服务配置 | |
100010 | 应用标识不存在 | |
100011 | 应用状态已关闭 | |
100012 | 此服务还未开始 | |
100013 | 服务已关闭 应用未授权,请登录控制台,在我的应用下添加应用授权 | |
100015 | 您的服务已过期,请重新购买服务 | |
100016 | 数量不足,请重新购买服务 | |
100017 | 您当前服务不可用,如有问题请联系客服 | |
100018 | 重复太多次没有得到处理 | |
100019 | 访问超时,请重试 | |
100020 | appid或signature不能为空 | |
100021 | 计费规则加载失败 | |
100022 | 此接口未找到 | |
100023 | 此服务未发布 | |
100024 | 查无此结果 | |
120001 | 主中心接口调用异常 | |
120002 | 从中心参数错误,cloudId,signature | |
120003 | 从中心签名验证失败 | |
个人 | 101001 | 姓名不正确 |
101002 | 身份证号不正确 | |
101003 | 库中无此身份证号码 | |
101004 | 姓名和身份证号码不匹配 | |
102001 | 银行卡号不正确 | |
102002 | 手机号不正确 | |
102003 | 银行卡信息匹配不一致 | |
102004 | 卡状态错误(没收卡,挂失,被窃无效卡号,未初始化等) | |
102005 | 访问银联接口异常 | |
102006 | 银联预留身份证不存在 | |
102007 | 卡验证异常(发卡方不允许操作、受限卡、验证请求频繁等异常情况) | |
103001 | 公安数据源服务出错 | |
103002 | 参数非UTF-8编码 | |
103003 | 网络地址图片获取超时 | |
103004 | 网络地址图片获取失败 | |
103005 | 图片不存在 | |
103006 | 图片体积不能超过2M | |
103007 | 姓名和身份证号匹配,公安照片不存在 | |
103008 | 上传的图片未检测出人脸 | |
103009 | 公安库中的图片未检测出人脸 | |
103010 | 文件不是图片文件或已经损坏导致无法正确识别 | |
103011 | 图片格式不符合要求 | |
103012 | 人脸特征提取失败 | |
103013 | 相似度比对未通过 | |
104010 | 手机号三要素匹配不一致 | |
105010 | 无此驾照信息 | |
105011 | 查询失败 | |
105012 | 身份证核验失败 | |
105013 | 无法验证!【中心中无此 身份证记录,军人转业,户口迁 移等】 | |
105014 | 驾驶证号与档案编号不一致 | |
105015 | 姓名与驾驶证号不一致 | |
106010 | 银行卡五要素不匹配 | |
106011 | 确定是电子账户,但无法判定是二类还是三类账户 | |
106012 | 要素信息验证不一致 | |
106013 | 非电子账户 | |
106014 | 银行卡五要素参数错误 | |
107010 | 车辆已注销 | |
107011 | 城市未开通 | |
107012 | 不支持该车型 | |
107013 | 车辆信息填写不匹配 | |
108001 | 认证失败,请稍后重试 | |
108002 | 认证失败,发卡行不支持 | |
108003 | 认证失败,该卡号当日连续多次认证不通过被限制校验,次日恢复 | |
108004 | 认证失败,银行卡状态异常,详情请咨询您的发卡行 | |
108005 | 认证失败,未开通无卡支付 | |
108006 | 参数错误:银行卡号格式不正确 | |
108007 | 同一要素请求过于频繁 | |
108008 | 车同一银行卡请求过于频繁 | |
108009 | 参数错误:订单号格式不正确 | |
108010 | 认证信息不匹配,与银行预留信息不一致 | |
108011 | 银行卡四要素(境外)参数错误 | |
108012 | 认证失败,卡号不存在 | |
108013 | 认证失败,数据源异常 | |
108014 | 参数错误:姓名格式不正确 | |
108015 | 参数错误:身份证格式不正确 | |
108016 | 参数错误:银行卡号格式不正确 | |
108017 | 参数错误:手机号格式不正确 | |
OCR | 1200 | 输入参数无效 |
1002 | 调用频率超过限制 | |
2003 | 图片尺寸不符合要求 | |
2004 | 图片体积不符合要求 | |
2005 | 图片类型不符合要求 | |
2006 | 图片损坏 | |
4001 | 身份证服务检测失败 | |
4002 | 银行卡服务检测失败 | |
5003 | 营业执照服务检测失败 | |
2 | 身份证OCR验证失败营业执照OCR验证失败银行卡OCR验证失败 | |
H5静默 | 1002 | 调用频率超过限制 |
2008 | 无效的视频文件 | |
3003 | 姓名与身份证号不匹配 | |
3004 | 身份证号无效 | |
3005 | 第三方底图不存在 | |
4007 | 静默活体检测失败 | |
4000 | 提取特征失败,没有检测到图片中的人脸 | |
企业 | 201001 | 营业执照:号码没查找到数据 |
201002 | 营业执照:名称不匹配 | |
201003 | 营业执照:注册号不匹配(企业未三证合一) | |
201004 | 营业执照:统一信用代码不匹配 | |
201005 | 企业营业执照:已三证合一,请提交统一信用代码重新提交认证 | |
201006 | 营业执照:号码不匹配(三证合一状态无法判断) | |
201007 | 营业执照:不在经营有效期内 | |
201008 | 营业执照:企业状态异常 | |
201100 | 企业组织机构代码/工商登记号/统一信用代码不能为空 | |
201101 | 企业组织机构代码/工商登记号/统一信用代码不正确 | |
202001 | 组织机构代码:号码没查找到数据 | |
202002 | 组织机构代码:名称不匹配 | |
202003 | 组织机构代码:号码不匹配 | |
202004 | 组织机构代码:企业已三证合一,仍提交了组织机构代码 | |
202005 | 组织机构代码:不在经营有效期内 | |
202006 | 组织机构代码:企业状态异常 | |
202007 | 组织机构代码:开放时间周一至周五8点至17点 | |
202008 | 企业类型错误 | |
203001 | 法人姓名不正确 | |
203002 | 法人身份证号不正确 | |
203003 | 库中无此法人身份证号码 | |
203004 | 法人姓名和身份证号码不匹配 | |
203005 | 企业法人姓名不匹配 | |
203006 | 企业基本信息未认证,请先认证企业基本信息 | |
203007 | 验证要素格式有误 | |
203008 | 不支持验证 | |
203009 | 验证不一致 | |
203010 | 无效证件号 | |
203011 | 未查得该企业信息 | |
101001 | 代理人姓名不正确。法人姓名不正确 | |
101002 | 代理人身份证号不正确法人身份证号不正确 | |
101003 | 库中无此代理人身份证号码 | |
101004 | 代理人姓名和身份证号码不匹配 | |
101009 | 企业名称与企业标识、法人姓名一致,法人身份证不一致 | |
101010 | 企业名称与企业标识、法人身份证一致,法人姓名不一致 | |
101011 | 企业名称与企业标识一致,法人姓名、法人身份证不一致 | |
101012 | 企业标识与法人姓名、法人身份证一致,企业名称不一致 | |
101013 | 企业标识与法人姓名一致,企业名称、法人身份证不一致 | |
101014 | 企业标识一致,企业名称、法人姓名、法人身份证不一致 | |
101015 | 企业名称、企业标识、法人姓名、法人身份证均不一致 | |
108018 | 认证失败 | |
108019 | 未查到工商信息,请核对企业类型或上送的信息是否正确 | |
205007 | 不支持组织机构代码方式 | |
300001 | 打款失败 | |
300002 | 付款申请中 | |
300003 | 无对应有效打款信息,请重新打款 | |
300004 | 打款金额验证失败 | |
300005 | 银行名称不在支持的列表中 | |
300006 | 此次认证已完成,不能重复验证金额 | |
300007 | 您已经三次金额验证失败,请重新打款 | |
300008 | 您的打款申请提交次数过多 | |
80010150 | 转账中,请查看银行账户 | |
80010151 | 转账未成功,请联系开户行核实账户信息 | |
80010162 | 付款银行名称有误 | |
80010163 | 收款账户不支持此业务 | |
80010164 | 收款方账户状态异常或已注销 | |
80010165 | 银行查无此账号 | |
80010166 | 收款账户名称和账户号码不一致 | |
80010181 | 账户名称与银行记录不符 | |
80010037 | 银行交易超时,请重试 | |
90010162 | 转账未成功,请稍后重试 |