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. 客服咨询:

文档更新时间: 2025-04-27 11:34   作者:admin