本文介绍了卡证核身方案纯服务端集成的Java SDK调用示例。

前提条件

使用Maven引入SDK

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>cloudauth20200618</artifactId>
    <version>1.0.3</version>
</dependency>

示例

  • 方式一:不使用本地证件示例
    import com.aliyun.cloudauth20200618.Client;
    import com.aliyun.cloudauth20200618.models.ElementSmartVerifyRequest;
    import com.aliyun.cloudauth20200618.models.ElementSmartVerifyResponse;
    import com.aliyun.tearpc.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class ElementSmartVerifyTest {
    
        public static void main(String[] args) throws Exception {
    
            // 通过以下代码创建Config实例并初始化。
            Config config = new Config();
            // 您的AccessKey ID。
            config.setAccessKeyId("AccessKey");
            // 您的AccessKey Secret。
            config.setAccessKeySecret("AccessSecret");
            // 设置您的Endpoint,Endpoint为固定值。
            config.setEndpoint("cloudauth.aliyuncs.com");
            // 设置您的RegionID,RegionID为固定值。
            config.setRegionId("cn-hangzhou");
            // 设置http代理。
            // config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999");
            // 设置https代理。
            // config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999");
            Client client = new Client(config);
    
            // 通过以下代码创建RuntimeObject实例并设置运行参数。
            RuntimeOptions runtime = new RuntimeOptions();
            // 设置连接超时时间(单位ms)。
            runtime.readTimeout = 10000;
            // 设置调用超时时间(单位ms)。
            runtime.connectTimeout = 10000;
    
            // 通过以下代码创建API请求并设置参数。
            ElementSmartVerifyRequest request = new ElementSmartVerifyRequest();
            request.setSceneId(200xxxxL);
            // 设置商户请求的唯一标识。
            request.setOuterOrderNo("xxx");   
            // 模式。
            request.set.Mode("OCR_VERIFY_ID_NAME");
            // 固定值。
            request.setCertType("IDENTITY_CARD");
            // request.setCertName("张三");
            // request.setCertNo("18位身份证号");
            request.setCertUrl("https://www.aliyun.com/test.jpeg");
            // 身份证国徽面Url。
            // request.setCertNationalEmblemUrl("https://www.aliyun.com/test.jpeg");
    
            // 通过以下代码发起请求并处理应答和异常。
            try {
                ElementSmartVerifyResponse response = client.elementSmartVerify(request, runtime);
                System.out.println(response.getRequestId());
                System.out.println(response.getCode());
                System.out.println(response.getMessage());
                System.out.println(response.getResultObject().getPassed());
                System.out.println(response.getResultObject().getCertifyId());
                System.out.println(response.getResultObject().getSubCode());
                System.out.println(response.getResultObject().getMaterialInfo());
            } catch (TeaException e) {
                System.out.println(e.getCode());
                System.out.println(e.getData());
                System.out.println(e.getMessage());
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
  • 方式二:使用本地证件示例
    import java.io.FileInputStream;
    import java.io.InputStream;
    
    import com.aliyun.cloudauth20200618.Client;
    import com.aliyun.cloudauth20200618.models.ElementSmartVerifyAdvanceRequest;
    import com.aliyun.cloudauth20200618.models.ElementSmartVerifyResponse;
    import com.aliyun.tea.TeaException;
    import com.aliyun.tearpc.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class ElementSmartVerifyTest {
    
        public static void main(String[] args) throws Exception {
    
            // 通过以下代码创建Config实例并初始化。
            Config config = new Config();
            // 您的AccessKey ID。
            config.setAccessKeyId("AccessKey");
            // 您的AccessKey Secret。
            config.setAccessKeySecret("AccessSecret");
            // 设置您的Endpoint,Endpoint为固定值。
            config.setEndpoint("cloudauth.aliyuncs.com");
            // 设置您的RegionID,RegionID为固定值。
            config.setRegionId("cn-hangzhou");
            // 设置http代理。
            //config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999");
            // 设置https代理。
            //config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999");
            Client client = new Client(config);
    
            // 通过以下代码创建RuntimeObject实例并设置运行参数。
            RuntimeOptions runtime = new RuntimeOptions();
            // 设置连接超时时间(单位ms)。
            runtime.readTimeout = 10000;
            // 设置调用超时时间(单位ms)。
            runtime.connectTimeout = 10000;
    
            // 通过以下代码创建API请求并设置参数。
            ElementSmartVerifyAdvanceRequest request = new ElementSmartVerifyAdvanceRequest();
            request.setSceneId(200xxxxL);
            //设置商户请求的唯一标识。
            request.setOuterOrderNo("xxx");   
            // 模式。
            request.setMode("OCR_VERIFY_ID_NAME");
            // 固定值。
            request.setCertType("IDENTITY_CARD");
            // request.setCertName("张三");
            // request.setCertNo("18位身份证号");
            // 身份证国徽面Url。
            // request.setCertNationalEmblemUrl("https://www.aliyun.com/test.jpeg");
            //设置本地文件路径。
            InputStream inputStream = new FileInputStream("xxx");  
            request.setCertFileObject(inputStream);
    
            // 通过以下代码发起请求并处理应答或异常。
            try {
                ElementSmartVerifyResponse response = client.elementSmartVerifyAdvance(request, runtime);
                System.out.println(response.getRequestId());
                System.out.println(response.getCode());
                System.out.println(response.getMessage());
                System.out.println(response.getResultObject().getPassed());
                System.out.println(response.getResultObject().getCertifyId());
                System.out.println(response.getResultObject().getSubCode());
                System.out.println(response.getResultObject().getMaterialInfo());
            } catch (TeaException e) {
                System.out.println(e.getCode());
                System.out.println(e.getData());
                System.out.println(e.getMessage());
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            // 通过以下代码关闭资源。
            inputStream.close();
        }
    }