# 移动端在线活体验证

# 业务介绍

通过传入的活体sdk的信息生成token,并能根据生成的token查询认证的状态和结果。

IOS在线活体SDK集成帮助文档

Android在线活体SDK集成帮助文档

# 获取token

根据传入的活体sdk的信息生成token

# 一、请求说明

# 二、请求参数

名称 类型 是否必须 描述
sdkVersion Integer SDK版本,范围(1-99999)
sdkType String SDK类型(ios或android)
appIdentifier String 应用标识符,android为包名,IOS为bundleId
certMd5 String 签名证书MD5,sdkType为android则必填,sdkType为ios则不填
notifyUrl String 平台方服务器主动通知客户服务器指定页面,向服务器主动推送活体验证结果

请求示例:

https://api.spiderid.cn/api/router/rest?
sdkVersion=XXX
&sdkType=XXX
&appIdentifier=XXX
&<[公共请求参数]>

# 三、响应参数

data 结果信息 类型 描述
token String 认证Token
expireTime Long 过期时间毫秒数
incorrect Integer 返回码(详情见字段解释)
message String 对返回码的描述
  • 字段解释

  • incorrect 返回码介绍

字段 状态介绍
100 成功

# 四、成功示例

JSON示例

{
   "code": 0,
    "requestId":"f1005...",
    "message": "success",
    "data": {
        "token":"ZjA3OGZmZmZiYjMwYzdkNGVkNzljZGM3ZjFlOWM1YzQ0MTgzMzIxYTQxMTE5ZjU0ZDFmZTMyODA4M2MwZWVjZmYxMDA1ZjIyNjFmYjdkNTYwZDAwMDE5NzU5MTM=",
        "expireTime":1596124827263,
        "incorrect":100,
        "message":"成功"
    }
}

# 五、失败示例

JSON示例

{
  "code": 10005,
  "requestId":"f1005...",
  "message": "请求参数(certMd5)必须为空,请参考API文档",
  "data":null
}

# 获取认证状态

根据token获取认证状态

# 一、请求说明

# 二、请求参数

名称 类型 是否必须 描述
token String 认证token

请求示例:

https://api.spiderid.cn/api/router/rest?
token=XXX
&<[公共请求参数]>

# 三、响应参数

data 结果信息 类型 描述
status String 认证状态
incorrect Integer 返回码 100为成功
message String 对返回码的描述
  • 字段解释

  • status 认证状态介绍

字段 状态介绍
CREATE 未认证
ACTION 认证中
OVER 完成认证
INVALID 已失效
  • incorrect 返回码介绍
字段 状态介绍
100 成功
101 认证记录不存在

# 四、成功示例

JSON示例

{
   "code": 0,
    "requestId":"dsd24...",
    "message": "success",
    "data": {
        "status":"OVER",
        "incorrect":100,
        "message":"成功"
    }
}

# 五、失败示例

JSON示例

{
   "code": 0,
    "requestId":"dsd24...",
    "message": "success",
    "data": {
        "incorrect":101,
        "message":"认证记录不存在"
    }
}

# 获取认证结果

根据token获取认证结果,状态为OVER时,才能获取到认证结果。

# 二、请求参数

名称 类型 是否必须 描述
token String 认证token

请求示例:

https://api.spiderid.cn/api/router/rest?
token=XXX
&<[公共请求参数]>

# 三、响应参数

data 结果信息 类型 描述
image String 活体图片
incorrect Integer 返回码(详情见字段解释)
message String 对返回码的描述
  • 字段解释

  • incorrect 返回码介绍

字段 状态介绍
100 成功
101 认证记录不存在
102 认证状态非法

# 四、成功示例

JSON示例

{
   "code": 0,
    "requestId":"f1005f...",
    "message": "success",
    "data": {
        "image":"/9j/4AAQ...",
        "incorrect":100,
        "message":"成功"
    }
}

# 五、失败示例

JSON示例

{
   "code": 0,
    "requestId":"f1005f...",
    "message": "success",
    "data": {
        "incorrect":102,
        "message":"认证状态非法"
    }
}

# SDK 请求示例

# 获取 Token

        //提供的url
        String url = "http://api.spiderid.cn/api/router/rest";
        //您的appKey
        String appkey = "XXX";
        //您的appSecret
        String secretKey = "XXX";
        //1.原客户端
        ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
        //2.调用出错,自动重试客户端
        //AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
        LivenessSdkGetTokenRequest req = new LivenessSdkGetTokenRequest();

        //SDK版本
        req.setSdkVersion(10000);

        //SDK类型  ios | android
        req.setSdkType("ios");

        //应用标识符,android 为包名 IOS 为 bundleId
        req.setAppIdentifier("cn.unitid.spark.demo.detection");

        //平台方服务器主动通知客户服务器指定页面(选填)
        //req.setNotifyUrl("xxx.xxx.xxx");

        //签名证书MD5,sdkType为android 必填 sdkType为ios 不填
        //req.setCertMd5("XXX");

        try {
            LivenessSdkGetTokenResponse response = apiClient.execute(req);
            //后续业务处理

        } catch (ApiException e) {
            e.printStackTrace();
        }
    }

# 获取认证状态

        //提供的url
        String url = "http://api.spiderid.cn/api/router/rest";
        //您的appKey
        String appkey = "XXX";
        //您的appSecret
        String secretKey = "XXX";
       //1.原客户端
        ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
        //2.调用出错,自动重试客户端
        //AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
        LivenessSdkGetStatusRequest req = new LivenessSdkGetStatusRequest();
        //认证token
        req.setToken("XXX");

        try {
            LivenessSdkGetStatusResponse response = apiClient.execute(req);
            //后续业务处理
            
        } catch (ApiException e) {
            e.printStackTrace();
        }
    }

# 获取认证结果

        //提供的url
        String url = "http://api.spiderid.cn/api/router/rest";
        //您的appKey
        String appkey = "XXX";
        //您的appSecret
        String secretKey = "XXX";
        //1.原客户端
        ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
        //2.调用出错,自动重试客户端
        //AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
        LivenessSdkGetResultRequest req = new LivenessSdkGetResultRequest();

        req.setToken("xxx");


        try {
            LivenessSdkGetResultResponse response = apiClient.execute(req);
            //后续业务处理

        } catch (ApiException e) {
            e.printStackTrace();
        }
最后更新于: 1/5/2024, 7:22:55 PM