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

前提条件

  • 已注册阿里云账号并获取AccessKey ID和AccessKey Secret。更多信息,请参见阿里云账号注册流程创建AccessKey
  • 需要使用的.NET Framework版本在4.5.0版本及以上或者.NET Standard版本在2.0版本及以上。

安装SDK

关于.Net SDK源代码,请参见.Net SDK

  • 通过.Net命令行安装:
    dotnet add package AlibabaCloud.SDK.Cloudauth20200618 --version 1.1.3
  • 使用包管理:
    Install-Package AlibabaCloud.SDK.Cloudauth20200618 -Version 1.1.3

示例

  • 方式一:不使用本地证件示例
    using System;
    using AlibabaCloud.SDK.Cloudauth20200618;
    using AlibabaCloud.SDK.Cloudauth20200618.Models;
    using AlibabaCloud.TeaUtil.Models;
    using AlibabaCloud.RPCClient.Models;
    
    namespace ElementSmartVerifyTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 通过以下代码创建Config实例并初始化。
                Config config = new Config();
                // 您的AccessKey ID。
                config.AccessKeyId = "AccessKey";
                // 您的AccessKey Secret。
                config.AccessKeySecret = "AccessSecret";
                // 设置Endpoint,Endpoint为固定值。
                config.Endpoint = "cloudauth.aliyuncs.com";
                // 设置RegionId,RegionId为固定值。
                config.RegionId = "cn-hangzhou";
                // 设置http代理。
                // config.HttpProxy = "http://xxx.xxx.xxx.xxx:9999";
                // 设置https代理。
                // config.HttpsProxy = "https://username:password@xxx.xxx.xxx.xxx:9999";
                Client client = new Client(config);
    
                // 通过以下代码创建RuntimeObject实例并设置运行参数。
                RuntimeOptions runtimeObject = new RuntimeOptions();
                // 设置连接超时时间(单位ms)。
                runtimeObject.ReadTimeout = 10000;
                // 设置调用超时时间(单位ms)。
                runtimeObject.ConnectTimeout = 10000;
                // 设置是否自动重试。
                runtimeObject.Autoretry = false;
    
                // 通过以下代码创建API请求并设置参数。
                ElementSmartVerifyRequest request = new ElementSmartVerifyRequest();
                request.SceneId = 200xxxx;
                // 设置商户请求的唯一标识。
                request.OuterOrderNo = "xxx";
                // 模式。
                request.Mode = "OCR_VERIFY_ID_NAME";
                // 固定值。
                request.CertType = "IDENTITY_CARD";
                // request.CertName = "张三";
                // request.CertNo = "18位身份证号";
                // request.CertNationalEmblemUrl = "https://www.aliyun.com/test.jpeg";
                request.CertUrl = "https://www.aliyun.com/test.jpeg";
    
                // 通过以下代码发起请求并处理应答和异常。
                ElementSmartVerifyResponse  response = client.ElementSmartVerify(request, runtimeObject);
                Console.WriteLine(response.RequestId);
                Console.WriteLine(response.Message);
                Console.WriteLine(response.Code);
                Console.WriteLine(response.ResultObject.Passed);
                Console.WriteLine(response.ResultObject.CertifyId);
                Console.WriteLine(response.ResultObject.SubCode);
                Console.WriteLine(response.ResultObject.MaterialInfo);
            }
        }
    }
  • 方式二:使用本地证件示例
    using System;
    using System.IO;
    using AlibabaCloud.SDK.Cloudauth20200618;
    using AlibabaCloud.SDK.Cloudauth20200618.Models;
    using AlibabaCloud.TeaUtil.Models;
    using AlibabaCloud.RPCClient.Models;
    
    namespace ElementSmartVerifyTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 通过以下代码创建Config实例并初始化。
                Config config = new Config();
                // 您的AccessKey ID。
                config.AccessKeyId = "AccessKey";
                // 您的AccessKey Secret。
                config.AccessKeySecret = "AccessSecret";
                // 设置Endpoint,Endpoint为固定值。
                config.Endpoint = "cloudauth.aliyuncs.com";
                // 设置RegionId,RegionId为固定值。
                config.RegionId = "cn-hangzhou";
                // 设置http代理。
                // config.HttpProxy = "http://xxx.xxx.xxx.xxx:9999";
                // 设置https代理。
                // config.HttpsProxy = "https://username:password@xxx.xxx.xxx.xxx:9999";
                Client client = new Client(config);
    
                // 通过以下代码创建RuntimeObject实例并设置运行参数。
                RuntimeOptions runtimeObject = new RuntimeOptions();
                // 设置连接超时时间(单位ms)。
                runtimeObject.ReadTimeout = 10000;
                // 设置调用超时时间(单位ms)。
                runtimeObject.ConnectTimeout = 10000;
                // 设置是否自动重试。
                runtimeObject.Autoretry = false;
    
                // 通过以下代码创建API请求并设置参数。
                ElementSmartVerifyAdvanceRequest request = new ElementSmartVerifyAdvanceRequest();
                request.SceneId = 200xxxx;
                // 设置商户请求的唯一标识。
                request.OuterOrderNo = "xxx";
                // 模式。
                request.Mode = "OCR_VERIFY_ID_NAME";
                // 固定值。
                request.CertType = "IDENTITY_CARD";
                // request.CertName = "张三";
                // request.CertNo = "18位身份证号";
                // request.CertNationalEmblemUrl = "https://www.aliyun.com/test.jpeg";
                // 设置本地文件路径。
                FileStream fs = File.OpenRead("xxxx");
                request.CertFileObject = fs;
    
                // 通过以下代码发起请求并处理应答和异常。
                ElementSmartVerifyResponse response = client.ElementSmartVerifyAdvance(request, runtimeObject);
                Console.WriteLine(response.RequestId);
                Console.WriteLine(response.Message);
                Console.WriteLine(response.Code);
                Console.WriteLine(response.ResultObject.Passed);
                Console.WriteLine(response.ResultObject.SubCode);
                Console.WriteLine(response.ResultObject.MaterialInfo);
    
                // 通过以下代码关闭资源。
                fs.Close();
            }
        }
    }