Browse Source

Add list person visit count API.

sdk-team 6 years ago
parent
commit
8f847b0f5d
57 changed files with 3966 additions and 56 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 44 0
      vcs/CMakeLists.txt
  4. 88 0
      vcs/include/alibabacloud/vcs/VcsClient.h
  5. 57 0
      vcs/include/alibabacloud/vcs/model/AddProfileCatalogRequest.h
  6. 61 0
      vcs/include/alibabacloud/vcs/model/AddProfileCatalogResult.h
  7. 81 0
      vcs/include/alibabacloud/vcs/model/AddProfileRequest.h
  8. 70 0
      vcs/include/alibabacloud/vcs/model/AddProfileResult.h
  9. 60 0
      vcs/include/alibabacloud/vcs/model/BindPersonRequest.h
  10. 55 0
      vcs/include/alibabacloud/vcs/model/BindPersonResult.h
  11. 54 0
      vcs/include/alibabacloud/vcs/model/DeleteProfileCatalogRequest.h
  12. 55 0
      vcs/include/alibabacloud/vcs/model/DeleteProfileCatalogResult.h
  13. 54 0
      vcs/include/alibabacloud/vcs/model/DeleteProfileRequest.h
  14. 55 0
      vcs/include/alibabacloud/vcs/model/DeleteProfileResult.h
  15. 51 0
      vcs/include/alibabacloud/vcs/model/GetCatalogListRequest.h
  16. 63 0
      vcs/include/alibabacloud/vcs/model/GetCatalogListResult.h
  17. 21 12
      vcs/include/alibabacloud/vcs/model/GetPersonListRequest.h
  18. 8 7
      vcs/include/alibabacloud/vcs/model/GetPersonListResult.h
  19. 54 0
      vcs/include/alibabacloud/vcs/model/GetProfileDetailRequest.h
  20. 71 0
      vcs/include/alibabacloud/vcs/model/GetProfileDetailResult.h
  21. 96 0
      vcs/include/alibabacloud/vcs/model/GetProfileListRequest.h
  22. 77 0
      vcs/include/alibabacloud/vcs/model/GetProfileListResult.h
  23. 9 0
      vcs/include/alibabacloud/vcs/model/ListUsersRequest.h
  24. 2 0
      vcs/include/alibabacloud/vcs/model/ListUsersResult.h
  25. 54 0
      vcs/include/alibabacloud/vcs/model/UnbindPersonRequest.h
  26. 55 0
      vcs/include/alibabacloud/vcs/model/UnbindPersonResult.h
  27. 57 0
      vcs/include/alibabacloud/vcs/model/UpdateProfileCatalogRequest.h
  28. 63 0
      vcs/include/alibabacloud/vcs/model/UpdateProfileCatalogResult.h
  29. 84 0
      vcs/include/alibabacloud/vcs/model/UpdateProfileRequest.h
  30. 55 0
      vcs/include/alibabacloud/vcs/model/UpdateProfileResult.h
  31. 399 3
      vcs/src/VcsClient.cc
  32. 73 0
      vcs/src/model/AddProfileCatalogRequest.cc
  33. 70 0
      vcs/src/model/AddProfileCatalogResult.cc
  34. 161 0
      vcs/src/model/AddProfileRequest.cc
  35. 88 0
      vcs/src/model/AddProfileResult.cc
  36. 84 0
      vcs/src/model/BindPersonRequest.cc
  37. 65 0
      vcs/src/model/BindPersonResult.cc
  38. 62 0
      vcs/src/model/DeleteProfileCatalogRequest.cc
  39. 65 0
      vcs/src/model/DeleteProfileCatalogResult.cc
  40. 62 0
      vcs/src/model/DeleteProfileRequest.cc
  41. 65 0
      vcs/src/model/DeleteProfileResult.cc
  42. 51 0
      vcs/src/model/GetCatalogListRequest.cc
  43. 79 0
      vcs/src/model/GetCatalogListResult.cc
  44. 47 14
      vcs/src/model/GetPersonListRequest.cc
  45. 21 19
      vcs/src/model/GetPersonListResult.cc
  46. 62 0
      vcs/src/model/GetProfileDetailRequest.cc
  47. 90 0
      vcs/src/model/GetProfileDetailResult.cc
  48. 216 0
      vcs/src/model/GetProfileListRequest.cc
  49. 100 0
      vcs/src/model/GetProfileListResult.cc
  50. 33 0
      vcs/src/model/ListUsersRequest.cc
  51. 4 0
      vcs/src/model/ListUsersResult.cc
  52. 62 0
      vcs/src/model/UnbindPersonRequest.cc
  53. 65 0
      vcs/src/model/UnbindPersonResult.cc
  54. 73 0
      vcs/src/model/UpdateProfileCatalogRequest.cc
  55. 74 0
      vcs/src/model/UpdateProfileCatalogResult.cc
  56. 172 0
      vcs/src/model/UpdateProfileRequest.cc
  57. 65 0
      vcs/src/model/UpdateProfileResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-08-31 Version: 1.36.616
+- Add list person visit count API.
+
 2020-08-28 Version: 1.36.615
 - Add name.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.615
+1.36.616

+ 44 - 0
vcs/CMakeLists.txt

@@ -27,8 +27,14 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/AddDeviceResult.h
 	include/alibabacloud/vcs/model/AddMonitorRequest.h
 	include/alibabacloud/vcs/model/AddMonitorResult.h
+	include/alibabacloud/vcs/model/AddProfileRequest.h
+	include/alibabacloud/vcs/model/AddProfileResult.h
+	include/alibabacloud/vcs/model/AddProfileCatalogRequest.h
+	include/alibabacloud/vcs/model/AddProfileCatalogResult.h
 	include/alibabacloud/vcs/model/BindCorpGroupRequest.h
 	include/alibabacloud/vcs/model/BindCorpGroupResult.h
+	include/alibabacloud/vcs/model/BindPersonRequest.h
+	include/alibabacloud/vcs/model/BindPersonResult.h
 	include/alibabacloud/vcs/model/BindUserRequest.h
 	include/alibabacloud/vcs/model/BindUserResult.h
 	include/alibabacloud/vcs/model/CreateCorpRequest.h
@@ -49,6 +55,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/DeleteDataSourceResult.h
 	include/alibabacloud/vcs/model/DeleteDeviceRequest.h
 	include/alibabacloud/vcs/model/DeleteDeviceResult.h
+	include/alibabacloud/vcs/model/DeleteProfileRequest.h
+	include/alibabacloud/vcs/model/DeleteProfileResult.h
+	include/alibabacloud/vcs/model/DeleteProfileCatalogRequest.h
+	include/alibabacloud/vcs/model/DeleteProfileCatalogResult.h
 	include/alibabacloud/vcs/model/DeleteRecordsRequest.h
 	include/alibabacloud/vcs/model/DeleteRecordsResult.h
 	include/alibabacloud/vcs/model/DeleteUserRequest.h
@@ -59,6 +69,8 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/DeleteVideoSummaryTaskResult.h
 	include/alibabacloud/vcs/model/GetBodyOptionsRequest.h
 	include/alibabacloud/vcs/model/GetBodyOptionsResult.h
+	include/alibabacloud/vcs/model/GetCatalogListRequest.h
+	include/alibabacloud/vcs/model/GetCatalogListResult.h
 	include/alibabacloud/vcs/model/GetDeviceConfigRequest.h
 	include/alibabacloud/vcs/model/GetDeviceConfigResult.h
 	include/alibabacloud/vcs/model/GetDeviceLiveUrlRequest.h
@@ -77,6 +89,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/GetPersonDetailResult.h
 	include/alibabacloud/vcs/model/GetPersonListRequest.h
 	include/alibabacloud/vcs/model/GetPersonListResult.h
+	include/alibabacloud/vcs/model/GetProfileDetailRequest.h
+	include/alibabacloud/vcs/model/GetProfileDetailResult.h
+	include/alibabacloud/vcs/model/GetProfileListRequest.h
+	include/alibabacloud/vcs/model/GetProfileListResult.h
 	include/alibabacloud/vcs/model/GetUserDetailRequest.h
 	include/alibabacloud/vcs/model/GetUserDetailResult.h
 	include/alibabacloud/vcs/model/GetVideoComposeResultRequest.h
@@ -137,6 +153,8 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/SyncDeviceTimeResult.h
 	include/alibabacloud/vcs/model/UnbindCorpGroupRequest.h
 	include/alibabacloud/vcs/model/UnbindCorpGroupResult.h
+	include/alibabacloud/vcs/model/UnbindPersonRequest.h
+	include/alibabacloud/vcs/model/UnbindPersonResult.h
 	include/alibabacloud/vcs/model/UnbindUserRequest.h
 	include/alibabacloud/vcs/model/UnbindUserResult.h
 	include/alibabacloud/vcs/model/UpdateCorpRequest.h
@@ -145,6 +163,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/UpdateDeviceResult.h
 	include/alibabacloud/vcs/model/UpdateMonitorRequest.h
 	include/alibabacloud/vcs/model/UpdateMonitorResult.h
+	include/alibabacloud/vcs/model/UpdateProfileRequest.h
+	include/alibabacloud/vcs/model/UpdateProfileResult.h
+	include/alibabacloud/vcs/model/UpdateProfileCatalogRequest.h
+	include/alibabacloud/vcs/model/UpdateProfileCatalogResult.h
 	include/alibabacloud/vcs/model/UpdateUserRequest.h
 	include/alibabacloud/vcs/model/UpdateUserResult.h
 	include/alibabacloud/vcs/model/UpdateUserGroupRequest.h
@@ -162,8 +184,14 @@ set(vcs_src
 	src/model/AddDeviceResult.cc
 	src/model/AddMonitorRequest.cc
 	src/model/AddMonitorResult.cc
+	src/model/AddProfileRequest.cc
+	src/model/AddProfileResult.cc
+	src/model/AddProfileCatalogRequest.cc
+	src/model/AddProfileCatalogResult.cc
 	src/model/BindCorpGroupRequest.cc
 	src/model/BindCorpGroupResult.cc
+	src/model/BindPersonRequest.cc
+	src/model/BindPersonResult.cc
 	src/model/BindUserRequest.cc
 	src/model/BindUserResult.cc
 	src/model/CreateCorpRequest.cc
@@ -184,6 +212,10 @@ set(vcs_src
 	src/model/DeleteDataSourceResult.cc
 	src/model/DeleteDeviceRequest.cc
 	src/model/DeleteDeviceResult.cc
+	src/model/DeleteProfileRequest.cc
+	src/model/DeleteProfileResult.cc
+	src/model/DeleteProfileCatalogRequest.cc
+	src/model/DeleteProfileCatalogResult.cc
 	src/model/DeleteRecordsRequest.cc
 	src/model/DeleteRecordsResult.cc
 	src/model/DeleteUserRequest.cc
@@ -194,6 +226,8 @@ set(vcs_src
 	src/model/DeleteVideoSummaryTaskResult.cc
 	src/model/GetBodyOptionsRequest.cc
 	src/model/GetBodyOptionsResult.cc
+	src/model/GetCatalogListRequest.cc
+	src/model/GetCatalogListResult.cc
 	src/model/GetDeviceConfigRequest.cc
 	src/model/GetDeviceConfigResult.cc
 	src/model/GetDeviceLiveUrlRequest.cc
@@ -212,6 +246,10 @@ set(vcs_src
 	src/model/GetPersonDetailResult.cc
 	src/model/GetPersonListRequest.cc
 	src/model/GetPersonListResult.cc
+	src/model/GetProfileDetailRequest.cc
+	src/model/GetProfileDetailResult.cc
+	src/model/GetProfileListRequest.cc
+	src/model/GetProfileListResult.cc
 	src/model/GetUserDetailRequest.cc
 	src/model/GetUserDetailResult.cc
 	src/model/GetVideoComposeResultRequest.cc
@@ -272,6 +310,8 @@ set(vcs_src
 	src/model/SyncDeviceTimeResult.cc
 	src/model/UnbindCorpGroupRequest.cc
 	src/model/UnbindCorpGroupResult.cc
+	src/model/UnbindPersonRequest.cc
+	src/model/UnbindPersonResult.cc
 	src/model/UnbindUserRequest.cc
 	src/model/UnbindUserResult.cc
 	src/model/UpdateCorpRequest.cc
@@ -280,6 +320,10 @@ set(vcs_src
 	src/model/UpdateDeviceResult.cc
 	src/model/UpdateMonitorRequest.cc
 	src/model/UpdateMonitorResult.cc
+	src/model/UpdateProfileRequest.cc
+	src/model/UpdateProfileResult.cc
+	src/model/UpdateProfileCatalogRequest.cc
+	src/model/UpdateProfileCatalogResult.cc
 	src/model/UpdateUserRequest.cc
 	src/model/UpdateUserResult.cc
 	src/model/UpdateUserGroupRequest.cc

+ 88 - 0
vcs/include/alibabacloud/vcs/VcsClient.h

@@ -28,8 +28,14 @@
 #include "model/AddDeviceResult.h"
 #include "model/AddMonitorRequest.h"
 #include "model/AddMonitorResult.h"
+#include "model/AddProfileRequest.h"
+#include "model/AddProfileResult.h"
+#include "model/AddProfileCatalogRequest.h"
+#include "model/AddProfileCatalogResult.h"
 #include "model/BindCorpGroupRequest.h"
 #include "model/BindCorpGroupResult.h"
+#include "model/BindPersonRequest.h"
+#include "model/BindPersonResult.h"
 #include "model/BindUserRequest.h"
 #include "model/BindUserResult.h"
 #include "model/CreateCorpRequest.h"
@@ -50,6 +56,10 @@
 #include "model/DeleteDataSourceResult.h"
 #include "model/DeleteDeviceRequest.h"
 #include "model/DeleteDeviceResult.h"
+#include "model/DeleteProfileRequest.h"
+#include "model/DeleteProfileResult.h"
+#include "model/DeleteProfileCatalogRequest.h"
+#include "model/DeleteProfileCatalogResult.h"
 #include "model/DeleteRecordsRequest.h"
 #include "model/DeleteRecordsResult.h"
 #include "model/DeleteUserRequest.h"
@@ -60,6 +70,8 @@
 #include "model/DeleteVideoSummaryTaskResult.h"
 #include "model/GetBodyOptionsRequest.h"
 #include "model/GetBodyOptionsResult.h"
+#include "model/GetCatalogListRequest.h"
+#include "model/GetCatalogListResult.h"
 #include "model/GetDeviceConfigRequest.h"
 #include "model/GetDeviceConfigResult.h"
 #include "model/GetDeviceLiveUrlRequest.h"
@@ -78,6 +90,10 @@
 #include "model/GetPersonDetailResult.h"
 #include "model/GetPersonListRequest.h"
 #include "model/GetPersonListResult.h"
+#include "model/GetProfileDetailRequest.h"
+#include "model/GetProfileDetailResult.h"
+#include "model/GetProfileListRequest.h"
+#include "model/GetProfileListResult.h"
 #include "model/GetUserDetailRequest.h"
 #include "model/GetUserDetailResult.h"
 #include "model/GetVideoComposeResultRequest.h"
@@ -138,6 +154,8 @@
 #include "model/SyncDeviceTimeResult.h"
 #include "model/UnbindCorpGroupRequest.h"
 #include "model/UnbindCorpGroupResult.h"
+#include "model/UnbindPersonRequest.h"
+#include "model/UnbindPersonResult.h"
 #include "model/UnbindUserRequest.h"
 #include "model/UnbindUserResult.h"
 #include "model/UpdateCorpRequest.h"
@@ -146,6 +164,10 @@
 #include "model/UpdateDeviceResult.h"
 #include "model/UpdateMonitorRequest.h"
 #include "model/UpdateMonitorResult.h"
+#include "model/UpdateProfileRequest.h"
+#include "model/UpdateProfileResult.h"
+#include "model/UpdateProfileCatalogRequest.h"
+#include "model/UpdateProfileCatalogResult.h"
 #include "model/UpdateUserRequest.h"
 #include "model/UpdateUserResult.h"
 #include "model/UpdateUserGroupRequest.h"
@@ -172,9 +194,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddMonitorResult> AddMonitorOutcome;
 			typedef std::future<AddMonitorOutcome> AddMonitorOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::AddMonitorRequest&, const AddMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddMonitorAsyncHandler;
+			typedef Outcome<Error, Model::AddProfileResult> AddProfileOutcome;
+			typedef std::future<AddProfileOutcome> AddProfileOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::AddProfileRequest&, const AddProfileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddProfileAsyncHandler;
+			typedef Outcome<Error, Model::AddProfileCatalogResult> AddProfileCatalogOutcome;
+			typedef std::future<AddProfileCatalogOutcome> AddProfileCatalogOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::AddProfileCatalogRequest&, const AddProfileCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddProfileCatalogAsyncHandler;
 			typedef Outcome<Error, Model::BindCorpGroupResult> BindCorpGroupOutcome;
 			typedef std::future<BindCorpGroupOutcome> BindCorpGroupOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::BindCorpGroupRequest&, const BindCorpGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindCorpGroupAsyncHandler;
+			typedef Outcome<Error, Model::BindPersonResult> BindPersonOutcome;
+			typedef std::future<BindPersonOutcome> BindPersonOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::BindPersonRequest&, const BindPersonOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindPersonAsyncHandler;
 			typedef Outcome<Error, Model::BindUserResult> BindUserOutcome;
 			typedef std::future<BindUserOutcome> BindUserOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::BindUserRequest&, const BindUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindUserAsyncHandler;
@@ -205,6 +236,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteDeviceResult> DeleteDeviceOutcome;
 			typedef std::future<DeleteDeviceOutcome> DeleteDeviceOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::DeleteDeviceRequest&, const DeleteDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceAsyncHandler;
+			typedef Outcome<Error, Model::DeleteProfileResult> DeleteProfileOutcome;
+			typedef std::future<DeleteProfileOutcome> DeleteProfileOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::DeleteProfileRequest&, const DeleteProfileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProfileAsyncHandler;
+			typedef Outcome<Error, Model::DeleteProfileCatalogResult> DeleteProfileCatalogOutcome;
+			typedef std::future<DeleteProfileCatalogOutcome> DeleteProfileCatalogOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::DeleteProfileCatalogRequest&, const DeleteProfileCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProfileCatalogAsyncHandler;
 			typedef Outcome<Error, Model::DeleteRecordsResult> DeleteRecordsOutcome;
 			typedef std::future<DeleteRecordsOutcome> DeleteRecordsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::DeleteRecordsRequest&, const DeleteRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRecordsAsyncHandler;
@@ -220,6 +257,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetBodyOptionsResult> GetBodyOptionsOutcome;
 			typedef std::future<GetBodyOptionsOutcome> GetBodyOptionsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetBodyOptionsRequest&, const GetBodyOptionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetBodyOptionsAsyncHandler;
+			typedef Outcome<Error, Model::GetCatalogListResult> GetCatalogListOutcome;
+			typedef std::future<GetCatalogListOutcome> GetCatalogListOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetCatalogListRequest&, const GetCatalogListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCatalogListAsyncHandler;
 			typedef Outcome<Error, Model::GetDeviceConfigResult> GetDeviceConfigOutcome;
 			typedef std::future<GetDeviceConfigOutcome> GetDeviceConfigOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetDeviceConfigRequest&, const GetDeviceConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDeviceConfigAsyncHandler;
@@ -247,6 +287,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetPersonListResult> GetPersonListOutcome;
 			typedef std::future<GetPersonListOutcome> GetPersonListOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetPersonListRequest&, const GetPersonListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPersonListAsyncHandler;
+			typedef Outcome<Error, Model::GetProfileDetailResult> GetProfileDetailOutcome;
+			typedef std::future<GetProfileDetailOutcome> GetProfileDetailOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetProfileDetailRequest&, const GetProfileDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetProfileDetailAsyncHandler;
+			typedef Outcome<Error, Model::GetProfileListResult> GetProfileListOutcome;
+			typedef std::future<GetProfileListOutcome> GetProfileListOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetProfileListRequest&, const GetProfileListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetProfileListAsyncHandler;
 			typedef Outcome<Error, Model::GetUserDetailResult> GetUserDetailOutcome;
 			typedef std::future<GetUserDetailOutcome> GetUserDetailOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetUserDetailRequest&, const GetUserDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUserDetailAsyncHandler;
@@ -337,6 +383,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UnbindCorpGroupResult> UnbindCorpGroupOutcome;
 			typedef std::future<UnbindCorpGroupOutcome> UnbindCorpGroupOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UnbindCorpGroupRequest&, const UnbindCorpGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindCorpGroupAsyncHandler;
+			typedef Outcome<Error, Model::UnbindPersonResult> UnbindPersonOutcome;
+			typedef std::future<UnbindPersonOutcome> UnbindPersonOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UnbindPersonRequest&, const UnbindPersonOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindPersonAsyncHandler;
 			typedef Outcome<Error, Model::UnbindUserResult> UnbindUserOutcome;
 			typedef std::future<UnbindUserOutcome> UnbindUserOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UnbindUserRequest&, const UnbindUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindUserAsyncHandler;
@@ -349,6 +398,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateMonitorResult> UpdateMonitorOutcome;
 			typedef std::future<UpdateMonitorOutcome> UpdateMonitorOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UpdateMonitorRequest&, const UpdateMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMonitorAsyncHandler;
+			typedef Outcome<Error, Model::UpdateProfileResult> UpdateProfileOutcome;
+			typedef std::future<UpdateProfileOutcome> UpdateProfileOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UpdateProfileRequest&, const UpdateProfileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProfileAsyncHandler;
+			typedef Outcome<Error, Model::UpdateProfileCatalogResult> UpdateProfileCatalogOutcome;
+			typedef std::future<UpdateProfileCatalogOutcome> UpdateProfileCatalogOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UpdateProfileCatalogRequest&, const UpdateProfileCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProfileCatalogAsyncHandler;
 			typedef Outcome<Error, Model::UpdateUserResult> UpdateUserOutcome;
 			typedef std::future<UpdateUserOutcome> UpdateUserOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UpdateUserRequest&, const UpdateUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserAsyncHandler;
@@ -375,9 +430,18 @@ namespace AlibabaCloud
 			AddMonitorOutcome addMonitor(const Model::AddMonitorRequest &request)const;
 			void addMonitorAsync(const Model::AddMonitorRequest& request, const AddMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddMonitorOutcomeCallable addMonitorCallable(const Model::AddMonitorRequest& request) const;
+			AddProfileOutcome addProfile(const Model::AddProfileRequest &request)const;
+			void addProfileAsync(const Model::AddProfileRequest& request, const AddProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddProfileOutcomeCallable addProfileCallable(const Model::AddProfileRequest& request) const;
+			AddProfileCatalogOutcome addProfileCatalog(const Model::AddProfileCatalogRequest &request)const;
+			void addProfileCatalogAsync(const Model::AddProfileCatalogRequest& request, const AddProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddProfileCatalogOutcomeCallable addProfileCatalogCallable(const Model::AddProfileCatalogRequest& request) const;
 			BindCorpGroupOutcome bindCorpGroup(const Model::BindCorpGroupRequest &request)const;
 			void bindCorpGroupAsync(const Model::BindCorpGroupRequest& request, const BindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BindCorpGroupOutcomeCallable bindCorpGroupCallable(const Model::BindCorpGroupRequest& request) const;
+			BindPersonOutcome bindPerson(const Model::BindPersonRequest &request)const;
+			void bindPersonAsync(const Model::BindPersonRequest& request, const BindPersonAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindPersonOutcomeCallable bindPersonCallable(const Model::BindPersonRequest& request) const;
 			BindUserOutcome bindUser(const Model::BindUserRequest &request)const;
 			void bindUserAsync(const Model::BindUserRequest& request, const BindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BindUserOutcomeCallable bindUserCallable(const Model::BindUserRequest& request) const;
@@ -408,6 +472,12 @@ namespace AlibabaCloud
 			DeleteDeviceOutcome deleteDevice(const Model::DeleteDeviceRequest &request)const;
 			void deleteDeviceAsync(const Model::DeleteDeviceRequest& request, const DeleteDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDeviceOutcomeCallable deleteDeviceCallable(const Model::DeleteDeviceRequest& request) const;
+			DeleteProfileOutcome deleteProfile(const Model::DeleteProfileRequest &request)const;
+			void deleteProfileAsync(const Model::DeleteProfileRequest& request, const DeleteProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteProfileOutcomeCallable deleteProfileCallable(const Model::DeleteProfileRequest& request) const;
+			DeleteProfileCatalogOutcome deleteProfileCatalog(const Model::DeleteProfileCatalogRequest &request)const;
+			void deleteProfileCatalogAsync(const Model::DeleteProfileCatalogRequest& request, const DeleteProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteProfileCatalogOutcomeCallable deleteProfileCatalogCallable(const Model::DeleteProfileCatalogRequest& request) const;
 			DeleteRecordsOutcome deleteRecords(const Model::DeleteRecordsRequest &request)const;
 			void deleteRecordsAsync(const Model::DeleteRecordsRequest& request, const DeleteRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRecordsOutcomeCallable deleteRecordsCallable(const Model::DeleteRecordsRequest& request) const;
@@ -423,6 +493,9 @@ namespace AlibabaCloud
 			GetBodyOptionsOutcome getBodyOptions(const Model::GetBodyOptionsRequest &request)const;
 			void getBodyOptionsAsync(const Model::GetBodyOptionsRequest& request, const GetBodyOptionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetBodyOptionsOutcomeCallable getBodyOptionsCallable(const Model::GetBodyOptionsRequest& request) const;
+			GetCatalogListOutcome getCatalogList(const Model::GetCatalogListRequest &request)const;
+			void getCatalogListAsync(const Model::GetCatalogListRequest& request, const GetCatalogListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCatalogListOutcomeCallable getCatalogListCallable(const Model::GetCatalogListRequest& request) const;
 			GetDeviceConfigOutcome getDeviceConfig(const Model::GetDeviceConfigRequest &request)const;
 			void getDeviceConfigAsync(const Model::GetDeviceConfigRequest& request, const GetDeviceConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDeviceConfigOutcomeCallable getDeviceConfigCallable(const Model::GetDeviceConfigRequest& request) const;
@@ -450,6 +523,12 @@ namespace AlibabaCloud
 			GetPersonListOutcome getPersonList(const Model::GetPersonListRequest &request)const;
 			void getPersonListAsync(const Model::GetPersonListRequest& request, const GetPersonListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPersonListOutcomeCallable getPersonListCallable(const Model::GetPersonListRequest& request) const;
+			GetProfileDetailOutcome getProfileDetail(const Model::GetProfileDetailRequest &request)const;
+			void getProfileDetailAsync(const Model::GetProfileDetailRequest& request, const GetProfileDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetProfileDetailOutcomeCallable getProfileDetailCallable(const Model::GetProfileDetailRequest& request) const;
+			GetProfileListOutcome getProfileList(const Model::GetProfileListRequest &request)const;
+			void getProfileListAsync(const Model::GetProfileListRequest& request, const GetProfileListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetProfileListOutcomeCallable getProfileListCallable(const Model::GetProfileListRequest& request) const;
 			GetUserDetailOutcome getUserDetail(const Model::GetUserDetailRequest &request)const;
 			void getUserDetailAsync(const Model::GetUserDetailRequest& request, const GetUserDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetUserDetailOutcomeCallable getUserDetailCallable(const Model::GetUserDetailRequest& request) const;
@@ -540,6 +619,9 @@ namespace AlibabaCloud
 			UnbindCorpGroupOutcome unbindCorpGroup(const Model::UnbindCorpGroupRequest &request)const;
 			void unbindCorpGroupAsync(const Model::UnbindCorpGroupRequest& request, const UnbindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindCorpGroupOutcomeCallable unbindCorpGroupCallable(const Model::UnbindCorpGroupRequest& request) const;
+			UnbindPersonOutcome unbindPerson(const Model::UnbindPersonRequest &request)const;
+			void unbindPersonAsync(const Model::UnbindPersonRequest& request, const UnbindPersonAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnbindPersonOutcomeCallable unbindPersonCallable(const Model::UnbindPersonRequest& request) const;
 			UnbindUserOutcome unbindUser(const Model::UnbindUserRequest &request)const;
 			void unbindUserAsync(const Model::UnbindUserRequest& request, const UnbindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindUserOutcomeCallable unbindUserCallable(const Model::UnbindUserRequest& request) const;
@@ -552,6 +634,12 @@ namespace AlibabaCloud
 			UpdateMonitorOutcome updateMonitor(const Model::UpdateMonitorRequest &request)const;
 			void updateMonitorAsync(const Model::UpdateMonitorRequest& request, const UpdateMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateMonitorOutcomeCallable updateMonitorCallable(const Model::UpdateMonitorRequest& request) const;
+			UpdateProfileOutcome updateProfile(const Model::UpdateProfileRequest &request)const;
+			void updateProfileAsync(const Model::UpdateProfileRequest& request, const UpdateProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateProfileOutcomeCallable updateProfileCallable(const Model::UpdateProfileRequest& request) const;
+			UpdateProfileCatalogOutcome updateProfileCatalog(const Model::UpdateProfileCatalogRequest &request)const;
+			void updateProfileCatalogAsync(const Model::UpdateProfileCatalogRequest& request, const UpdateProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateProfileCatalogOutcomeCallable updateProfileCatalogCallable(const Model::UpdateProfileCatalogRequest& request) const;
 			UpdateUserOutcome updateUser(const Model::UpdateUserRequest &request)const;
 			void updateUserAsync(const Model::UpdateUserRequest& request, const UpdateUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateUserOutcomeCallable updateUserCallable(const Model::UpdateUserRequest& request) const;

+ 57 - 0
vcs/include/alibabacloud/vcs/model/AddProfileCatalogRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_VCS_MODEL_ADDPROFILECATALOGREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_ADDPROFILECATALOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT AddProfileCatalogRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddProfileCatalogRequest();
+				~AddProfileCatalogRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				long getParentCatalogId()const;
+				void setParentCatalogId(long parentCatalogId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCatalogName()const;
+				void setCatalogName(const std::string& catalogName);
+
+            private:
+				std::string isvSubId_;
+				long parentCatalogId_;
+				std::string corpId_;
+				std::string catalogName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_ADDPROFILECATALOGREQUEST_H_

+ 61 - 0
vcs/include/alibabacloud/vcs/model/AddProfileCatalogResult.h

@@ -0,0 +1,61 @@
+/*
+ * 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_VCS_MODEL_ADDPROFILECATALOGRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_ADDPROFILECATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT AddProfileCatalogResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string isvSubId;
+					std::string catalogName;
+					long catalogId;
+				};
+
+
+				AddProfileCatalogResult();
+				explicit AddProfileCatalogResult(const std::string &payload);
+				~AddProfileCatalogResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_ADDPROFILECATALOGRESULT_H_

+ 81 - 0
vcs/include/alibabacloud/vcs/model/AddProfileRequest.h

@@ -0,0 +1,81 @@
+/*
+ * 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_VCS_MODEL_ADDPROFILEREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_ADDPROFILEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT AddProfileRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddProfileRequest();
+				~AddProfileRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				std::string getFaceUrl()const;
+				void setFaceUrl(const std::string& faceUrl);
+				std::string getLiveAddress()const;
+				void setLiveAddress(const std::string& liveAddress);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getSceneType()const;
+				void setSceneType(const std::string& sceneType);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				long getCatalogId()const;
+				void setCatalogId(long catalogId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+
+            private:
+				std::string corpId_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				std::string faceUrl_;
+				std::string liveAddress_;
+				std::string isvSubId_;
+				std::string sceneType_;
+				std::string phoneNo_;
+				long catalogId_;
+				std::string name_;
+				std::string bizId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_ADDPROFILEREQUEST_H_

+ 70 - 0
vcs/include/alibabacloud/vcs/model/AddProfileResult.h

@@ -0,0 +1,70 @@
+/*
+ * 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_VCS_MODEL_ADDPROFILERESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_ADDPROFILERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT AddProfileResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string sceneType;
+					int profileId;
+					std::string phoneNo;
+					std::string idNumber;
+					std::string isvSubId;
+					std::string gender;
+					std::string plateNo;
+					std::string bizId;
+					int catalogId;
+					std::string liveAddress;
+					std::string faceUrl;
+					std::string name;
+				};
+
+
+				AddProfileResult();
+				explicit AddProfileResult(const std::string &payload);
+				~AddProfileResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_ADDPROFILERESULT_H_

+ 60 - 0
vcs/include/alibabacloud/vcs/model/BindPersonRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_VCS_MODEL_BINDPERSONREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_BINDPERSONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT BindPersonRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindPersonRequest();
+				~BindPersonRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getPersonMatchingRate()const;
+				void setPersonMatchingRate(const std::string& personMatchingRate);
+				long getProfileId()const;
+				void setProfileId(long profileId);
+				std::string getPersonId()const;
+				void setPersonId(const std::string& personId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				std::string personMatchingRate_;
+				long profileId_;
+				std::string personId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_BINDPERSONREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/BindPersonResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_VCS_MODEL_BINDPERSONRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_BINDPERSONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT BindPersonResult : public ServiceResult
+			{
+			public:
+
+
+				BindPersonResult();
+				explicit BindPersonResult(const std::string &payload);
+				~BindPersonResult();
+				std::string getMessage()const;
+				bool getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				bool data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_BINDPERSONRESULT_H_

+ 54 - 0
vcs/include/alibabacloud/vcs/model/DeleteProfileCatalogRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_VCS_MODEL_DELETEPROFILECATALOGREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEPROFILECATALOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteProfileCatalogRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteProfileCatalogRequest();
+				~DeleteProfileCatalogRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCatalogId()const;
+				void setCatalogId(const std::string& catalogId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				std::string catalogId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEPROFILECATALOGREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/DeleteProfileCatalogResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_VCS_MODEL_DELETEPROFILECATALOGRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEPROFILECATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteProfileCatalogResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteProfileCatalogResult();
+				explicit DeleteProfileCatalogResult(const std::string &payload);
+				~DeleteProfileCatalogResult();
+				std::string getMessage()const;
+				bool getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				bool data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEPROFILECATALOGRESULT_H_

+ 54 - 0
vcs/include/alibabacloud/vcs/model/DeleteProfileRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_VCS_MODEL_DELETEPROFILEREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEPROFILEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteProfileRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteProfileRequest();
+				~DeleteProfileRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getProfileId()const;
+				void setProfileId(long profileId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long profileId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEPROFILEREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/DeleteProfileResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_VCS_MODEL_DELETEPROFILERESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEPROFILERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteProfileResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteProfileResult();
+				explicit DeleteProfileResult(const std::string &payload);
+				~DeleteProfileResult();
+				std::string getMessage()const;
+				bool getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				bool data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEPROFILERESULT_H_

+ 51 - 0
vcs/include/alibabacloud/vcs/model/GetCatalogListRequest.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_VCS_MODEL_GETCATALOGLISTREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETCATALOGLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetCatalogListRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetCatalogListRequest();
+				~GetCatalogListRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETCATALOGLISTREQUEST_H_

+ 63 - 0
vcs/include/alibabacloud/vcs/model/GetCatalogListResult.h

@@ -0,0 +1,63 @@
+/*
+ * 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_VCS_MODEL_GETCATALOGLISTRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETCATALOGLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetCatalogListResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					long parentCatalogId;
+					long profileCount;
+					std::string isvSubId;
+					std::string catalogName;
+					long catalogId;
+				};
+
+
+				GetCatalogListResult();
+				explicit GetCatalogListResult(const std::string &payload);
+				~GetCatalogListResult();
+				std::string getMessage()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<DataItem> data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETCATALOGLISTRESULT_H_

+ 21 - 12
vcs/include/alibabacloud/vcs/model/GetPersonListRequest.h

@@ -35,20 +35,29 @@ namespace AlibabaCloud
 				GetPersonListRequest();
 				~GetPersonListRequest();
 
-				std::string getFaceImageUrl()const;
-				void setFaceImageUrl(const std::string& faceImageUrl);
-				std::string getPageNumber()const;
-				void setPageNumber(const std::string& pageNumber);
-				std::string getCorpIdList()const;
-				void setCorpIdList(const std::string& corpIdList);
-				std::string getPageSize()const;
-				void setPageSize(const std::string& pageSize);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getFaceMatchingRateThreshold()const;
+				void setFaceMatchingRateThreshold(const std::string& faceMatchingRateThreshold);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::map<std::string, std::string> getCorpIdList()const;
+				void setCorpIdList(const std::map<std::string, std::string>& corpIdList);
+				std::string getFaceUrl()const;
+				void setFaceUrl(const std::string& faceUrl);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::map<std::string, std::string> getPersonIdList()const;
+				void setPersonIdList(const std::map<std::string, std::string>& personIdList);
 
             private:
-				std::string faceImageUrl_;
-				std::string pageNumber_;
-				std::string corpIdList_;
-				std::string pageSize_;
+				std::string corpId_;
+				std::string faceMatchingRateThreshold_;
+				long pageNumber_;
+				std::map<std::string, std::string> corpIdList_;
+				std::string faceUrl_;
+				long pageSize_;
+				std::map<std::string, std::string> personIdList_;
 
 			};
 		}

+ 8 - 7
vcs/include/alibabacloud/vcs/model/GetPersonListResult.h

@@ -36,21 +36,22 @@ namespace AlibabaCloud
 				{
 					struct RecordsItem
 					{
-						struct TagListItem
+						struct TagList
 						{
 							std::string tagCodeName;
 							std::string tagName;
 							std::string value;
 							std::string code;
 						};
-						std::string firstAppearTime;
+						long firstShotTime;
 						std::string personId;
-						std::vector<RecordsItem::TagListItem> tagList;
-						std::string faceImageUrl;
+						std::string searchMatchingRate;
+						std::vector<RecordsItem::TagList> propertyTagList;
+						std::string faceUrl;
 					};
-					std::string totalCount;
-					std::string pageSize;
-					std::string pageNumber;
+					long totalCount;
+					long pageSize;
+					long pageNumber;
 					std::vector<RecordsItem> records;
 				};
 

+ 54 - 0
vcs/include/alibabacloud/vcs/model/GetProfileDetailRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_VCS_MODEL_GETPROFILEDETAILREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPROFILEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetProfileDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetProfileDetailRequest();
+				~GetProfileDetailRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getProfileId()const;
+				void setProfileId(long profileId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long profileId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPROFILEDETAILREQUEST_H_

+ 71 - 0
vcs/include/alibabacloud/vcs/model/GetProfileDetailResult.h

@@ -0,0 +1,71 @@
+/*
+ * 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_VCS_MODEL_GETPROFILEDETAILRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPROFILEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetProfileDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string sceneType;
+					int profileId;
+					std::string idNumber;
+					std::string isvSubId;
+					std::string gender;
+					int catalogId;
+					std::string faceUrl;
+					std::string name;
+					std::string personId;
+					std::string phoneNo;
+					std::string plateNo;
+					std::string bizId;
+					std::string liveAddress;
+				};
+
+
+				GetProfileDetailResult();
+				explicit GetProfileDetailResult(const std::string &payload);
+				~GetProfileDetailResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPROFILEDETAILRESULT_H_

+ 96 - 0
vcs/include/alibabacloud/vcs/model/GetProfileListRequest.h

@@ -0,0 +1,96 @@
+/*
+ * 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_VCS_MODEL_GETPROFILELISTREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPROFILELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetProfileListRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetProfileListRequest();
+				~GetProfileListRequest();
+
+				std::map<std::string, std::string> getProfileIdList()const;
+				void setProfileIdList(const std::map<std::string, std::string>& profileIdList);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getFaceUrl()const;
+				void setFaceUrl(const std::string& faceUrl);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::map<std::string, std::string> getPersonIdList()const;
+				void setPersonIdList(const std::map<std::string, std::string>& personIdList);
+				std::string getLiveAddress()const;
+				void setLiveAddress(const std::string& liveAddress);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getSceneType()const;
+				void setSceneType(const std::string& sceneType);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				long getCatalogId()const;
+				void setCatalogId(long catalogId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+				std::string getMatchingRateThreshold()const;
+				void setMatchingRateThreshold(const std::string& matchingRateThreshold);
+
+            private:
+				std::map<std::string, std::string> profileIdList_;
+				std::string corpId_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				long pageNumber_;
+				std::string faceUrl_;
+				long pageSize_;
+				std::map<std::string, std::string> personIdList_;
+				std::string liveAddress_;
+				std::string isvSubId_;
+				std::string sceneType_;
+				std::string phoneNo_;
+				long catalogId_;
+				std::string name_;
+				std::string bizId_;
+				std::string matchingRateThreshold_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPROFILELISTREQUEST_H_

+ 77 - 0
vcs/include/alibabacloud/vcs/model/GetProfileListResult.h

@@ -0,0 +1,77 @@
+/*
+ * 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_VCS_MODEL_GETPROFILELISTRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPROFILELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetProfileListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						std::string sceneType;
+						int profileId;
+						std::string personId;
+						std::string idNumber;
+						std::string isvSubId;
+						std::string searchMatchingRate;
+						std::string gender;
+						std::string bizId;
+						int catalogId;
+						std::string faceUrl;
+						std::string name;
+					};
+					long pageSize;
+					long pageNumber;
+					long total;
+					std::vector<RecordsItem> records;
+					long success;
+				};
+
+
+				GetProfileListResult();
+				explicit GetProfileListResult(const std::string &payload);
+				~GetProfileListResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPROFILELISTRESULT_H_

+ 9 - 0
vcs/include/alibabacloud/vcs/model/ListUsersRequest.h

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				ListUsersRequest();
 				~ListUsersRequest();
 
+				std::map<std::string, std::string> getUserList()const;
+				void setUserList(const std::map<std::string, std::string>& userList);
 				std::string getCorpId()const;
 				void setCorpId(const std::string& corpId);
 				int getGender()const;
@@ -45,6 +47,8 @@ namespace AlibabaCloud
 				void setIdNumber(const std::string& idNumber);
 				std::string getFaceImageUrl()const;
 				void setFaceImageUrl(const std::string& faceImageUrl);
+				std::map<std::string, std::string> getPersonList()const;
+				void setPersonList(const std::map<std::string, std::string>& personList);
 				long getPageNumber()const;
 				void setPageNumber(long pageNumber);
 				std::string getAttachment()const;
@@ -63,15 +67,19 @@ namespace AlibabaCloud
 				void setBizId(const std::string& bizId);
 				int getAge()const;
 				void setAge(int age);
+				std::string getMatchingRateThreshold()const;
+				void setMatchingRateThreshold(const std::string& matchingRateThreshold);
 				std::string getUserName()const;
 				void setUserName(const std::string& userName);
 
             private:
+				std::map<std::string, std::string> userList_;
 				std::string corpId_;
 				int gender_;
 				std::string plateNo_;
 				std::string idNumber_;
 				std::string faceImageUrl_;
+				std::map<std::string, std::string> personList_;
 				long pageNumber_;
 				std::string attachment_;
 				long pageSize_;
@@ -81,6 +89,7 @@ namespace AlibabaCloud
 				std::string phoneNo_;
 				std::string bizId_;
 				int age_;
+				std::string matchingRateThreshold_;
 				std::string userName_;
 
 			};

+ 2 - 0
vcs/include/alibabacloud/vcs/model/ListUsersResult.h

@@ -37,10 +37,12 @@ namespace AlibabaCloud
 					struct RecordsItem
 					{
 						std::string userName;
+						std::string personId;
 						std::string idNumber;
 						int userId;
 						int userGroupId;
 						std::string isvSubId;
+						std::string matchingRate;
 						std::string attachment;
 						std::string gender;
 						std::string bizId;

+ 54 - 0
vcs/include/alibabacloud/vcs/model/UnbindPersonRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_VCS_MODEL_UNBINDPERSONREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UNBINDPERSONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UnbindPersonRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnbindPersonRequest();
+				~UnbindPersonRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getProfileId()const;
+				void setProfileId(long profileId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long profileId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UNBINDPERSONREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UnbindPersonResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_VCS_MODEL_UNBINDPERSONRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_UNBINDPERSONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UnbindPersonResult : public ServiceResult
+			{
+			public:
+
+
+				UnbindPersonResult();
+				explicit UnbindPersonResult(const std::string &payload);
+				~UnbindPersonResult();
+				std::string getMessage()const;
+				bool getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				bool data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UNBINDPERSONRESULT_H_

+ 57 - 0
vcs/include/alibabacloud/vcs/model/UpdateProfileCatalogRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_VCS_MODEL_UPDATEPROFILECATALOGREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEPROFILECATALOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateProfileCatalogRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateProfileCatalogRequest();
+				~UpdateProfileCatalogRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCatalogName()const;
+				void setCatalogName(const std::string& catalogName);
+				long getCatalogId()const;
+				void setCatalogId(long catalogId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				std::string catalogName_;
+				long catalogId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEPROFILECATALOGREQUEST_H_

+ 63 - 0
vcs/include/alibabacloud/vcs/model/UpdateProfileCatalogResult.h

@@ -0,0 +1,63 @@
+/*
+ * 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_VCS_MODEL_UPDATEPROFILECATALOGRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEPROFILECATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateProfileCatalogResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string parentCatalogId;
+					long profileCount;
+					std::string isvSubId;
+					std::string catalogName;
+					long catalogId;
+				};
+
+
+				UpdateProfileCatalogResult();
+				explicit UpdateProfileCatalogResult(const std::string &payload);
+				~UpdateProfileCatalogResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEPROFILECATALOGRESULT_H_

+ 84 - 0
vcs/include/alibabacloud/vcs/model/UpdateProfileRequest.h

@@ -0,0 +1,84 @@
+/*
+ * 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_VCS_MODEL_UPDATEPROFILEREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEPROFILEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateProfileRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateProfileRequest();
+				~UpdateProfileRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				std::string getFaceUrl()const;
+				void setFaceUrl(const std::string& faceUrl);
+				long getProfileId()const;
+				void setProfileId(long profileId);
+				std::string getLiveAddress()const;
+				void setLiveAddress(const std::string& liveAddress);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getSceneType()const;
+				void setSceneType(const std::string& sceneType);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				long getCatalogId()const;
+				void setCatalogId(long catalogId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+
+            private:
+				std::string corpId_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				std::string faceUrl_;
+				long profileId_;
+				std::string liveAddress_;
+				std::string isvSubId_;
+				std::string sceneType_;
+				std::string phoneNo_;
+				long catalogId_;
+				std::string name_;
+				std::string bizId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEPROFILEREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UpdateProfileResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_VCS_MODEL_UPDATEPROFILERESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEPROFILERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateProfileResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateProfileResult();
+				explicit UpdateProfileResult(const std::string &payload);
+				~UpdateProfileResult();
+				std::string getMessage()const;
+				std::string getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEPROFILERESULT_H_

+ 399 - 3
vcs/src/VcsClient.cc

@@ -31,21 +31,21 @@ VcsClient::VcsClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::VcsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::VcsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::~VcsClient()
@@ -159,6 +159,78 @@ VcsClient::AddMonitorOutcomeCallable VcsClient::addMonitorCallable(const AddMoni
 	return task->get_future();
 }
 
+VcsClient::AddProfileOutcome VcsClient::addProfile(const AddProfileRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddProfileOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddProfileOutcome(AddProfileResult(outcome.result()));
+	else
+		return AddProfileOutcome(outcome.error());
+}
+
+void VcsClient::addProfileAsync(const AddProfileRequest& request, const AddProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addProfile(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::AddProfileOutcomeCallable VcsClient::addProfileCallable(const AddProfileRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddProfileOutcome()>>(
+			[this, request]()
+			{
+			return this->addProfile(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::AddProfileCatalogOutcome VcsClient::addProfileCatalog(const AddProfileCatalogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddProfileCatalogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddProfileCatalogOutcome(AddProfileCatalogResult(outcome.result()));
+	else
+		return AddProfileCatalogOutcome(outcome.error());
+}
+
+void VcsClient::addProfileCatalogAsync(const AddProfileCatalogRequest& request, const AddProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addProfileCatalog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::AddProfileCatalogOutcomeCallable VcsClient::addProfileCatalogCallable(const AddProfileCatalogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddProfileCatalogOutcome()>>(
+			[this, request]()
+			{
+			return this->addProfileCatalog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::BindCorpGroupOutcome VcsClient::bindCorpGroup(const BindCorpGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -195,6 +267,42 @@ VcsClient::BindCorpGroupOutcomeCallable VcsClient::bindCorpGroupCallable(const B
 	return task->get_future();
 }
 
+VcsClient::BindPersonOutcome VcsClient::bindPerson(const BindPersonRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BindPersonOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BindPersonOutcome(BindPersonResult(outcome.result()));
+	else
+		return BindPersonOutcome(outcome.error());
+}
+
+void VcsClient::bindPersonAsync(const BindPersonRequest& request, const BindPersonAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, bindPerson(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::BindPersonOutcomeCallable VcsClient::bindPersonCallable(const BindPersonRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BindPersonOutcome()>>(
+			[this, request]()
+			{
+			return this->bindPerson(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::BindUserOutcome VcsClient::bindUser(const BindUserRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +663,78 @@ VcsClient::DeleteDeviceOutcomeCallable VcsClient::deleteDeviceCallable(const Del
 	return task->get_future();
 }
 
+VcsClient::DeleteProfileOutcome VcsClient::deleteProfile(const DeleteProfileRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteProfileOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteProfileOutcome(DeleteProfileResult(outcome.result()));
+	else
+		return DeleteProfileOutcome(outcome.error());
+}
+
+void VcsClient::deleteProfileAsync(const DeleteProfileRequest& request, const DeleteProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteProfile(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::DeleteProfileOutcomeCallable VcsClient::deleteProfileCallable(const DeleteProfileRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteProfileOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteProfile(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::DeleteProfileCatalogOutcome VcsClient::deleteProfileCatalog(const DeleteProfileCatalogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteProfileCatalogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteProfileCatalogOutcome(DeleteProfileCatalogResult(outcome.result()));
+	else
+		return DeleteProfileCatalogOutcome(outcome.error());
+}
+
+void VcsClient::deleteProfileCatalogAsync(const DeleteProfileCatalogRequest& request, const DeleteProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteProfileCatalog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::DeleteProfileCatalogOutcomeCallable VcsClient::deleteProfileCatalogCallable(const DeleteProfileCatalogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteProfileCatalogOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteProfileCatalog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::DeleteRecordsOutcome VcsClient::deleteRecords(const DeleteRecordsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +915,42 @@ VcsClient::GetBodyOptionsOutcomeCallable VcsClient::getBodyOptionsCallable(const
 	return task->get_future();
 }
 
+VcsClient::GetCatalogListOutcome VcsClient::getCatalogList(const GetCatalogListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCatalogListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCatalogListOutcome(GetCatalogListResult(outcome.result()));
+	else
+		return GetCatalogListOutcome(outcome.error());
+}
+
+void VcsClient::getCatalogListAsync(const GetCatalogListRequest& request, const GetCatalogListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCatalogList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetCatalogListOutcomeCallable VcsClient::getCatalogListCallable(const GetCatalogListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCatalogListOutcome()>>(
+			[this, request]()
+			{
+			return this->getCatalogList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::GetDeviceConfigOutcome VcsClient::getDeviceConfig(const GetDeviceConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1059,6 +1275,78 @@ VcsClient::GetPersonListOutcomeCallable VcsClient::getPersonListCallable(const G
 	return task->get_future();
 }
 
+VcsClient::GetProfileDetailOutcome VcsClient::getProfileDetail(const GetProfileDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetProfileDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetProfileDetailOutcome(GetProfileDetailResult(outcome.result()));
+	else
+		return GetProfileDetailOutcome(outcome.error());
+}
+
+void VcsClient::getProfileDetailAsync(const GetProfileDetailRequest& request, const GetProfileDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getProfileDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetProfileDetailOutcomeCallable VcsClient::getProfileDetailCallable(const GetProfileDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetProfileDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->getProfileDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::GetProfileListOutcome VcsClient::getProfileList(const GetProfileListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetProfileListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetProfileListOutcome(GetProfileListResult(outcome.result()));
+	else
+		return GetProfileListOutcome(outcome.error());
+}
+
+void VcsClient::getProfileListAsync(const GetProfileListRequest& request, const GetProfileListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getProfileList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetProfileListOutcomeCallable VcsClient::getProfileListCallable(const GetProfileListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetProfileListOutcome()>>(
+			[this, request]()
+			{
+			return this->getProfileList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::GetUserDetailOutcome VcsClient::getUserDetail(const GetUserDetailRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2139,6 +2427,42 @@ VcsClient::UnbindCorpGroupOutcomeCallable VcsClient::unbindCorpGroupCallable(con
 	return task->get_future();
 }
 
+VcsClient::UnbindPersonOutcome VcsClient::unbindPerson(const UnbindPersonRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnbindPersonOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnbindPersonOutcome(UnbindPersonResult(outcome.result()));
+	else
+		return UnbindPersonOutcome(outcome.error());
+}
+
+void VcsClient::unbindPersonAsync(const UnbindPersonRequest& request, const UnbindPersonAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unbindPerson(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UnbindPersonOutcomeCallable VcsClient::unbindPersonCallable(const UnbindPersonRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnbindPersonOutcome()>>(
+			[this, request]()
+			{
+			return this->unbindPerson(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::UnbindUserOutcome VcsClient::unbindUser(const UnbindUserRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2283,6 +2607,78 @@ VcsClient::UpdateMonitorOutcomeCallable VcsClient::updateMonitorCallable(const U
 	return task->get_future();
 }
 
+VcsClient::UpdateProfileOutcome VcsClient::updateProfile(const UpdateProfileRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateProfileOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateProfileOutcome(UpdateProfileResult(outcome.result()));
+	else
+		return UpdateProfileOutcome(outcome.error());
+}
+
+void VcsClient::updateProfileAsync(const UpdateProfileRequest& request, const UpdateProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateProfile(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UpdateProfileOutcomeCallable VcsClient::updateProfileCallable(const UpdateProfileRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateProfileOutcome()>>(
+			[this, request]()
+			{
+			return this->updateProfile(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::UpdateProfileCatalogOutcome VcsClient::updateProfileCatalog(const UpdateProfileCatalogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateProfileCatalogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateProfileCatalogOutcome(UpdateProfileCatalogResult(outcome.result()));
+	else
+		return UpdateProfileCatalogOutcome(outcome.error());
+}
+
+void VcsClient::updateProfileCatalogAsync(const UpdateProfileCatalogRequest& request, const UpdateProfileCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateProfileCatalog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UpdateProfileCatalogOutcomeCallable VcsClient::updateProfileCatalogCallable(const UpdateProfileCatalogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateProfileCatalogOutcome()>>(
+			[this, request]()
+			{
+			return this->updateProfileCatalog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::UpdateUserOutcome VcsClient::updateUser(const UpdateUserRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 73 - 0
vcs/src/model/AddProfileCatalogRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * 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/vcs/model/AddProfileCatalogRequest.h>
+
+using AlibabaCloud::Vcs::Model::AddProfileCatalogRequest;
+
+AddProfileCatalogRequest::AddProfileCatalogRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "AddProfileCatalog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+AddProfileCatalogRequest::~AddProfileCatalogRequest()
+{}
+
+std::string AddProfileCatalogRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void AddProfileCatalogRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+long AddProfileCatalogRequest::getParentCatalogId()const
+{
+	return parentCatalogId_;
+}
+
+void AddProfileCatalogRequest::setParentCatalogId(long parentCatalogId)
+{
+	parentCatalogId_ = parentCatalogId;
+	setBodyParameter("ParentCatalogId", std::to_string(parentCatalogId));
+}
+
+std::string AddProfileCatalogRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void AddProfileCatalogRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string AddProfileCatalogRequest::getCatalogName()const
+{
+	return catalogName_;
+}
+
+void AddProfileCatalogRequest::setCatalogName(const std::string& catalogName)
+{
+	catalogName_ = catalogName;
+	setBodyParameter("CatalogName", catalogName);
+}
+

+ 70 - 0
vcs/src/model/AddProfileCatalogResult.cc

@@ -0,0 +1,70 @@
+/*
+ * 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/vcs/model/AddProfileCatalogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+AddProfileCatalogResult::AddProfileCatalogResult() :
+	ServiceResult()
+{}
+
+AddProfileCatalogResult::AddProfileCatalogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+AddProfileCatalogResult::~AddProfileCatalogResult()
+{}
+
+void AddProfileCatalogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["CatalogId"].isNull())
+		data_.catalogId = std::stol(dataNode["CatalogId"].asString());
+	if(!dataNode["CatalogName"].isNull())
+		data_.catalogName = dataNode["CatalogName"].asString();
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string AddProfileCatalogResult::getMessage()const
+{
+	return message_;
+}
+
+AddProfileCatalogResult::Data AddProfileCatalogResult::getData()const
+{
+	return data_;
+}
+
+std::string AddProfileCatalogResult::getCode()const
+{
+	return code_;
+}
+

+ 161 - 0
vcs/src/model/AddProfileRequest.cc

@@ -0,0 +1,161 @@
+/*
+ * 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/vcs/model/AddProfileRequest.h>
+
+using AlibabaCloud::Vcs::Model::AddProfileRequest;
+
+AddProfileRequest::AddProfileRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "AddProfile")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+AddProfileRequest::~AddProfileRequest()
+{}
+
+std::string AddProfileRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void AddProfileRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int AddProfileRequest::getGender()const
+{
+	return gender_;
+}
+
+void AddProfileRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string AddProfileRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void AddProfileRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string AddProfileRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void AddProfileRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+std::string AddProfileRequest::getFaceUrl()const
+{
+	return faceUrl_;
+}
+
+void AddProfileRequest::setFaceUrl(const std::string& faceUrl)
+{
+	faceUrl_ = faceUrl;
+	setBodyParameter("FaceUrl", faceUrl);
+}
+
+std::string AddProfileRequest::getLiveAddress()const
+{
+	return liveAddress_;
+}
+
+void AddProfileRequest::setLiveAddress(const std::string& liveAddress)
+{
+	liveAddress_ = liveAddress;
+	setBodyParameter("LiveAddress", liveAddress);
+}
+
+std::string AddProfileRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void AddProfileRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string AddProfileRequest::getSceneType()const
+{
+	return sceneType_;
+}
+
+void AddProfileRequest::setSceneType(const std::string& sceneType)
+{
+	sceneType_ = sceneType;
+	setBodyParameter("SceneType", sceneType);
+}
+
+std::string AddProfileRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void AddProfileRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+long AddProfileRequest::getCatalogId()const
+{
+	return catalogId_;
+}
+
+void AddProfileRequest::setCatalogId(long catalogId)
+{
+	catalogId_ = catalogId;
+	setBodyParameter("CatalogId", std::to_string(catalogId));
+}
+
+std::string AddProfileRequest::getName()const
+{
+	return name_;
+}
+
+void AddProfileRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setBodyParameter("Name", name);
+}
+
+std::string AddProfileRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void AddProfileRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+

+ 88 - 0
vcs/src/model/AddProfileResult.cc

@@ -0,0 +1,88 @@
+/*
+ * 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/vcs/model/AddProfileResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+AddProfileResult::AddProfileResult() :
+	ServiceResult()
+{}
+
+AddProfileResult::AddProfileResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+AddProfileResult::~AddProfileResult()
+{}
+
+void AddProfileResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["LiveAddress"].isNull())
+		data_.liveAddress = dataNode["LiveAddress"].asString();
+	if(!dataNode["SceneType"].isNull())
+		data_.sceneType = dataNode["SceneType"].asString();
+	if(!dataNode["BizId"].isNull())
+		data_.bizId = dataNode["BizId"].asString();
+	if(!dataNode["FaceUrl"].isNull())
+		data_.faceUrl = dataNode["FaceUrl"].asString();
+	if(!dataNode["Gender"].isNull())
+		data_.gender = dataNode["Gender"].asString();
+	if(!dataNode["IdNumber"].isNull())
+		data_.idNumber = dataNode["IdNumber"].asString();
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!dataNode["PhoneNo"].isNull())
+		data_.phoneNo = dataNode["PhoneNo"].asString();
+	if(!dataNode["PlateNo"].isNull())
+		data_.plateNo = dataNode["PlateNo"].asString();
+	if(!dataNode["CatalogId"].isNull())
+		data_.catalogId = std::stoi(dataNode["CatalogId"].asString());
+	if(!dataNode["ProfileId"].isNull())
+		data_.profileId = std::stoi(dataNode["ProfileId"].asString());
+	if(!dataNode["Name"].isNull())
+		data_.name = dataNode["Name"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string AddProfileResult::getMessage()const
+{
+	return message_;
+}
+
+AddProfileResult::Data AddProfileResult::getData()const
+{
+	return data_;
+}
+
+std::string AddProfileResult::getCode()const
+{
+	return code_;
+}
+

+ 84 - 0
vcs/src/model/BindPersonRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/vcs/model/BindPersonRequest.h>
+
+using AlibabaCloud::Vcs::Model::BindPersonRequest;
+
+BindPersonRequest::BindPersonRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "BindPerson")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindPersonRequest::~BindPersonRequest()
+{}
+
+std::string BindPersonRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void BindPersonRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string BindPersonRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void BindPersonRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string BindPersonRequest::getPersonMatchingRate()const
+{
+	return personMatchingRate_;
+}
+
+void BindPersonRequest::setPersonMatchingRate(const std::string& personMatchingRate)
+{
+	personMatchingRate_ = personMatchingRate;
+	setBodyParameter("PersonMatchingRate", personMatchingRate);
+}
+
+long BindPersonRequest::getProfileId()const
+{
+	return profileId_;
+}
+
+void BindPersonRequest::setProfileId(long profileId)
+{
+	profileId_ = profileId;
+	setBodyParameter("ProfileId", std::to_string(profileId));
+}
+
+std::string BindPersonRequest::getPersonId()const
+{
+	return personId_;
+}
+
+void BindPersonRequest::setPersonId(const std::string& personId)
+{
+	personId_ = personId;
+	setBodyParameter("PersonId", personId);
+}
+

+ 65 - 0
vcs/src/model/BindPersonResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/vcs/model/BindPersonResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+BindPersonResult::BindPersonResult() :
+	ServiceResult()
+{}
+
+BindPersonResult::BindPersonResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BindPersonResult::~BindPersonResult()
+{}
+
+void BindPersonResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string BindPersonResult::getMessage()const
+{
+	return message_;
+}
+
+bool BindPersonResult::getData()const
+{
+	return data_;
+}
+
+std::string BindPersonResult::getCode()const
+{
+	return code_;
+}
+

+ 62 - 0
vcs/src/model/DeleteProfileCatalogRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vcs/model/DeleteProfileCatalogRequest.h>
+
+using AlibabaCloud::Vcs::Model::DeleteProfileCatalogRequest;
+
+DeleteProfileCatalogRequest::DeleteProfileCatalogRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "DeleteProfileCatalog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteProfileCatalogRequest::~DeleteProfileCatalogRequest()
+{}
+
+std::string DeleteProfileCatalogRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void DeleteProfileCatalogRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string DeleteProfileCatalogRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void DeleteProfileCatalogRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string DeleteProfileCatalogRequest::getCatalogId()const
+{
+	return catalogId_;
+}
+
+void DeleteProfileCatalogRequest::setCatalogId(const std::string& catalogId)
+{
+	catalogId_ = catalogId;
+	setBodyParameter("CatalogId", catalogId);
+}
+

+ 65 - 0
vcs/src/model/DeleteProfileCatalogResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/vcs/model/DeleteProfileCatalogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+DeleteProfileCatalogResult::DeleteProfileCatalogResult() :
+	ServiceResult()
+{}
+
+DeleteProfileCatalogResult::DeleteProfileCatalogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteProfileCatalogResult::~DeleteProfileCatalogResult()
+{}
+
+void DeleteProfileCatalogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DeleteProfileCatalogResult::getMessage()const
+{
+	return message_;
+}
+
+bool DeleteProfileCatalogResult::getData()const
+{
+	return data_;
+}
+
+std::string DeleteProfileCatalogResult::getCode()const
+{
+	return code_;
+}
+

+ 62 - 0
vcs/src/model/DeleteProfileRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vcs/model/DeleteProfileRequest.h>
+
+using AlibabaCloud::Vcs::Model::DeleteProfileRequest;
+
+DeleteProfileRequest::DeleteProfileRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "DeleteProfile")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteProfileRequest::~DeleteProfileRequest()
+{}
+
+std::string DeleteProfileRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void DeleteProfileRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string DeleteProfileRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void DeleteProfileRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long DeleteProfileRequest::getProfileId()const
+{
+	return profileId_;
+}
+
+void DeleteProfileRequest::setProfileId(long profileId)
+{
+	profileId_ = profileId;
+	setBodyParameter("ProfileId", std::to_string(profileId));
+}
+

+ 65 - 0
vcs/src/model/DeleteProfileResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/vcs/model/DeleteProfileResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+DeleteProfileResult::DeleteProfileResult() :
+	ServiceResult()
+{}
+
+DeleteProfileResult::DeleteProfileResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteProfileResult::~DeleteProfileResult()
+{}
+
+void DeleteProfileResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DeleteProfileResult::getMessage()const
+{
+	return message_;
+}
+
+bool DeleteProfileResult::getData()const
+{
+	return data_;
+}
+
+std::string DeleteProfileResult::getCode()const
+{
+	return code_;
+}
+

+ 51 - 0
vcs/src/model/GetCatalogListRequest.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/vcs/model/GetCatalogListRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetCatalogListRequest;
+
+GetCatalogListRequest::GetCatalogListRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetCatalogList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetCatalogListRequest::~GetCatalogListRequest()
+{}
+
+std::string GetCatalogListRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void GetCatalogListRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setParameter("IsvSubId", isvSubId);
+}
+
+std::string GetCatalogListRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetCatalogListRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setParameter("CorpId", corpId);
+}
+

+ 79 - 0
vcs/src/model/GetCatalogListResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/vcs/model/GetCatalogListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetCatalogListResult::GetCatalogListResult() :
+	ServiceResult()
+{}
+
+GetCatalogListResult::GetCatalogListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetCatalogListResult::~GetCatalogListResult()
+{}
+
+void GetCatalogListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["IsvSubId"].isNull())
+			dataObject.isvSubId = valueDataDataItem["IsvSubId"].asString();
+		if(!valueDataDataItem["ParentCatalogId"].isNull())
+			dataObject.parentCatalogId = std::stol(valueDataDataItem["ParentCatalogId"].asString());
+		if(!valueDataDataItem["ProfileCount"].isNull())
+			dataObject.profileCount = std::stol(valueDataDataItem["ProfileCount"].asString());
+		if(!valueDataDataItem["CatalogId"].isNull())
+			dataObject.catalogId = std::stol(valueDataDataItem["CatalogId"].asString());
+		if(!valueDataDataItem["CatalogName"].isNull())
+			dataObject.catalogName = valueDataDataItem["CatalogName"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetCatalogListResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetCatalogListResult::DataItem> GetCatalogListResult::getData()const
+{
+	return data_;
+}
+
+std::string GetCatalogListResult::getCode()const
+{
+	return code_;
+}
+

+ 47 - 14
vcs/src/model/GetPersonListRequest.cc

@@ -27,47 +27,80 @@ GetPersonListRequest::GetPersonListRequest() :
 GetPersonListRequest::~GetPersonListRequest()
 {}
 
-std::string GetPersonListRequest::getFaceImageUrl()const
+std::string GetPersonListRequest::getCorpId()const
 {
-	return faceImageUrl_;
+	return corpId_;
 }
 
-void GetPersonListRequest::setFaceImageUrl(const std::string& faceImageUrl)
+void GetPersonListRequest::setCorpId(const std::string& corpId)
 {
-	faceImageUrl_ = faceImageUrl;
-	setBodyParameter("FaceImageUrl", faceImageUrl);
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
 }
 
-std::string GetPersonListRequest::getPageNumber()const
+std::string GetPersonListRequest::getFaceMatchingRateThreshold()const
+{
+	return faceMatchingRateThreshold_;
+}
+
+void GetPersonListRequest::setFaceMatchingRateThreshold(const std::string& faceMatchingRateThreshold)
+{
+	faceMatchingRateThreshold_ = faceMatchingRateThreshold;
+	setBodyParameter("FaceMatchingRateThreshold", faceMatchingRateThreshold);
+}
+
+long GetPersonListRequest::getPageNumber()const
 {
 	return pageNumber_;
 }
 
-void GetPersonListRequest::setPageNumber(const std::string& pageNumber)
+void GetPersonListRequest::setPageNumber(long pageNumber)
 {
 	pageNumber_ = pageNumber;
-	setBodyParameter("PageNumber", pageNumber);
+	setBodyParameter("PageNumber", std::to_string(pageNumber));
 }
 
-std::string GetPersonListRequest::getCorpIdList()const
+std::map<std::string, std::string> GetPersonListRequest::getCorpIdList()const
 {
 	return corpIdList_;
 }
 
-void GetPersonListRequest::setCorpIdList(const std::string& corpIdList)
+void GetPersonListRequest::setCorpIdList(const std::map<std::string, std::string>& corpIdList)
 {
 	corpIdList_ = corpIdList;
-	setBodyParameter("CorpIdList", corpIdList);
+	setJsonParameters("CorpIdList", corpIdList);
+}
+
+std::string GetPersonListRequest::getFaceUrl()const
+{
+	return faceUrl_;
 }
 
-std::string GetPersonListRequest::getPageSize()const
+void GetPersonListRequest::setFaceUrl(const std::string& faceUrl)
+{
+	faceUrl_ = faceUrl;
+	setBodyParameter("FaceUrl", faceUrl);
+}
+
+long GetPersonListRequest::getPageSize()const
 {
 	return pageSize_;
 }
 
-void GetPersonListRequest::setPageSize(const std::string& pageSize)
+void GetPersonListRequest::setPageSize(long pageSize)
 {
 	pageSize_ = pageSize;
-	setBodyParameter("PageSize", pageSize);
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::map<std::string, std::string> GetPersonListRequest::getPersonIdList()const
+{
+	return personIdList_;
+}
+
+void GetPersonListRequest::setPersonIdList(const std::map<std::string, std::string>& personIdList)
+{
+	personIdList_ = personIdList;
+	setJsonParameters("PersonIdList", personIdList);
 }
 

+ 21 - 19
vcs/src/model/GetPersonListResult.cc

@@ -41,34 +41,36 @@ void GetPersonListResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
 	if(!dataNode["PageNumber"].isNull())
-		data_.pageNumber = dataNode["PageNumber"].asString();
+		data_.pageNumber = std::stol(dataNode["PageNumber"].asString());
 	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = dataNode["PageSize"].asString();
+		data_.pageSize = std::stol(dataNode["PageSize"].asString());
 	if(!dataNode["TotalCount"].isNull())
-		data_.totalCount = dataNode["TotalCount"].asString();
+		data_.totalCount = std::stol(dataNode["TotalCount"].asString());
 	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
 	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
 	{
 		Data::RecordsItem recordsItemObject;
-		if(!dataNodeRecordsRecordsItem["FirstAppearTime"].isNull())
-			recordsItemObject.firstAppearTime = dataNodeRecordsRecordsItem["FirstAppearTime"].asString();
+		if(!dataNodeRecordsRecordsItem["FaceUrl"].isNull())
+			recordsItemObject.faceUrl = dataNodeRecordsRecordsItem["FaceUrl"].asString();
+		if(!dataNodeRecordsRecordsItem["FirstShotTime"].isNull())
+			recordsItemObject.firstShotTime = std::stol(dataNodeRecordsRecordsItem["FirstShotTime"].asString());
 		if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
 			recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
-		if(!dataNodeRecordsRecordsItem["FaceImageUrl"].isNull())
-			recordsItemObject.faceImageUrl = dataNodeRecordsRecordsItem["FaceImageUrl"].asString();
-		auto allTagListNode = allRecordsNode["TagList"]["TagListItem"];
-		for (auto allRecordsNodeTagListTagListItem : allTagListNode)
+		if(!dataNodeRecordsRecordsItem["SearchMatchingRate"].isNull())
+			recordsItemObject.searchMatchingRate = dataNodeRecordsRecordsItem["SearchMatchingRate"].asString();
+		auto allPropertyTagListNode = allRecordsNode["PropertyTagList"]["TagList"];
+		for (auto allRecordsNodePropertyTagListTagList : allPropertyTagListNode)
 		{
-			Data::RecordsItem::TagListItem tagListObject;
-			if(!allRecordsNodeTagListTagListItem["Code"].isNull())
-				tagListObject.code = allRecordsNodeTagListTagListItem["Code"].asString();
-			if(!allRecordsNodeTagListTagListItem["Value"].isNull())
-				tagListObject.value = allRecordsNodeTagListTagListItem["Value"].asString();
-			if(!allRecordsNodeTagListTagListItem["TagCodeName"].isNull())
-				tagListObject.tagCodeName = allRecordsNodeTagListTagListItem["TagCodeName"].asString();
-			if(!allRecordsNodeTagListTagListItem["TagName"].isNull())
-				tagListObject.tagName = allRecordsNodeTagListTagListItem["TagName"].asString();
-			recordsItemObject.tagList.push_back(tagListObject);
+			Data::RecordsItem::TagList propertyTagListObject;
+			if(!allRecordsNodePropertyTagListTagList["Code"].isNull())
+				propertyTagListObject.code = allRecordsNodePropertyTagListTagList["Code"].asString();
+			if(!allRecordsNodePropertyTagListTagList["TagCodeName"].isNull())
+				propertyTagListObject.tagCodeName = allRecordsNodePropertyTagListTagList["TagCodeName"].asString();
+			if(!allRecordsNodePropertyTagListTagList["TagName"].isNull())
+				propertyTagListObject.tagName = allRecordsNodePropertyTagListTagList["TagName"].asString();
+			if(!allRecordsNodePropertyTagListTagList["Value"].isNull())
+				propertyTagListObject.value = allRecordsNodePropertyTagListTagList["Value"].asString();
+			recordsItemObject.propertyTagList.push_back(propertyTagListObject);
 		}
 		data_.records.push_back(recordsItemObject);
 	}

+ 62 - 0
vcs/src/model/GetProfileDetailRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vcs/model/GetProfileDetailRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetProfileDetailRequest;
+
+GetProfileDetailRequest::GetProfileDetailRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetProfileDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetProfileDetailRequest::~GetProfileDetailRequest()
+{}
+
+std::string GetProfileDetailRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void GetProfileDetailRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string GetProfileDetailRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetProfileDetailRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long GetProfileDetailRequest::getProfileId()const
+{
+	return profileId_;
+}
+
+void GetProfileDetailRequest::setProfileId(long profileId)
+{
+	profileId_ = profileId;
+	setBodyParameter("ProfileId", std::to_string(profileId));
+}
+

+ 90 - 0
vcs/src/model/GetProfileDetailResult.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/vcs/model/GetProfileDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetProfileDetailResult::GetProfileDetailResult() :
+	ServiceResult()
+{}
+
+GetProfileDetailResult::GetProfileDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetProfileDetailResult::~GetProfileDetailResult()
+{}
+
+void GetProfileDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["LiveAddress"].isNull())
+		data_.liveAddress = dataNode["LiveAddress"].asString();
+	if(!dataNode["SceneType"].isNull())
+		data_.sceneType = dataNode["SceneType"].asString();
+	if(!dataNode["BizId"].isNull())
+		data_.bizId = dataNode["BizId"].asString();
+	if(!dataNode["FaceUrl"].isNull())
+		data_.faceUrl = dataNode["FaceUrl"].asString();
+	if(!dataNode["Gender"].isNull())
+		data_.gender = dataNode["Gender"].asString();
+	if(!dataNode["IdNumber"].isNull())
+		data_.idNumber = dataNode["IdNumber"].asString();
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!dataNode["PhoneNo"].isNull())
+		data_.phoneNo = dataNode["PhoneNo"].asString();
+	if(!dataNode["PlateNo"].isNull())
+		data_.plateNo = dataNode["PlateNo"].asString();
+	if(!dataNode["CatalogId"].isNull())
+		data_.catalogId = std::stoi(dataNode["CatalogId"].asString());
+	if(!dataNode["ProfileId"].isNull())
+		data_.profileId = std::stoi(dataNode["ProfileId"].asString());
+	if(!dataNode["Name"].isNull())
+		data_.name = dataNode["Name"].asString();
+	if(!dataNode["PersonId"].isNull())
+		data_.personId = dataNode["PersonId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetProfileDetailResult::getMessage()const
+{
+	return message_;
+}
+
+GetProfileDetailResult::Data GetProfileDetailResult::getData()const
+{
+	return data_;
+}
+
+std::string GetProfileDetailResult::getCode()const
+{
+	return code_;
+}
+

+ 216 - 0
vcs/src/model/GetProfileListRequest.cc

@@ -0,0 +1,216 @@
+/*
+ * 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/vcs/model/GetProfileListRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetProfileListRequest;
+
+GetProfileListRequest::GetProfileListRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetProfileList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetProfileListRequest::~GetProfileListRequest()
+{}
+
+std::map<std::string, std::string> GetProfileListRequest::getProfileIdList()const
+{
+	return profileIdList_;
+}
+
+void GetProfileListRequest::setProfileIdList(const std::map<std::string, std::string>& profileIdList)
+{
+	profileIdList_ = profileIdList;
+	setJsonParameters("ProfileIdList", profileIdList);
+}
+
+std::string GetProfileListRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetProfileListRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int GetProfileListRequest::getGender()const
+{
+	return gender_;
+}
+
+void GetProfileListRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string GetProfileListRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void GetProfileListRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string GetProfileListRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void GetProfileListRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+long GetProfileListRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void GetProfileListRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string GetProfileListRequest::getFaceUrl()const
+{
+	return faceUrl_;
+}
+
+void GetProfileListRequest::setFaceUrl(const std::string& faceUrl)
+{
+	faceUrl_ = faceUrl;
+	setBodyParameter("FaceUrl", faceUrl);
+}
+
+long GetProfileListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void GetProfileListRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::map<std::string, std::string> GetProfileListRequest::getPersonIdList()const
+{
+	return personIdList_;
+}
+
+void GetProfileListRequest::setPersonIdList(const std::map<std::string, std::string>& personIdList)
+{
+	personIdList_ = personIdList;
+	setJsonParameters("PersonIdList", personIdList);
+}
+
+std::string GetProfileListRequest::getLiveAddress()const
+{
+	return liveAddress_;
+}
+
+void GetProfileListRequest::setLiveAddress(const std::string& liveAddress)
+{
+	liveAddress_ = liveAddress;
+	setBodyParameter("LiveAddress", liveAddress);
+}
+
+std::string GetProfileListRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void GetProfileListRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string GetProfileListRequest::getSceneType()const
+{
+	return sceneType_;
+}
+
+void GetProfileListRequest::setSceneType(const std::string& sceneType)
+{
+	sceneType_ = sceneType;
+	setBodyParameter("SceneType", sceneType);
+}
+
+std::string GetProfileListRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void GetProfileListRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+long GetProfileListRequest::getCatalogId()const
+{
+	return catalogId_;
+}
+
+void GetProfileListRequest::setCatalogId(long catalogId)
+{
+	catalogId_ = catalogId;
+	setBodyParameter("CatalogId", std::to_string(catalogId));
+}
+
+std::string GetProfileListRequest::getName()const
+{
+	return name_;
+}
+
+void GetProfileListRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setBodyParameter("Name", name);
+}
+
+std::string GetProfileListRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void GetProfileListRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+
+std::string GetProfileListRequest::getMatchingRateThreshold()const
+{
+	return matchingRateThreshold_;
+}
+
+void GetProfileListRequest::setMatchingRateThreshold(const std::string& matchingRateThreshold)
+{
+	matchingRateThreshold_ = matchingRateThreshold;
+	setBodyParameter("MatchingRateThreshold", matchingRateThreshold);
+}
+

+ 100 - 0
vcs/src/model/GetProfileListResult.cc

@@ -0,0 +1,100 @@
+/*
+ * 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/vcs/model/GetProfileListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetProfileListResult::GetProfileListResult() :
+	ServiceResult()
+{}
+
+GetProfileListResult::GetProfileListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetProfileListResult::~GetProfileListResult()
+{}
+
+void GetProfileListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageNumber"].isNull())
+		data_.pageNumber = std::stol(dataNode["PageNumber"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stol(dataNode["PageSize"].asString());
+	if(!dataNode["Success"].isNull())
+		data_.success = std::stol(dataNode["Success"].asString());
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stol(dataNode["Total"].asString());
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["SceneType"].isNull())
+			recordsItemObject.sceneType = dataNodeRecordsRecordsItem["SceneType"].asString();
+		if(!dataNodeRecordsRecordsItem["BizId"].isNull())
+			recordsItemObject.bizId = dataNodeRecordsRecordsItem["BizId"].asString();
+		if(!dataNodeRecordsRecordsItem["FaceUrl"].isNull())
+			recordsItemObject.faceUrl = dataNodeRecordsRecordsItem["FaceUrl"].asString();
+		if(!dataNodeRecordsRecordsItem["Gender"].isNull())
+			recordsItemObject.gender = dataNodeRecordsRecordsItem["Gender"].asString();
+		if(!dataNodeRecordsRecordsItem["IdNumber"].isNull())
+			recordsItemObject.idNumber = dataNodeRecordsRecordsItem["IdNumber"].asString();
+		if(!dataNodeRecordsRecordsItem["IsvSubId"].isNull())
+			recordsItemObject.isvSubId = dataNodeRecordsRecordsItem["IsvSubId"].asString();
+		if(!dataNodeRecordsRecordsItem["SearchMatchingRate"].isNull())
+			recordsItemObject.searchMatchingRate = dataNodeRecordsRecordsItem["SearchMatchingRate"].asString();
+		if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
+			recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
+		if(!dataNodeRecordsRecordsItem["CatalogId"].isNull())
+			recordsItemObject.catalogId = std::stoi(dataNodeRecordsRecordsItem["CatalogId"].asString());
+		if(!dataNodeRecordsRecordsItem["ProfileId"].isNull())
+			recordsItemObject.profileId = std::stoi(dataNodeRecordsRecordsItem["ProfileId"].asString());
+		if(!dataNodeRecordsRecordsItem["Name"].isNull())
+			recordsItemObject.name = dataNodeRecordsRecordsItem["Name"].asString();
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetProfileListResult::getMessage()const
+{
+	return message_;
+}
+
+GetProfileListResult::Data GetProfileListResult::getData()const
+{
+	return data_;
+}
+
+std::string GetProfileListResult::getCode()const
+{
+	return code_;
+}
+

+ 33 - 0
vcs/src/model/ListUsersRequest.cc

@@ -27,6 +27,17 @@ ListUsersRequest::ListUsersRequest() :
 ListUsersRequest::~ListUsersRequest()
 {}
 
+std::map<std::string, std::string> ListUsersRequest::getUserList()const
+{
+	return userList_;
+}
+
+void ListUsersRequest::setUserList(const std::map<std::string, std::string>& userList)
+{
+	userList_ = userList;
+	setJsonParameters("UserList", userList);
+}
+
 std::string ListUsersRequest::getCorpId()const
 {
 	return corpId_;
@@ -82,6 +93,17 @@ void ListUsersRequest::setFaceImageUrl(const std::string& faceImageUrl)
 	setBodyParameter("FaceImageUrl", faceImageUrl);
 }
 
+std::map<std::string, std::string> ListUsersRequest::getPersonList()const
+{
+	return personList_;
+}
+
+void ListUsersRequest::setPersonList(const std::map<std::string, std::string>& personList)
+{
+	personList_ = personList;
+	setJsonParameters("PersonList", personList);
+}
+
 long ListUsersRequest::getPageNumber()const
 {
 	return pageNumber_;
@@ -181,6 +203,17 @@ void ListUsersRequest::setAge(int age)
 	setBodyParameter("Age", std::to_string(age));
 }
 
+std::string ListUsersRequest::getMatchingRateThreshold()const
+{
+	return matchingRateThreshold_;
+}
+
+void ListUsersRequest::setMatchingRateThreshold(const std::string& matchingRateThreshold)
+{
+	matchingRateThreshold_ = matchingRateThreshold;
+	setBodyParameter("MatchingRateThreshold", matchingRateThreshold);
+}
+
 std::string ListUsersRequest::getUserName()const
 {
 	return userName_;

+ 4 - 0
vcs/src/model/ListUsersResult.cc

@@ -72,6 +72,10 @@ void ListUsersResult::parse(const std::string &payload)
 			recordsItemObject.userName = dataNodeRecordsRecordsItem["UserName"].asString();
 		if(!dataNodeRecordsRecordsItem["IsvSubId"].isNull())
 			recordsItemObject.isvSubId = dataNodeRecordsRecordsItem["IsvSubId"].asString();
+		if(!dataNodeRecordsRecordsItem["MatchingRate"].isNull())
+			recordsItemObject.matchingRate = dataNodeRecordsRecordsItem["MatchingRate"].asString();
+		if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
+			recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
 		data_.records.push_back(recordsItemObject);
 	}
 	if(!value["Code"].isNull())

+ 62 - 0
vcs/src/model/UnbindPersonRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vcs/model/UnbindPersonRequest.h>
+
+using AlibabaCloud::Vcs::Model::UnbindPersonRequest;
+
+UnbindPersonRequest::UnbindPersonRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UnbindPerson")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnbindPersonRequest::~UnbindPersonRequest()
+{}
+
+std::string UnbindPersonRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UnbindPersonRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UnbindPersonRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UnbindPersonRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long UnbindPersonRequest::getProfileId()const
+{
+	return profileId_;
+}
+
+void UnbindPersonRequest::setProfileId(long profileId)
+{
+	profileId_ = profileId;
+	setBodyParameter("ProfileId", std::to_string(profileId));
+}
+

+ 65 - 0
vcs/src/model/UnbindPersonResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/vcs/model/UnbindPersonResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+UnbindPersonResult::UnbindPersonResult() :
+	ServiceResult()
+{}
+
+UnbindPersonResult::UnbindPersonResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UnbindPersonResult::~UnbindPersonResult()
+{}
+
+void UnbindPersonResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UnbindPersonResult::getMessage()const
+{
+	return message_;
+}
+
+bool UnbindPersonResult::getData()const
+{
+	return data_;
+}
+
+std::string UnbindPersonResult::getCode()const
+{
+	return code_;
+}
+

+ 73 - 0
vcs/src/model/UpdateProfileCatalogRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * 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/vcs/model/UpdateProfileCatalogRequest.h>
+
+using AlibabaCloud::Vcs::Model::UpdateProfileCatalogRequest;
+
+UpdateProfileCatalogRequest::UpdateProfileCatalogRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UpdateProfileCatalog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateProfileCatalogRequest::~UpdateProfileCatalogRequest()
+{}
+
+std::string UpdateProfileCatalogRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UpdateProfileCatalogRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UpdateProfileCatalogRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UpdateProfileCatalogRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string UpdateProfileCatalogRequest::getCatalogName()const
+{
+	return catalogName_;
+}
+
+void UpdateProfileCatalogRequest::setCatalogName(const std::string& catalogName)
+{
+	catalogName_ = catalogName;
+	setBodyParameter("CatalogName", catalogName);
+}
+
+long UpdateProfileCatalogRequest::getCatalogId()const
+{
+	return catalogId_;
+}
+
+void UpdateProfileCatalogRequest::setCatalogId(long catalogId)
+{
+	catalogId_ = catalogId;
+	setBodyParameter("CatalogId", std::to_string(catalogId));
+}
+

+ 74 - 0
vcs/src/model/UpdateProfileCatalogResult.cc

@@ -0,0 +1,74 @@
+/*
+ * 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/vcs/model/UpdateProfileCatalogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+UpdateProfileCatalogResult::UpdateProfileCatalogResult() :
+	ServiceResult()
+{}
+
+UpdateProfileCatalogResult::UpdateProfileCatalogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateProfileCatalogResult::~UpdateProfileCatalogResult()
+{}
+
+void UpdateProfileCatalogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!dataNode["ParentCatalogId"].isNull())
+		data_.parentCatalogId = dataNode["ParentCatalogId"].asString();
+	if(!dataNode["ProfileCount"].isNull())
+		data_.profileCount = std::stol(dataNode["ProfileCount"].asString());
+	if(!dataNode["CatalogId"].isNull())
+		data_.catalogId = std::stol(dataNode["CatalogId"].asString());
+	if(!dataNode["CatalogName"].isNull())
+		data_.catalogName = dataNode["CatalogName"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateProfileCatalogResult::getMessage()const
+{
+	return message_;
+}
+
+UpdateProfileCatalogResult::Data UpdateProfileCatalogResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateProfileCatalogResult::getCode()const
+{
+	return code_;
+}
+

+ 172 - 0
vcs/src/model/UpdateProfileRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * 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/vcs/model/UpdateProfileRequest.h>
+
+using AlibabaCloud::Vcs::Model::UpdateProfileRequest;
+
+UpdateProfileRequest::UpdateProfileRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UpdateProfile")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateProfileRequest::~UpdateProfileRequest()
+{}
+
+std::string UpdateProfileRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UpdateProfileRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int UpdateProfileRequest::getGender()const
+{
+	return gender_;
+}
+
+void UpdateProfileRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string UpdateProfileRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void UpdateProfileRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string UpdateProfileRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void UpdateProfileRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+std::string UpdateProfileRequest::getFaceUrl()const
+{
+	return faceUrl_;
+}
+
+void UpdateProfileRequest::setFaceUrl(const std::string& faceUrl)
+{
+	faceUrl_ = faceUrl;
+	setBodyParameter("FaceUrl", faceUrl);
+}
+
+long UpdateProfileRequest::getProfileId()const
+{
+	return profileId_;
+}
+
+void UpdateProfileRequest::setProfileId(long profileId)
+{
+	profileId_ = profileId;
+	setBodyParameter("ProfileId", std::to_string(profileId));
+}
+
+std::string UpdateProfileRequest::getLiveAddress()const
+{
+	return liveAddress_;
+}
+
+void UpdateProfileRequest::setLiveAddress(const std::string& liveAddress)
+{
+	liveAddress_ = liveAddress;
+	setBodyParameter("LiveAddress", liveAddress);
+}
+
+std::string UpdateProfileRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UpdateProfileRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UpdateProfileRequest::getSceneType()const
+{
+	return sceneType_;
+}
+
+void UpdateProfileRequest::setSceneType(const std::string& sceneType)
+{
+	sceneType_ = sceneType;
+	setBodyParameter("SceneType", sceneType);
+}
+
+std::string UpdateProfileRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void UpdateProfileRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+long UpdateProfileRequest::getCatalogId()const
+{
+	return catalogId_;
+}
+
+void UpdateProfileRequest::setCatalogId(long catalogId)
+{
+	catalogId_ = catalogId;
+	setBodyParameter("CatalogId", std::to_string(catalogId));
+}
+
+std::string UpdateProfileRequest::getName()const
+{
+	return name_;
+}
+
+void UpdateProfileRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setBodyParameter("Name", name);
+}
+
+std::string UpdateProfileRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void UpdateProfileRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+

+ 65 - 0
vcs/src/model/UpdateProfileResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/vcs/model/UpdateProfileResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+UpdateProfileResult::UpdateProfileResult() :
+	ServiceResult()
+{}
+
+UpdateProfileResult::UpdateProfileResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateProfileResult::~UpdateProfileResult()
+{}
+
+void UpdateProfileResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateProfileResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UpdateProfileResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateProfileResult::getCode()const
+{
+	return code_;
+}
+