SDK配合调用接口

1./v2/sdk/get_token

1.1 接口描述

该API的功能是配合活体检测SDK使用,在SDK启动前获取token,get_token 接口是与 liveness_auth 配对使用的,使用get_token 获取token,活体检测初始化时调用liveness_auth 对token进行验证

请求方式

POST

请求 URL

https://cloudapi.linkface.cn/v2/sdk/get_token

1.2 请求参数

字段 类型 必需 描述
sequence_id string 客户请求流水号(建议使用64位的随机字符串,用于客户查询日志使用)
api_id string API账户
detection_type string 检测类型(取值范围:liveness、idcard_ocr、bankcard_ocr),如果传其他值过来,则报入参错误,1002,请求参数错误
timestamp string 时间戳
sign string 签名(api_id+api_secret+timestamp使用SHA256算法获取)

所有中文和特殊字符必需以UTF-8编码转义。

签名sign说明:

我们会为每位公有云用户分配一个账户API ID和对应秘钥API SECRET。为了保证安全性,用户的每次接口调用都需要上传一个签名(基于API ID和API SECRET获取)。

Java示例代码:

SHA256Util.getSHA256Str(LF_APP_ID + LF_APP_SECRET + timeStamp)
/**
     * 利用java原生的摘要实现SHA256加密
     *
     * @param str 加密后的报文
     */
    public static String getSHA256Str(String str) {
        MessageDigest messageDigest;
        String encodeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(str.getBytes("UTF-8"));
            encodeStr = byte2Hex(messageDigest.digest());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encodeStr;
    }
    /**
     * 将byte转为16进制
     */
    private static String byte2Hex(byte[] bytes) {
        StringBuffer stringBuffer = new StringBuffer();
        String temp = null;
        for (int i = 0; i < bytes.length; i++) {
            temp = Integer.toHexString(bytes[i] & 0xFF);
            if (temp.length() == 1) {
                //1得到一位的进行补0操作
                stringBuffer.append("0");
            }
            stringBuffer.append(temp);
        }
        return stringBuffer.toString();
    }

1.3 返回参数

字段 类型 描述
request_id string 本次请求的唯一流水号(建议使用64位的随机字符串,用于客户查询日志使用)
code string 业务响应码
msg string 消息说明
data object 消息体(只有0000调用成功时返回)
charge int 是否收费,1收费,2不收费

data详情:

字段 类型 描述
token string SDK鉴权token,token的有效期是5分钟,超过5分钟后,客户服务端需重新调用get_token获取token。

输出示例:

成功返回示例:
{
    "request_id": "TID2af751b4bff24be781d60af10bf84101",
    "code": "0000",
    "msg": "调用成功",
    "data": {
        "token":"dstj2af751b4bff24be781d60af10bf84101"
    }
    "charge": 2
}
失败返回示例:
{
    "request_id": "TID2af751b4bff24be781d60af10bf84101",
    "code": "1008",
    "msg": "服务无权限",
    "charge": 2
}

1.4 错误码

状态码code msg 字段 说明
0000 调用成功 成功
1000 验签失败 验签失败
1001 参数非UTF-8编码 参数非UTF-8编码
1002 请求参数错误 请求参数错误
1007 应用冻结 未授权
1008 应用过期 账号过期
1009 调用频率过高 调用频率超出限额
1011 服务无权限 无调用权限
9999 其他错误 服务器内部错误

1.5 输入示例

  • cURL 样例
curl -X POST "https://cloudapi.linkface.cn/v2/sdk/get_token?sequence_id=SEQUENCE&api_id=ID"  -F detection_type=DETECTION -F timestamp=TIMESTAMP -F sign=SIGN

2./v2/sdk/liveness/liveness_video

2.1 接口描述

该API功能为返回活体检测成功后的视频下载地址。

请求方式

POST

请求 URL

https://cloudapi.linkface.cn/v2/sdk/liveness/liveness_video

2.2 请求参数

字段 类型 必需 描述
api_id string API 账户
sequence_id string 客户请求流水号,建议使用uuid算法生成唯一性字符串,方便排查问题
video_id string 活体检测视频ID
timestamp string 时间戳
sign string 签名(api_id+api_secret+timestamp使用SHA256算法获取)

2.3 返回参数

字段 类型 描述
request_id string 本次请求的唯一流水号
code string 业务响应码
msg string 消息说明
data object 消息体(只有code为0000调用成功时返回)
charge int 是否收费,1收费,2不收费

收费标准:code为0000,charge为1时收费;其他情况(code非0000),charge为2,不收费;

data详情:

字段 类型 说明
url string 视频下载的地址

输出示例:

成功返回示例:
{
    "request_id": "TID2af751b4bff24be781d60af10bf84101",
    "code": "0000",
    "msg": "成功",
    "data": {
        "url": "        ...      ",
    }
    "charge": 1
}

失败返回示例:
{
    "request_id": "TID2af751b4bff24be781d60af10bf84101",
    "code": "1000",
    "msg": "验签失败",
    "charge": 2
}

2.4 错误码

code msg 说明
0000 调用成功 成功
1000 验签失败 验签失败
1001 参数非UTF-8编码 参数非UTF-8编码
1002 请求参数错误 请求参数错误
1003 加密文件错误 liveness_data 出错
1004 未检测出人脸 图片未检测出人脸
1005 网络图片获取超时 网络地址图片获取超时
1006 网络图片获取失败 网络地址图片获取失败
1007 应用冻结 未授权
1008 应用过期 账号过期
1009 调用频率过高 调用频率超出限额
1010 免费次数用尽 调用次数超出限额
1011 服务无权限 无调用权限
1012 请求路径错误 请求路径错误
1013 图片体积过大 图片体积过大
1014 图片不存在 图片不存在
1015 文件不是图片或已损坏 文件不是图片文件或已经损坏
1016 图片大小或格式不符合要求 图片大小或格式不符合要求
9999 其他错误 服务器内部错误

2.5 输入示例

  • cURL 样例
curl -X POST "https://cloudapi.linkface.cn/v2/sdk/liveness/liveness_video?sequence_id=SEQUENCE&api_id=ID" -F timestamp=TIMESTAMP -F sign=SIGN -F video_id=VIDEO_ID

results matching ""

    No results matching ""