Răsfoiți Sursa

Add Smart Cloudauth API.

sdk-team 6 ani în urmă
părinte
comite
8520626698

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-07-30 Version: 1.36.546
+- Add Smart Cloudauth API.
+
 2020-07-30 Version: 1.36.545
 - Supported ChatApp for SDK.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.545
+1.36.546

+ 8 - 0
cloudauth/CMakeLists.txt

@@ -49,6 +49,8 @@ set(cloudauth_public_header_model
 	include/alibabacloud/cloudauth/model/DescribeRPSDKResult.h
 	include/alibabacloud/cloudauth/model/DescribeSdkUrlRequest.h
 	include/alibabacloud/cloudauth/model/DescribeSdkUrlResult.h
+	include/alibabacloud/cloudauth/model/DescribeSmartVerifyRequest.h
+	include/alibabacloud/cloudauth/model/DescribeSmartVerifyResult.h
 	include/alibabacloud/cloudauth/model/DescribeUpdatePackageResultRequest.h
 	include/alibabacloud/cloudauth/model/DescribeUpdatePackageResultResult.h
 	include/alibabacloud/cloudauth/model/DescribeUploadInfoRequest.h
@@ -79,6 +81,8 @@ set(cloudauth_public_header_model
 	include/alibabacloud/cloudauth/model/InitDeviceResult.h
 	include/alibabacloud/cloudauth/model/InitFaceVerifyRequest.h
 	include/alibabacloud/cloudauth/model/InitFaceVerifyResult.h
+	include/alibabacloud/cloudauth/model/InitSmartVerifyRequest.h
+	include/alibabacloud/cloudauth/model/InitSmartVerifyResult.h
 	include/alibabacloud/cloudauth/model/ModifyDeviceInfoRequest.h
 	include/alibabacloud/cloudauth/model/ModifyDeviceInfoResult.h
 	include/alibabacloud/cloudauth/model/SubmitMaterialsRequest.h
@@ -124,6 +128,8 @@ set(cloudauth_src
 	src/model/DescribeRPSDKResult.cc
 	src/model/DescribeSdkUrlRequest.cc
 	src/model/DescribeSdkUrlResult.cc
+	src/model/DescribeSmartVerifyRequest.cc
+	src/model/DescribeSmartVerifyResult.cc
 	src/model/DescribeUpdatePackageResultRequest.cc
 	src/model/DescribeUpdatePackageResultResult.cc
 	src/model/DescribeUploadInfoRequest.cc
@@ -154,6 +160,8 @@ set(cloudauth_src
 	src/model/InitDeviceResult.cc
 	src/model/InitFaceVerifyRequest.cc
 	src/model/InitFaceVerifyResult.cc
+	src/model/InitSmartVerifyRequest.cc
+	src/model/InitSmartVerifyResult.cc
 	src/model/ModifyDeviceInfoRequest.cc
 	src/model/ModifyDeviceInfoResult.cc
 	src/model/SubmitMaterialsRequest.cc

+ 16 - 0
cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h

@@ -50,6 +50,8 @@
 #include "model/DescribeRPSDKResult.h"
 #include "model/DescribeSdkUrlRequest.h"
 #include "model/DescribeSdkUrlResult.h"
+#include "model/DescribeSmartVerifyRequest.h"
+#include "model/DescribeSmartVerifyResult.h"
 #include "model/DescribeUpdatePackageResultRequest.h"
 #include "model/DescribeUpdatePackageResultResult.h"
 #include "model/DescribeUploadInfoRequest.h"
@@ -80,6 +82,8 @@
 #include "model/InitDeviceResult.h"
 #include "model/InitFaceVerifyRequest.h"
 #include "model/InitFaceVerifyResult.h"
+#include "model/InitSmartVerifyRequest.h"
+#include "model/InitSmartVerifyResult.h"
 #include "model/ModifyDeviceInfoRequest.h"
 #include "model/ModifyDeviceInfoResult.h"
 #include "model/SubmitMaterialsRequest.h"
@@ -145,6 +149,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSdkUrlResult> DescribeSdkUrlOutcome;
 			typedef std::future<DescribeSdkUrlOutcome> DescribeSdkUrlOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::DescribeSdkUrlRequest&, const DescribeSdkUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSdkUrlAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSmartVerifyResult> DescribeSmartVerifyOutcome;
+			typedef std::future<DescribeSmartVerifyOutcome> DescribeSmartVerifyOutcomeCallable;
+			typedef std::function<void(const CloudauthClient*, const Model::DescribeSmartVerifyRequest&, const DescribeSmartVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSmartVerifyAsyncHandler;
 			typedef Outcome<Error, Model::DescribeUpdatePackageResultResult> DescribeUpdatePackageResultOutcome;
 			typedef std::future<DescribeUpdatePackageResultOutcome> DescribeUpdatePackageResultOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::DescribeUpdatePackageResultRequest&, const DescribeUpdatePackageResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUpdatePackageResultAsyncHandler;
@@ -190,6 +197,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::InitFaceVerifyResult> InitFaceVerifyOutcome;
 			typedef std::future<InitFaceVerifyOutcome> InitFaceVerifyOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::InitFaceVerifyRequest&, const InitFaceVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InitFaceVerifyAsyncHandler;
+			typedef Outcome<Error, Model::InitSmartVerifyResult> InitSmartVerifyOutcome;
+			typedef std::future<InitSmartVerifyOutcome> InitSmartVerifyOutcomeCallable;
+			typedef std::function<void(const CloudauthClient*, const Model::InitSmartVerifyRequest&, const InitSmartVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InitSmartVerifyAsyncHandler;
 			typedef Outcome<Error, Model::ModifyDeviceInfoResult> ModifyDeviceInfoOutcome;
 			typedef std::future<ModifyDeviceInfoOutcome> ModifyDeviceInfoOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::ModifyDeviceInfoRequest&, const ModifyDeviceInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDeviceInfoAsyncHandler;
@@ -258,6 +268,9 @@ namespace AlibabaCloud
 			DescribeSdkUrlOutcome describeSdkUrl(const Model::DescribeSdkUrlRequest &request)const;
 			void describeSdkUrlAsync(const Model::DescribeSdkUrlRequest& request, const DescribeSdkUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSdkUrlOutcomeCallable describeSdkUrlCallable(const Model::DescribeSdkUrlRequest& request) const;
+			DescribeSmartVerifyOutcome describeSmartVerify(const Model::DescribeSmartVerifyRequest &request)const;
+			void describeSmartVerifyAsync(const Model::DescribeSmartVerifyRequest& request, const DescribeSmartVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSmartVerifyOutcomeCallable describeSmartVerifyCallable(const Model::DescribeSmartVerifyRequest& request) const;
 			DescribeUpdatePackageResultOutcome describeUpdatePackageResult(const Model::DescribeUpdatePackageResultRequest &request)const;
 			void describeUpdatePackageResultAsync(const Model::DescribeUpdatePackageResultRequest& request, const DescribeUpdatePackageResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeUpdatePackageResultOutcomeCallable describeUpdatePackageResultCallable(const Model::DescribeUpdatePackageResultRequest& request) const;
@@ -303,6 +316,9 @@ namespace AlibabaCloud
 			InitFaceVerifyOutcome initFaceVerify(const Model::InitFaceVerifyRequest &request)const;
 			void initFaceVerifyAsync(const Model::InitFaceVerifyRequest& request, const InitFaceVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			InitFaceVerifyOutcomeCallable initFaceVerifyCallable(const Model::InitFaceVerifyRequest& request) const;
+			InitSmartVerifyOutcome initSmartVerify(const Model::InitSmartVerifyRequest &request)const;
+			void initSmartVerifyAsync(const Model::InitSmartVerifyRequest& request, const InitSmartVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			InitSmartVerifyOutcomeCallable initSmartVerifyCallable(const Model::InitSmartVerifyRequest& request) const;
 			ModifyDeviceInfoOutcome modifyDeviceInfo(const Model::ModifyDeviceInfoRequest &request)const;
 			void modifyDeviceInfoAsync(const Model::ModifyDeviceInfoRequest& request, const ModifyDeviceInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDeviceInfoOutcomeCallable modifyDeviceInfoCallable(const Model::ModifyDeviceInfoRequest& request) const;

+ 51 - 0
cloudauth/include/alibabacloud/cloudauth/model/DescribeSmartVerifyRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYREQUEST_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT DescribeSmartVerifyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSmartVerifyRequest();
+				~DescribeSmartVerifyRequest();
+
+				long getSceneId()const;
+				void setSceneId(long sceneId);
+				std::string getCertifyId()const;
+				void setCertifyId(const std::string& certifyId);
+
+            private:
+				long sceneId_;
+				std::string certifyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYREQUEST_H_

+ 62 - 0
cloudauth/include/alibabacloud/cloudauth/model/DescribeSmartVerifyResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYRESULT_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT DescribeSmartVerifyResult : public ServiceResult
+			{
+			public:
+				struct ResultObject
+				{
+					std::string passed;
+					std::string deviceToken;
+					std::string materialInfo;
+					std::string subCode;
+				};
+
+
+				DescribeSmartVerifyResult();
+				explicit DescribeSmartVerifyResult(const std::string &payload);
+				~DescribeSmartVerifyResult();
+				ResultObject getResultObject()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ResultObject resultObject_;
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_DESCRIBESMARTVERIFYRESULT_H_

+ 3 - 0
cloudauth/include/alibabacloud/cloudauth/model/DescribeVerifyResultResult.h

@@ -49,8 +49,11 @@ namespace AlibabaCloud
 						std::string name;
 					};
 					std::string idCardName;
+					std::string faceGlobalUrl;
+					std::string faceQuality;
 					std::string idCardNumber;
 					std::vector<std::string> videoUrls;
+					bool faceMask;
 					IdCardInfo idCardInfo;
 					std::string faceImageUrl;
 				};

+ 6 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitDeviceRequest.h

@@ -47,10 +47,14 @@ namespace AlibabaCloud
 				void setDeviceToken(const std::string& deviceToken);
 				std::string getCertifyId()const;
 				void setCertifyId(const std::string& certifyId);
+				std::string getWebUmidToken()const;
+				void setWebUmidToken(const std::string& webUmidToken);
 				std::string getOuterOrderNo()const;
 				void setOuterOrderNo(const std::string& outerOrderNo);
 				std::string getProduceNode()const;
 				void setProduceNode(const std::string& produceNode);
+				std::string getUaToken()const;
+				void setUaToken(const std::string& uaToken);
 				std::string getProductName()const;
 				void setProductName(const std::string& productName);
 				std::string getCertifyPrincipal()const;
@@ -65,8 +69,10 @@ namespace AlibabaCloud
 				std::string appVersion_;
 				std::string deviceToken_;
 				std::string certifyId_;
+				std::string webUmidToken_;
 				std::string outerOrderNo_;
 				std::string produceNode_;
+				std::string uaToken_;
 				std::string productName_;
 				std::string certifyPrincipal_;
 				std::string metaInfo_;

+ 2 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitDeviceResult.h

@@ -39,9 +39,11 @@ namespace AlibabaCloud
 					std::string message;
 					std::string extParams;
 					std::string accessKeySecret;
+					std::string fileName;
 					std::string ossEndPoint;
 					std::string securityToken;
 					std::string bucketName;
+					std::string presignedUrl;
 					std::string retCode;
 					std::string fileNamePrefix;
 					std::string accessKeyId;

+ 1 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitFaceVerifyResult.h

@@ -35,6 +35,7 @@ namespace AlibabaCloud
 				struct ResultObject
 				{
 					std::string certifyId;
+					std::string certifyUrl;
 				};
 
 

+ 69 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitSmartVerifyRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYREQUEST_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT InitSmartVerifyRequest : public RpcServiceRequest
+			{
+
+			public:
+				InitSmartVerifyRequest();
+				~InitSmartVerifyRequest();
+
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getMobile()const;
+				void setMobile(const std::string& mobile);
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+				std::string getMode()const;
+				void setMode(const std::string& mode);
+				std::string getOuterOrderNo()const;
+				void setOuterOrderNo(const std::string& outerOrderNo);
+				std::string getCertType()const;
+				void setCertType(const std::string& certType);
+				long getSceneId()const;
+				void setSceneId(long sceneId);
+				std::string getMetaInfo()const;
+				void setMetaInfo(const std::string& metaInfo);
+
+            private:
+				std::string ip_;
+				std::string mobile_;
+				std::string userId_;
+				std::string mode_;
+				std::string outerOrderNo_;
+				std::string certType_;
+				long sceneId_;
+				std::string metaInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYREQUEST_H_

+ 59 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitSmartVerifyResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYRESULT_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT InitSmartVerifyResult : public ServiceResult
+			{
+			public:
+				struct ResultObject
+				{
+					std::string certifyId;
+				};
+
+
+				InitSmartVerifyResult();
+				explicit InitSmartVerifyResult(const std::string &payload);
+				~InitSmartVerifyResult();
+				ResultObject getResultObject()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ResultObject resultObject_;
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_INITSMARTVERIFYRESULT_H_

+ 0 - 2
cloudauth/include/alibabacloud/cloudauth/model/VerifyMaterialResult.h

@@ -62,7 +62,6 @@ namespace AlibabaCloud
 				Material getMaterial()const;
 				float getAuthorityComparisionScore()const;
 				std::string getVerifyToken()const;
-				float getFaceComparisonScore()const;
 				float getIdCardFaceComparisonScore()const;
 
 			protected:
@@ -72,7 +71,6 @@ namespace AlibabaCloud
 				Material material_;
 				float authorityComparisionScore_;
 				std::string verifyToken_;
-				float faceComparisonScore_;
 				float idCardFaceComparisonScore_;
 
 			};

+ 72 - 0
cloudauth/src/CloudauthClient.cc

@@ -555,6 +555,42 @@ CloudauthClient::DescribeSdkUrlOutcomeCallable CloudauthClient::describeSdkUrlCa
 	return task->get_future();
 }
 
+CloudauthClient::DescribeSmartVerifyOutcome CloudauthClient::describeSmartVerify(const DescribeSmartVerifyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSmartVerifyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSmartVerifyOutcome(DescribeSmartVerifyResult(outcome.result()));
+	else
+		return DescribeSmartVerifyOutcome(outcome.error());
+}
+
+void CloudauthClient::describeSmartVerifyAsync(const DescribeSmartVerifyRequest& request, const DescribeSmartVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSmartVerify(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CloudauthClient::DescribeSmartVerifyOutcomeCallable CloudauthClient::describeSmartVerifyCallable(const DescribeSmartVerifyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSmartVerifyOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSmartVerify(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CloudauthClient::DescribeUpdatePackageResultOutcome CloudauthClient::describeUpdatePackageResult(const DescribeUpdatePackageResultRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1095,6 +1131,42 @@ CloudauthClient::InitFaceVerifyOutcomeCallable CloudauthClient::initFaceVerifyCa
 	return task->get_future();
 }
 
+CloudauthClient::InitSmartVerifyOutcome CloudauthClient::initSmartVerify(const InitSmartVerifyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return InitSmartVerifyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return InitSmartVerifyOutcome(InitSmartVerifyResult(outcome.result()));
+	else
+		return InitSmartVerifyOutcome(outcome.error());
+}
+
+void CloudauthClient::initSmartVerifyAsync(const InitSmartVerifyRequest& request, const InitSmartVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, initSmartVerify(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CloudauthClient::InitSmartVerifyOutcomeCallable CloudauthClient::initSmartVerifyCallable(const InitSmartVerifyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<InitSmartVerifyOutcome()>>(
+			[this, request]()
+			{
+			return this->initSmartVerify(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CloudauthClient::ModifyDeviceInfoOutcome CloudauthClient::modifyDeviceInfo(const ModifyDeviceInfoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 51 - 0
cloudauth/src/model/DescribeSmartVerifyRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/DescribeSmartVerifyRequest.h>
+
+using AlibabaCloud::Cloudauth::Model::DescribeSmartVerifyRequest;
+
+DescribeSmartVerifyRequest::DescribeSmartVerifyRequest() :
+	RpcServiceRequest("cloudauth", "2020-06-18", "DescribeSmartVerify")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeSmartVerifyRequest::~DescribeSmartVerifyRequest()
+{}
+
+long DescribeSmartVerifyRequest::getSceneId()const
+{
+	return sceneId_;
+}
+
+void DescribeSmartVerifyRequest::setSceneId(long sceneId)
+{
+	sceneId_ = sceneId;
+	setBodyParameter("SceneId", std::to_string(sceneId));
+}
+
+std::string DescribeSmartVerifyRequest::getCertifyId()const
+{
+	return certifyId_;
+}
+
+void DescribeSmartVerifyRequest::setCertifyId(const std::string& certifyId)
+{
+	certifyId_ = certifyId;
+	setBodyParameter("CertifyId", certifyId);
+}
+

+ 72 - 0
cloudauth/src/model/DescribeSmartVerifyResult.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/DescribeSmartVerifyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cloudauth;
+using namespace AlibabaCloud::Cloudauth::Model;
+
+DescribeSmartVerifyResult::DescribeSmartVerifyResult() :
+	ServiceResult()
+{}
+
+DescribeSmartVerifyResult::DescribeSmartVerifyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSmartVerifyResult::~DescribeSmartVerifyResult()
+{}
+
+void DescribeSmartVerifyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultObjectNode = value["ResultObject"];
+	if(!resultObjectNode["Passed"].isNull())
+		resultObject_.passed = resultObjectNode["Passed"].asString();
+	if(!resultObjectNode["SubCode"].isNull())
+		resultObject_.subCode = resultObjectNode["SubCode"].asString();
+	if(!resultObjectNode["MaterialInfo"].isNull())
+		resultObject_.materialInfo = resultObjectNode["MaterialInfo"].asString();
+	if(!resultObjectNode["DeviceToken"].isNull())
+		resultObject_.deviceToken = resultObjectNode["DeviceToken"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+
+}
+
+DescribeSmartVerifyResult::ResultObject DescribeSmartVerifyResult::getResultObject()const
+{
+	return resultObject_;
+}
+
+std::string DescribeSmartVerifyResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DescribeSmartVerifyResult::getCode()const
+{
+	return code_;
+}
+

+ 6 - 0
cloudauth/src/model/DescribeVerifyResultResult.cc

@@ -46,6 +46,12 @@ void DescribeVerifyResultResult::parse(const std::string &payload)
 		material_.idCardName = materialNode["IdCardName"].asString();
 	if(!materialNode["IdCardNumber"].isNull())
 		material_.idCardNumber = materialNode["IdCardNumber"].asString();
+	if(!materialNode["FaceQuality"].isNull())
+		material_.faceQuality = materialNode["FaceQuality"].asString();
+	if(!materialNode["FaceGlobalUrl"].isNull())
+		material_.faceGlobalUrl = materialNode["FaceGlobalUrl"].asString();
+	if(!materialNode["FaceMask"].isNull())
+		material_.faceMask = materialNode["FaceMask"].asString() == "true";
 	auto idCardInfoNode = materialNode["IdCardInfo"];
 	if(!idCardInfoNode["Number"].isNull())
 		material_.idCardInfo.number = idCardInfoNode["Number"].asString();

+ 22 - 0
cloudauth/src/model/InitDeviceRequest.cc

@@ -93,6 +93,17 @@ void InitDeviceRequest::setCertifyId(const std::string& certifyId)
 	setParameter("CertifyId", certifyId);
 }
 
+std::string InitDeviceRequest::getWebUmidToken()const
+{
+	return webUmidToken_;
+}
+
+void InitDeviceRequest::setWebUmidToken(const std::string& webUmidToken)
+{
+	webUmidToken_ = webUmidToken;
+	setBodyParameter("WebUmidToken", webUmidToken);
+}
+
 std::string InitDeviceRequest::getOuterOrderNo()const
 {
 	return outerOrderNo_;
@@ -115,6 +126,17 @@ void InitDeviceRequest::setProduceNode(const std::string& produceNode)
 	setParameter("ProduceNode", produceNode);
 }
 
+std::string InitDeviceRequest::getUaToken()const
+{
+	return uaToken_;
+}
+
+void InitDeviceRequest::setUaToken(const std::string& uaToken)
+{
+	uaToken_ = uaToken;
+	setBodyParameter("UaToken", uaToken);
+}
+
 std::string InitDeviceRequest::getProductName()const
 {
 	return productName_;

+ 4 - 0
cloudauth/src/model/InitDeviceResult.cc

@@ -66,6 +66,10 @@ void InitDeviceResult::parse(const std::string &payload)
 		resultObject_.bucketName = resultObjectNode["BucketName"].asString();
 	if(!resultObjectNode["FileNamePrefix"].isNull())
 		resultObject_.fileNamePrefix = resultObjectNode["FileNamePrefix"].asString();
+	if(!resultObjectNode["FileName"].isNull())
+		resultObject_.fileName = resultObjectNode["FileName"].asString();
+	if(!resultObjectNode["PresignedUrl"].isNull())
+		resultObject_.presignedUrl = resultObjectNode["PresignedUrl"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["Code"].isNull())

+ 2 - 0
cloudauth/src/model/InitFaceVerifyResult.cc

@@ -42,6 +42,8 @@ void InitFaceVerifyResult::parse(const std::string &payload)
 	auto resultObjectNode = value["ResultObject"];
 	if(!resultObjectNode["CertifyId"].isNull())
 		resultObject_.certifyId = resultObjectNode["CertifyId"].asString();
+	if(!resultObjectNode["CertifyUrl"].isNull())
+		resultObject_.certifyUrl = resultObjectNode["CertifyUrl"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["Code"].isNull())

+ 117 - 0
cloudauth/src/model/InitSmartVerifyRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/InitSmartVerifyRequest.h>
+
+using AlibabaCloud::Cloudauth::Model::InitSmartVerifyRequest;
+
+InitSmartVerifyRequest::InitSmartVerifyRequest() :
+	RpcServiceRequest("cloudauth", "2020-06-18", "InitSmartVerify")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+InitSmartVerifyRequest::~InitSmartVerifyRequest()
+{}
+
+std::string InitSmartVerifyRequest::getIp()const
+{
+	return ip_;
+}
+
+void InitSmartVerifyRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setBodyParameter("Ip", ip);
+}
+
+std::string InitSmartVerifyRequest::getMobile()const
+{
+	return mobile_;
+}
+
+void InitSmartVerifyRequest::setMobile(const std::string& mobile)
+{
+	mobile_ = mobile;
+	setBodyParameter("Mobile", mobile);
+}
+
+std::string InitSmartVerifyRequest::getUserId()const
+{
+	return userId_;
+}
+
+void InitSmartVerifyRequest::setUserId(const std::string& userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", userId);
+}
+
+std::string InitSmartVerifyRequest::getMode()const
+{
+	return mode_;
+}
+
+void InitSmartVerifyRequest::setMode(const std::string& mode)
+{
+	mode_ = mode;
+	setBodyParameter("Mode", mode);
+}
+
+std::string InitSmartVerifyRequest::getOuterOrderNo()const
+{
+	return outerOrderNo_;
+}
+
+void InitSmartVerifyRequest::setOuterOrderNo(const std::string& outerOrderNo)
+{
+	outerOrderNo_ = outerOrderNo;
+	setBodyParameter("OuterOrderNo", outerOrderNo);
+}
+
+std::string InitSmartVerifyRequest::getCertType()const
+{
+	return certType_;
+}
+
+void InitSmartVerifyRequest::setCertType(const std::string& certType)
+{
+	certType_ = certType;
+	setBodyParameter("CertType", certType);
+}
+
+long InitSmartVerifyRequest::getSceneId()const
+{
+	return sceneId_;
+}
+
+void InitSmartVerifyRequest::setSceneId(long sceneId)
+{
+	sceneId_ = sceneId;
+	setBodyParameter("SceneId", std::to_string(sceneId));
+}
+
+std::string InitSmartVerifyRequest::getMetaInfo()const
+{
+	return metaInfo_;
+}
+
+void InitSmartVerifyRequest::setMetaInfo(const std::string& metaInfo)
+{
+	metaInfo_ = metaInfo;
+	setBodyParameter("MetaInfo", metaInfo);
+}
+

+ 66 - 0
cloudauth/src/model/InitSmartVerifyResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/InitSmartVerifyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cloudauth;
+using namespace AlibabaCloud::Cloudauth::Model;
+
+InitSmartVerifyResult::InitSmartVerifyResult() :
+	ServiceResult()
+{}
+
+InitSmartVerifyResult::InitSmartVerifyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+InitSmartVerifyResult::~InitSmartVerifyResult()
+{}
+
+void InitSmartVerifyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultObjectNode = value["ResultObject"];
+	if(!resultObjectNode["CertifyId"].isNull())
+		resultObject_.certifyId = resultObjectNode["CertifyId"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+
+}
+
+InitSmartVerifyResult::ResultObject InitSmartVerifyResult::getResultObject()const
+{
+	return resultObject_;
+}
+
+std::string InitSmartVerifyResult::getMessage()const
+{
+	return message_;
+}
+
+std::string InitSmartVerifyResult::getCode()const
+{
+	return code_;
+}
+

+ 0 - 7
cloudauth/src/model/VerifyMaterialResult.cc

@@ -75,8 +75,6 @@ void VerifyMaterialResult::parse(const std::string &payload)
 		verifyStatus_ = std::stoi(value["VerifyStatus"].asString());
 	if(!value["AuthorityComparisionScore"].isNull())
 		authorityComparisionScore_ = std::stof(value["AuthorityComparisionScore"].asString());
-	if(!value["FaceComparisonScore"].isNull())
-		faceComparisonScore_ = std::stof(value["FaceComparisonScore"].asString());
 	if(!value["IdCardFaceComparisonScore"].isNull())
 		idCardFaceComparisonScore_ = std::stof(value["IdCardFaceComparisonScore"].asString());
 
@@ -102,11 +100,6 @@ std::string VerifyMaterialResult::getVerifyToken()const
 	return verifyToken_;
 }
 
-float VerifyMaterialResult::getFaceComparisonScore()const
-{
-	return faceComparisonScore_;
-}
-
 float VerifyMaterialResult::getIdCardFaceComparisonScore()const
 {
 	return idCardFaceComparisonScore_;