云服务器内容精选

  • 安装SDK 推荐使用 Composer 安装 SDK 。 Composer 是 php 的依赖管理工具,允许您在项目中声明依赖关系并安装这些依赖: // 安装 Composer curl -sS https://getcomposer.org/installer | php // 安装 PHP SDK composer require huaweicloud/huaweicloud-sdk-php 安装完毕后,你需要引入 Composer 的自动加载文件: require 'path/to/vendor/autoload.php';
  • 安装SDK 使用SDK前,需要安装“HuaweiCloud.SDK.Core”和“HuaweiCloud.SDK.Ivs”,有两种安装方式,分别如下。 使用 .NET CLI 工具 dotnet add package HuaweiCloud.SDK.Core dotnet add package HuaweiCloud.SDK.Ivs 使用 Package Manager Install-Package HuaweiCloud.SDK.Core Install-Package HuaweiCloud.SDK.Ivs
  • 开始使用SDK 导入依赖模块 import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" // 导入IVS sdk ivs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2/model" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2/region" ) 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 // 创建AK、SK认证凭据 func GetCredential(ak, sk string) basic.Credentials { return basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() } 初始化认证信息: ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") client := GetCredential(ak, sk) 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 图3 Windows环境新建环境变量 初始化客户端 指定region方式 // 选择服务部署区域 func GetClient(auth basic.Credentials) *ivs.IvsClient { return ivs.NewIvsClient( ivs.IvsClientBuilder(). WithRegion(region.CN_NORTH_4). WithCredential(auth). Build()) } CN_NORTH_4:华北-北京四 CN_NORTH_1:华北-北京一 发送请求并查看响应 # 以调用标准版(三要素)接口 DetectStandardByIdCardImage 为例 request := &model.DetectStandardByIdCardImageRequest{} response, err := client.DetectStandardByIdCardImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 异常处理 表1 异常处理 一级分类 一级分类说明 ServiceResponseError 服务响应异常 url.Error url异常 // 异常处理 response, err := client.DetectStandardByIdCardImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }
  • SDK demo代码解析 人证核身 标准版(三要素) 方式一:使用身份证图片、人像图片进行校验 request := &model.DetectStandardByIdCardImageRequest{} idcardImage2ReqDataReqDataByIdCardImage:= "身份证国徽面图像数据,使用base64编码" var listReqDataIvsStandardByIdCardImageRequestBodyData = []model.ReqDataByIdCardImage{ { IdcardImage1: "身份证人像面图像数据,使用base64编码", IdcardImage2: &idcardImage2ReqDataReqDataByIdCardImage, FaceImage: "现场人像图像数据,使用base64编码,", }, } databody := &model.IvsStandardByIdCardImageRequestBodyData{ ReqData: &listReqDataIvsStandardByIdCardImageRequestBodyData, } uuidMetaMeta:= "唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" metabody := &model.Meta{ Uuid: &uuidMetaMeta, } request.Body = &model.IvsStandardByIdCardImageRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectStandardByIdCardImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 方式二:使用身份证姓名、身份证号码文本,人像图片进行校验 request := &model.DetectStandardByNameAndIdRequest{} var listReqDataIvsStandardByNameAndIdRequestBodyData = []model.StandardReqDataByNameAndId{ { VerificationName: "被验证人的姓名", VerificationId: "被验证人的身份证号码", FaceImage: "现场人像图像数据,使用base64编码", }, } databody := &model.IvsStandardByNameAndIdRequestBodyData{ ReqData: &listReqDataIvsStandardByNameAndIdRequestBodyData, } uuidMetaMeta:= "唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" metabody := &model.Meta{ Uuid: &uuidMetaMeta, } request.Body = &model.IvsStandardByNameAndIdRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectStandardByNameAndId(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 方式三:使用现场拍摄的人像视频数据,实现活体人证核身 request := &model.DetectStandardByVideoAndIdCardImageRequest{} idcardImage2ReqData:= "身份证国徽面图像数据,使用base64编码" var listReqDataData = []model.ReqDataByVideoAndIdCardImage{ { IdcardImage1: "身份证人像面图像数据,使用base64编码", IdcardImage2: &idcardImage2ReqData, Video: "现场拍摄人像视频数据,使用base64编码", Actions: "动作代码顺序列表", }, } databody := &model.IvsStandardByVideoAndIdCardImageRequestBodyData{ ReqData: &listReqDataData, } uuidMeta:= "唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" metabody := &model.Meta{ Uuid: &uuidMeta, } request.Body = &model.IvsStandardByVideoAndIdCardImageRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectStandardByVideoAndIdCardImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 人证核身证件版(二要素) 方式一:使用身份证图片进行校验 request := &model.DetectExtentionByIdCardImageRequest{} idcardImage2ReqDataExtentionReqDataByIdCardImage:= "身份证国徽面图像数据,使用base64编码" var listReqDataIvsExtentionByIdCardImageRequestBodyData = []model.ExtentionReqDataByIdCardImage{ { IdcardImage1: "身份证人像面图像数据,使用base64编码", IdcardImage2: &idcardImage2ReqDataExtentionReqDataByIdCardImage, }, } databody := &model.IvsExtentionByIdCardImageRequestBodyData{ ReqData: &listReqDataIvsExtentionByIdCardImageRequestBodyData, } uuidMetaMeta:= "唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" metabody := &model.Meta{ Uuid: &uuidMetaMeta, } request.Body = &model.IvsExtentionByIdCardImageRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectExtentionByIdCardImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 方式二:使用身份证姓名、身份证号码文本进行校验 request := &model.DetectExtentionByNameAndIdRequest{} var listReqDataIvsExtentionByNameAndIdRequestBodyData = []model.ExtentionReqDataByNameAndId{ { VerificationName: "被验证人的姓名", VerificationId: "被验证人的身份证号码", }, } databody := &model.IvsExtentionByNameAndIdRequestBodyData{ ReqData: &listReqDataIvsExtentionByNameAndIdRequestBodyData, } uuidMetaMeta:= "唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" metabody := &model.Meta{ Uuid: &uuidMetaMeta, } request.Body = &model.IvsExtentionByNameAndIdRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectExtentionByNameAndId(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }
  • SDK demo 代码解析 人证核身标准版(三要素) 方式一:使用身份证图片、人像图片进行校验 try: request = DetectStandardByIdCardImageRequest() listReqDataByIdCardImageReqDataIvsStandardByIdCardImageRequestBodyData = [ ReqDataByIdCardImage( idcard_image1="身份证人像面图像数据,使用base64编码", idcard_image2="身份证国徽面图像数据,使用base64编码", face_image="现场人像图像数据,使用base64编码," ) ] dataIvsStandardByIdCardImageRequestBodyData = IvsStandardByIdCardImageRequestBodyData( req_data=listReqDataByIdCardImageReqDataIvsStandardByIdCardImageRequestBodyData ) metaMeta = Meta( uuid="唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" ) request.body = IvsStandardByIdCardImageRequestBody( data=dataIvsStandardByIdCardImageRequestBodyData, meta=metaMeta ) response = client.detect_standard_by_id_card_image(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 方式二:使用身份证姓名、身份证号码文本,人像图片进行校验 try: request = DetectStandardByNameAndIdRequest() listStandardReqDataByNameAndIdReqDataIvsStandardByNameAndIdRequestBodyData = [ StandardReqDataByNameAndId( verification_name="被验证人的姓名", verification_id="被验证人的身份证号码", face_image="现场人像图像数据,使用base64编码" ) ] dataIvsStandardByNameAndIdRequestBodyData = IvsStandardByNameAndIdRequestBodyData( req_data=listStandardReqDataByNameAndIdReqDataIvsStandardByNameAndIdRequestBodyData ) metaMeta = Meta( uuid="唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" ) request.body = IvsStandardByNameAndIdRequestBody( data=dataIvsStandardByNameAndIdRequestBodyData, meta=metaMeta ) response = client.detect_standard_by_name_and_id(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 方式三:使用现场拍摄的人像视频数据,实现活体人证核身 try: request = DetectStandardByVideoAndIdCardImageRequest() listReqDataData = [ ReqDataByVideoAndIdCardImage( idcard_image1="身份证人像面图像数据,使用base64编码", idcard_image2="身份证国徽面图像数据,使用base64编码", video="现场拍摄人像视频数据,使用base64编码", actions="动作代码顺序列表" ) ] databody = IvsStandardByVideoAndIdCardImageRequestBodyData( req_data=listReqDataData ) metabody = Meta( uuid="唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" ) request.body = IvsStandardByVideoAndIdCardImageRequestBody( data=databody, meta=metabody ) response = client.detect_standard_by_video_and_id_card_image(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 人证核身证件版(二要素) 方式一:使用身份证图片进行校验 try: request = DetectExtentionByIdCardImageRequest() listExtentionReqDataByIdCardImageReqDataIvsExtentionByIdCardImageRequestBodyData = [ ExtentionReqDataByIdCardImage( idcard_image1="身份证人像面图像数据,使用base64编码", idcard_image2="身份证国徽面图像数据,使用base64编码" ) ] dataIvsExtentionByIdCardImageRequestBodyData = IvsExtentionByIdCardImageRequestBodyData( req_data=listExtentionReqDataByIdCardImageReqDataIvsExtentionByIdCardImageRequestBodyData ) metaMeta = Meta( uuid="唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" ) request.body = IvsExtentionByIdCardImageRequestBody( data=dataIvsExtentionByIdCardImageRequestBodyData, meta=metaMeta ) response = client.detect_extention_by_id_card_image(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 方式二:使用身份证姓名、身份证号码文本进行校验 try: request = DetectExtentionByNameAndIdRequest() listExtentionReqDataByNameAndIdReqDataIvsExtentionByNameAndIdRequestBodyData = [ ExtentionReqDataByNameAndId( verification_name="被验证人的姓名", verification_id="被验证人的身份证号码" ) ] dataIvsExtentionByNameAndIdRequestBodyData = IvsExtentionByNameAndIdRequestBodyData( req_data=listExtentionReqDataByNameAndIdReqDataIvsExtentionByNameAndIdRequestBodyData ) metaMeta = Meta( uuid="唯一标识此次请求的ID,用户自定义,不超过64位。例如10eb0091-887f-4839-9929-cbc884f1e20e" ) request.body = IvsExtentionByNameAndIdRequestBody( data=dataIvsExtentionByNameAndIdRequestBodyData, meta=metaMeta ) response = client.detect_extention_by_name_and_id(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 开始使用SDK 导入依赖模块 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcore.exceptions import exceptions # 导入IVS的库 from huaweicloudsdkivs.v2.region.ivs_region import IvsRegion from huaweicloudsdkivs.v2 import * import os 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 // 创建AK、SK认证凭据 def GetCredential(): return BasicCredentials(ak, sk) 初始化认证信息: ak = os.environ.get("HUAWEICLOUD_SDK_AK") sk = os.environ.get("HUAWEICLOUD_SDK_SK") credentials = GetCredential(ak, sk) 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 图3 Windows环境新建环境变量 初始化客户端 指定region方式 # 选择服务部署区域 def GetClient(): return IvsClient.new_builder(IvsClient) \ .with_credentials(credentials) \ .with_region(IvsRegion.CN_NORTH_4) \ .build() CN_NORTH_4:华北-北京四 CN_NORTH_1:华北-北京一 发送请求并查看响应 # 以调用标准版(三要素)接口 DetectStandardByIdCardImage 为例 request = DetectStandardByIdCardImageRequest() response = client.detect_standard_by_id_card_image(request) print(response) 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) # 异常处理 try: request = DetectStandardByIdCardImageRequest() response = client.detect_standard_by_id_card_image(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 开始使用SDK 导入依赖模块 import com.huaweicloud.sdk.core.auth.ICredential; // 对用户身份进行认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; // 请求异常类 import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; // 导入ivs sdk import com.huaweicloud.sdk.ivs.v2.region.IvsRegion; import com.huaweicloud.sdk.ivs.v2.*; import com.huaweicloud.sdk.ivs.v2.model.*; 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 // 创建AK、SK认证凭据 public static ICredential getCredential(String ak, String sk) { return new BasicCredentials() .withAk(ak) .withSk(sk); } 初始化认证信息: String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); ICredential credential = getCredential(ak, sk); 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 图3 Windows环境新建环境变量 初始化客户端 指定region方式 public static IvsClient getClient(Region region, ICredential auth) { // 初始化客户端 return IvsClient.newBuilder() .withCredential(auth) .withRegion(region) .build(); } 华北-北京四region获取:IvsRegion.CN_NORTH_4 华北-北京一region获取:IvsRegion.CN_NORTH_1 发送请求并查看响应 // 以调用标准版(三要素)DetectStandardByIdCardImage 接口为例 DetectStandardByIdCardImageRequest request = new DetectStandardByIdCardImageRequest(); DetectStandardByIdCardImageResponse response = client.detectStandardByIdCardImage(request); System.out.println(response.toString()); 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) // 捕获和处理不同类型的异常 DetectStandardByIdCardImageRequest request = new DetectStandardByIdCardImageRequest(); try { DetectStandardByIdCardImageResponse response = client.detectStandardByIdCardImage(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); }
  • 应用场景简介 IVS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。企业可以根据组织架构规划不同的企业项目,并为每个企业项目设置拥有不同权限的用户组和用户,多个企业项目之间相互独立,资源分开结算。 企业账号可申请开通企业项目。账号需要进行企业实名认证。如果企业账号注册成为华为云合作伙伴,将无法进入企业项目管理页面。 开通企业项目后,企业项目内的用户在调用IVS API时,只有在请求Header参数中传入Enterprise-Project-Id(企业项目ID)后,才支持按不同企业项目进行财务统计。传参方式详见API文档。 该功能仅支持开通在华北-北京四区域的API,不同API的部署情况请参见终端节点。 图1 企业项目管理示意图 父主题: 企业项目管理
  • 约束与限制 只支持“华北-北京四”区域。 只支持中国大陆身份证的识别。 只支持JPG格式,图片中人像需无遮挡。 图像数据,base64编码,要求base64编码后大小不超过4MB。 图像各边的像素大小在300到8000px之间。 图像中身份证区域有效占比超过15%,保证整张身份证内容及其边缘包含在图像内。 支持图像中身份证要求水平放置。 目前支持检测视频文件,或视频的Base64编码,不支持直接检测视频流,需要用户客户端自己获取视频流并保存成文件,然后调用活体检测接口。 视频文件大小不超过8MB,建议客户端压缩到200KB~2MB。 限制视频时长1~15秒。 建议帧率10fps~30fps。 封装格式:mp4、avi、flv、webm、asf、mov。 视频编码格式:h261、h263、h264、hevc、vc1、vp8、vp9、wmv3。 父主题: 使用前必读
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 人证核身的终端节点如表1所示,请您根据业务需要选择对应区域的终端节点。 表1 人证核身的终端节点 区 域名 称 区域 终端节点(Endpoint) 部署服务 华北-北京四 cn-north-4 ivs.cn-north-4.myhuaweicloud.com 标准版(三要素)、证件版(二要素) 父主题: 使用前必读
  • 约束与限制 只支持“华北-北京一”、“华北-北京四”区域。 只支持中国大陆身份证的识别。 支持港澳台居住证核验,证件信息需文本输入 只支持JPG格式,图片中人像需无遮挡。 图像数据,base64编码,要求base64编码后大小不超过4MB。 图像各边的像素大小在300到8000px之间。 图像中身份证区域有效占比超过15%,保证整张身份证内容及其边缘包含在图像内。 支持图像中身份证要求水平放置。 暂无安卓和IOS系统的SDK。
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 meta Meta object 请求元数据,例如表征本次请求的唯一标注uuid。 result result object 调用返回结果。 表7 Meta 参数 参数类型 描述 uuid String 唯一标识此次请求的ID,用户自定义,不超过64位。 表8 result 参数 参数类型 描述 service_name String 子服务名称。 count Integer 执行检测的数量,与resp_data字段对应。 resp_data Array of StandardRespDataByVideoAndNameAndId objects 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。 表9 StandardRespDataByVideoAndNameAndId 参数 参数类型 描述 verification_result String 审核校验结果: "valid"表示身份审核通过; "invalid"表示身份审核不通过; "nonexistent"表示数据源没有该身份证号码,这种情况一般是被验证人正在办理户籍迁移,或者被验证人是军人或政要。 verification_message String 审核校验信息,具体参考校验信息说明 verification_code Integer 审核校验代码,具体参考校验信息说明 similarity String 人像相识度。取值范围[0,100],当入参detail为true时,取值范围为[0,1000]。 video_result VideoResult object 动作活体检测的检测结果。 表10 VideoResult 参数 参数类型 描述 alive Boolean 是否是活体。 actions Array of ActionsList objects 动作列表。 picture String 检测出最大人脸的图片base64。 表11 ActionsList 参数 参数类型 描述 confidence Double 置信度,取值范围0~1。 action Integer 动作编号,取值范围:[1,2,3,4],其中: 1:左摇头 2:右摇头 3:点头 4:嘴部动作 状态码: 400 表12 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参考错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 使用身份证姓名、号码、人脸视频进行活体人证核验 POST https://{endpoint}/v2.0/ivs-standard { "meta" : { "uuid" : "user_defined" }, "data" : { "req_data" : [ { "verification_name" : "张三", "verification_id" : "44***********07", "video" : "/9j/4AAQSkZJRgABAgEASABIAAD...", "actions" : "1,3,2", "nod_threshold" : 10 } ] } }
  • 响应示例 状态码: 200 OK { "meta" : { "uuid" : "user_defined" }, "result" : { "service_name" : "ivs-standard", "count" : 1, "resp_data" : [ { "verification_result" : "valid", "verification_message" : "Successful certification", "verification_code" : 1000, "similarity" : "65", "video_result" : { "alive" : true, "actions" : [ { "confidence" : 0.823, "action" : 1 }, { "confidence" : 0.823, "action" : 3 }, { "confidence" : 0.823, "action" : 2 } ], "picture" : "/9j/4AAQSkZJRgABAQEAYABgAAD/2w..." } } ] } } 状态码: 400 失败响应样例 { "error_code" : "IVS.0003", "error_msg" : "Some necessary request parameters in req_data is null." }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String X-Auth-Token值获取方法请参见认证鉴权。 Enterprise-Project-Id 否 String 企业项目ID。IVS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 说明: 创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用IVS服务,账单的企业项目会被分类到企业ID对应的企业项目中。 携带格式正确但不存在的ID,正常使用IVS服务,账单的企业项目会显示对应不存在的企业项目ID。 不携带ID或格式错误ID(包含特殊字符等),正常使用IVS服务,账单的企业项目会被分类到"default"中。 表2 请求Body参数 参数 是否必选 参数类型 描述 meta 是 Meta object 请求元数据,例如表征本次请求的唯一标注uuid。 data 是 data object 请求消息的数据部分。 表3 Meta 参数 是否必选 参数类型 描述 uuid 否 String 唯一标识此次请求的ID,用户自定义,不超过64位。 表4 data 参数 是否必选 参数类型 描述 req_data 否 Array of StandardReqDataByVideoAndNameAndId objects 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。 表5 StandardReqDataByVideoAndNameAndId 参数 是否必选 参数类型 描述 verification_name 是 String 被验证人的姓名。 verification_id 是 String 被验证人的身份证号码。 video 是 String 现场拍摄人像视频数据,使用base64编码。 视频文件大小不超过8MB,建议客户端压缩到200KB~2MB。要求base64编码后大小不超过10M。 限制视频时长1~15秒。 建议帧率10fps~30fps。 封装格式:mp4、avi、flv、webm、asf、mov。 视频编码格式:h261、h263、h264、hevc、vc1、vp8、vp9、wmv3。 actions 是 String 动作代码顺序列表,英文逗号(,)分隔。建议单动作,目前支持的动作有: 1:左摇头 2:右摇头 3:点头 4:嘴部动作 嘴部动作建议嘴唇距离大于3厘米,左右摇头动作建议角度15-30度。 nod_threshold 否 Double 该参数为点头动作幅度的判断门限,取值范围:[1,90],默认为10,单位为度。该值设置越大,则越难判断为点头。 detail 否 Boolean 响应参数similarity是否详细显示,默认为false。 true表示响应中的similarity为0~1000的小数。 false表示响应中的similarity为0~100的整数。