# 实名四要素身份时间戳/数字证书服务API
在验证用户身份信息(姓名、身份证、身份证有效期开始时间、身份证有效期结束时间)通过后签发具有法律效力的第三方可信时间戳/数字证书
# 一、公共参数
请求地址:http://api.spiderid.cn/api/router/rest,https://api.spiderid.cn/api/router/rest
服务接口名称(即公共参数method的值): realid.idcard.fourVerify
请求方式:POST或GET
# 二、请求参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
realname | String | 是 | 身份证姓名,中文;参数支持数据加密,详情参照加密方法说明 |
idcard | String | 是 | 身份证号码,18位;参数支持数据加密,详情参照加密方法说明 |
idStartDate | String | 是 | 身份证有效期开始时间,8位;格式:yyyyMMdd |
idEndDate | String | 是 | 身份证有效期结束时间,8位;格式:yyyyMMdd,如果为长期,支持"长期"以及"00000000" |
issueType | String | 是 | 签发类型 默认evc ,tsp 时间戳, evc 事件证书 |
digest | String | 是 | 摘要值,SM3算法 |
event | String | 否 | 事件描述,evc 事件证书时设置 |
async | String | 是 | 是否开启异步签发,默认 false 为同步(将会影响性能) |
请求示例:
http或https://api.spiderid.cn/api/router/rest?
realname=XXX
&idcard=XXX
&idStartDate=XXX
&idEndDate=XXX
&<[公共请求参数]>
# 三、响应参数
data结果信息 | 类型 | 描述 |
---|---|---|
valid | Boolean | true:一致; false:不一致或库中无此号 |
message | String | 描述 |
incorrect | Integer | 返回码 |
certificate | String | 证书,签发类型 evc 时返回 |
signature | String | 证书签名结果 base64编码 ,签发类型 evc 时并且digest 不为空返回 |
trustedtimestamp | String | 时间戳,签发类型 tsp 时返回 |
# 四、成功示例
JSON示例
{
"code": 0,
"requestId": "6c576...",
"data": {
"valid": true ,
"incorrect": 100 ,
"trustedtimestamp": "Mz..." ,
"message": "一致"
},
"message": "success"
}
# 五、失败示例
JSON示例
{
"code": 0,
"requestId": "dsd24...",
"data": {
"message": "认证失败" ,
"incorrect": 900 ,
"valid": false
},
"message": "success"
}
# 六、返回码说明(incorrect)
返回码 | 描述 | 是否收费 |
---|---|---|
100 | 一致 | 是 |
101 | 不一致 | 是 |
102 | 库中无此号 | 是 |
# SDK 请求示例
//提供的url
String url = "http://api.spiderid.cn/api/router/rest";
//您的appKey
String appkey = "XXX";
//您的appSecret
String secretKey = "XXX";
//身份证姓名,注意不要有空格
String realname = "XXX";
//身份证号码是18位的,最后一位如果是大写X转换为x,注意不要有空格
String idcard = "XXX";
//身份证开始有效期 8位
String idStartDate = "XXX";
//身份证开始有效期 8位,如果为长期,支持"长期"以及"00000000"
String idEndDate = "XXX";
//签发类型 默认evc,tsp 时间戳, evc 事件证书
String issueType = "evc";
//1.默认客户端
ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
//2.调用出错自动重试客户端
IdcardFourVerifyRequest req = new IdcardFourVerifyRequest();
req.setIssueType(issueType);
req.setRealname(realname);
req.setIdcard(idcard);
req.setIdStartDate(idStartDate);
req.setIdEndDate(idEndDate);
//true 开启异步 false 关闭异步(默认)
req.setAsync(false);
try {
IdcardVerifyResponse response = apiClient.execute(req);
//后续业务处理
System.out.println(JSON.toJSONString(response));
} catch (ApiException e) {
e.printStackTrace();
}