1. 简要描述
- 小程序插件版本,提供人脸核身、人脸活体检测、身份证OCR三个识别服务;
- 人脸核身的功能为通过人脸识别,完成个人身份的校验;人脸比对使用公安一所的权威库;
- 身份证OCR识别功能,支持正反面的文字识别;
2. 使用前须知
- 此为学谷智能提供的插件服务,需要先在学谷官网注册获取商户号;
https://plugin.shargoodata.com
3. 调用方式
app.json 中增加声明引入插件
{
"pages": [],
"plugins": {
"shargoodata": {
"version": "*",// 目前只支持设置 * 拉取当前上架最新版本
"provider": "2021001169632962" (此ID不能填错,直接复制即可)
}
},
"window": {
"v8WorkerPlugins": "gcanvas_runtime", // 必填
"v8Worker": 1 // 必填
}
}
小程序页面js文件头部引入插件
let plugin = requirePlugin('shargoodata')
Page({
xxxx
})
4. 获取 Token 的接口
功能:提供服务端和前端两种方式获取token,建议服务端获取更安全;
服务端获取方法:
简要描述:
- api获取请求token
请求URL:
接口地址:https://gauss.shargoodata.com/gauss/authorization/token.json
请求方式:POST
数据类型:x-www-form-urlencoded
请求参数:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
platformNo | 是 | string | 商户号 |
secretKey | 是 | string | 密钥 |
expiresIn | 是 | long | token有效期,单位(秒),建议设置不超过300(5分钟),定时轮换token;最大限制2592000(30天) |
响应结果:
参数名 | 类型 | 说明 |
---|---|---|
success | boolean | 是否成功获取到token,true:成功,false:失败; |
data | string | token |
error_code | string | 错误代码 |
message | string | 描述 |
附:小程序前端调用方法(供参考):
my.request({
url: 'https://gauss.shargoodata.com/gauss/authorization/token.json',
data: {
platformNo: '****', // 此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
secretKey: '****'
},
dataType: 'JSON',
method: 'POST',
headers: {
'content-type': 'application/x-www-form-urlencoded'
},
success: function(res) {
console.log(res)
}
})
接口返回结果实例:
{
data: "" // 返回的token
outside_no: null
success: true
}
5. 选择服务功能
1 )人脸核身
功能:人脸活体检测且通过调用公安信息库完成身份信息验证;
/** axml **/
<button onTap="handleClickBtn">身份验证</button>
/** js **/
handleClickBtn() {
plugin.ocrStart({
token: '', // token
platformNo: '****', // 此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
orderNo: '01000XX', // 订单号(可选),用于向我们查找这一笔调用记录的情况
type: 'identity',
extraInfo: {
idName: '****', // 用户姓名
idNumber: '****' // 用户身份证
},
success: res => {
console.log(res) // 插件的最终返回结果
}
})
}
正确返回结果实例
{
"success": true, "code": "200", "data": "验证信息一致", faceImg: "https://XXX", idCardImg: ["https://XXX", "https://XX"]
}
错误返回结果实例
{
success: false,
type: 'idCard',
msg: '人像面错误:参数不合法'
}
{
success: false,
type: 'idCard',
msg: '国徽面错误:参数不合法'
}
{
success: false,
code: 4,
type: "face",
msg: "无效的token",
faceImg: "https://XXX",
idCardImg: ["https://XXX", "https://XX"]
}
{
success: false,
code: 501,
type: "face",
msg: "ERROR:无效的证件号",
faceImg: "https://XXX",
idCardImg: ["https://XXX", "https://XX"]
}
{
success: false,
code: 405,
type: "face",
msg: "照片比对不正确",
faceImg: "https://XXX",
idCardImg: ["https://XXX", "https://XX"]
}
{
success: false,
code: 404,
type: "face",
msg: "验证信息不一致",
faceImg: "https://XXX",
idCardImg: ["https://XXX", "https://XX"]
}
返回参数说明:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
success | 是 | boolean | 是否扣费 |
data | 否 | json | 文本信息 |
code | 否 | string | 校验信息 |
success为true时,data.code取值说明
code码 | 说明 |
---|---|
200 | 验证通过 |
405 | 照片不匹配 |
404 | 库中无此号 |
403 | 相片质量校验不合格 |
406 | 身份证号与姓名不匹配 |
401 | 活体验证不通过 |
400 | 无效的参数 |
402 | 无效的证件 |
500 | 输入图片无法处理;通道异常; |
success为false时,error_code报错码枚举:
code码 | 说明 |
---|---|
400 | image图片不可为空 |
2) 人脸活体检测
功能:通过扫描人脸,检验当前人是否为真实人物
/** axml **/
<button onTap="handleClickBtn">人脸识别</button>
/** js **/
handleClickBtn() {
plugin.ocrStart({
token: '', // token
platformNo: '****', // 此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
orderNo: 'XXX', // 订单号(可选),用于向我们查找这一笔调用记录的情况
type: 'living',
success: res => {
console.log(res) // 插件的最终返回结果
}
})
}
返回结果实例
{ "success": true, "data": { "code": "扣费成功" } }
{ "success": false, "error_code":"500", "message":"请求超时" }
3) 身份证 OCR识别
功能:检测身份证正反面并识别图中文字
/** axml **/
<button onTap="handleClickBtn">身份证</button>
/** js **/
handleClickBtn() {
plugin.ocrStart({
platformNo: '*****', // 此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
token: '',
type: 'idCard',
success: res => {
console.log(res) // 插件的最终返回结果
}
})
}
返回结果实例
{
data: [{"title":"姓名","value":"张三"},{"title":"身份证号","value":""},{"title":"性别","value":"男"},{"title":"民族","value":"汉"},{"title":"出生日期","value":""},{"title":"地址","value":""},{"title":"签发机关","value":""},{"title":"有效期限","value":""}]
imgList: ['https://xxx.png', 'https://xxx.png']
}
6. 查询接口:“人脸核身”处理结果的后端查询
功能:给需要安全性要求高的,希望通过服务端查询人脸核身结果的商户使用;
请求URL:
接口地址:https://gauss.shargoodata.com/gauss/mp/ocr/query
请求方式:POST
数据类型:x-www-form-urlencoded
表头:
参数名 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
token | String | 无 | 是 | token |
表体:
参数名 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
platformNo | String | 无 | 是 | 商户号 |
body | String | 无 | 是 | 订单号,与前文的orderNo相同 |
返回信息
字段 | 类型 | 说明 |
---|---|---|
success | boolean | true代表执行成功,扣费;false代表执行不成功,不扣费 |
data | object | code,msg,image(base64形式,人脸照片) |
success为true时,code取值说明
code码 | 说明 |
---|---|
200 | 验证通过 |
405 | 照片不匹配 |
404 | 库中无此号 |
403 | 相片质量校验不合格 |
406 | 身份证号与姓名不匹配 |
401 | 活体验证不通过 |
400 | 无效的参数 |
402 | 无效的证件 |
500 | 输入图片无法处理 |
success为false时,error_code报错码枚举:
code码 | 说明 |
---|---|
509 | 结果记录未查到 |
7. 客服咨询:
- 手机号:15068737550
- 邮箱: enjoycai@shargoodata.com
- 微信:
文档更新时间: 2025-04-27 11:34 作者:admin