SDK配合调用接口
优质
小牛编辑
131浏览
2023-12-01
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