# 手机号实名核验数字证书服务API
在验证用户身份信息(姓名、身份证、手机号)通过后签发具有法律效力的第三方可信数字证书
# 一、公共参数
请求地址:http://api.spiderid.cn/api/router/rest,https://api.spiderid.cn/api/router/rest
服务接口名称(即公共参数method的值): realid.idcard.verifyMobile
请求方式:POST或GET
# 二、请求参数
| 名称 | 类型 | 是否必须 | 描述 | 
|---|---|---|---|
| realname | String | 是 | 身份证姓名,中文;参数支持数据加密,详情参照加解密方法说明 | 
| idcard | String | 是 | 身份证号码,18位;参数支持数据加密,详情参照加解密方法说明 | 
| phone | String | 是 | 手机号,11位;参数支持数据加密,详情参照加解密方法说明 | 
请求示例:
http或https://api.spiderid.cn/api/router/rest?
realname=XXX
&idcard=XXX
&phone=XXX
&<[公共请求参数]>
# 三、响应参数
| data结果信息 | 类型 | 描述 | 
|---|---|---|
| valid | Boolean | true一致,false不一致或库中无此号 | 
| message | String | 描述 | 
| incorrect | Integer | 返回码 | 
| certificate | String | 证书,不一定存在 | 
# 四、成功示例
JSON示例
{
  "code": 0,
  "requestId": "dsd24...",
  "data": {
      "message": '一致' ,
      "incorrect": 100 ,
      "valid": true
  },
  "message": "success"
}
# 五、失败示例
JSON示例
{
  "code": 0,
  "requestId": "dsd24...",
  "data": {
      "message": '库中无此号' ,
      "incorrect": 102 ,
      "valid": false
  },
  "message": "success"
}
# 六、返回码说明(incorrect)
| 返回码 | 描述 | 是否收费 | 
|---|---|---|
| 100 | 一致 | 是 | 
| 101 | 不一致 | 是 | 
| 102 | 库中无此号 | 是 | 
# SDK 请求示例
    public static void main(String[] args) {
        //提供的url
        String url = "http://iv.unitid.cn/api/router/rest";
        //您的appKey
        String appkey = "XXX";
        //您的appSecret
        String secretKey = "XXX";
        //身份证姓名,注意不要有空格
        String realname = "XXX";
        //身份证号码是18位的,最后一位如果是大写X转换为x,注意不要有空格
        String idcard = "XXX";
        //手机号,注意不要有空格
        String phone = "XXX";
        //1.原客户端
        ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
        //2.调用出错,自动重试客户端
        //AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
        IdcardVerifyMobileRequest req = new IdcardVerifyMobileRequest();
        req.setRealname(realname);
        req.setIdcard(idcard);
        req.setPhone(phone);
        // 配置此参数时,会对请求参数中的realname、idcard、phone做加密
//        req.setEncMethod(EncryptMethod.SM4);
        try {
            IdcardVerifyMobileResponse response = apiClient.execute(req);
            //后续业务处理
        } catch (ApiException e) {
            e.printStackTrace();
        }
    }