瀏覽代碼

Export instance relative API.

sdk-team 5 年之前
父節點
當前提交
f1425baf72
共有 63 個文件被更改,包括 3490 次插入111 次删除
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 38 2
      ccc/CMakeLists.txt
  4. 72 0
      ccc/include/alibabacloud/ccc/CCCClient.h
  5. 60 0
      ccc/include/alibabacloud/ccc/model/CreateInstanceRequest.h
  6. 59 0
      ccc/include/alibabacloud/ccc/model/CreateInstanceResult.h
  7. 16 8
      ccc/include/alibabacloud/ccc/model/GetHistoricalInstanceReportResult.h
  8. 1 1
      ccc/include/alibabacloud/ccc/model/GetInstanceTrendingReportResult.h
  9. 1 0
      ccc/include/alibabacloud/ccc/model/GetLoginDetailsResult.h
  10. 1 1
      ccc/include/alibabacloud/ccc/model/GetRealtimeInstanceStatesResult.h
  11. 6 0
      ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h
  12. 14 8
      ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h
  13. 28 13
      ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h
  14. 29 7
      ccc/include/alibabacloud/ccc/model/ListHistoricalSkillGroupReportResult.h
  15. 51 0
      ccc/include/alibabacloud/ccc/model/ListInstancesRequest.h
  16. 96 0
      ccc/include/alibabacloud/ccc/model/ListInstancesResult.h
  17. 32 11
      ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h
  18. 19 8
      ccc/include/alibabacloud/ccc/model/ListIntervalInstanceReportResult.h
  19. 29 7
      ccc/include/alibabacloud/ccc/model/ListIntervalSkillGroupReportResult.h
  20. 51 0
      ccc/include/alibabacloud/ccc/model/ModifyInstanceRequest.h
  21. 59 0
      ccc/include/alibabacloud/ccc/model/ModifyInstanceResult.h
  22. 54 0
      ccc/include/alibabacloud/ccc/model/ResetUserPasswordRequest.h
  23. 55 0
      ccc/include/alibabacloud/ccc/model/ResetUserPasswordResult.h
  24. 63 0
      ccc/include/alibabacloud/ccc/model/SaveRTCStatsV2Request.h
  25. 61 0
      ccc/include/alibabacloud/ccc/model/SaveRTCStatsV2Result.h
  26. 72 0
      ccc/include/alibabacloud/ccc/model/SaveTerminalLogRequest.h
  27. 59 0
      ccc/include/alibabacloud/ccc/model/SaveTerminalLogResult.h
  28. 63 0
      ccc/include/alibabacloud/ccc/model/SaveWebRTCStatsRequest.h
  29. 61 0
      ccc/include/alibabacloud/ccc/model/SaveWebRTCStatsResult.h
  30. 60 0
      ccc/include/alibabacloud/ccc/model/SaveWebRtcInfoRequest.h
  31. 61 0
      ccc/include/alibabacloud/ccc/model/SaveWebRtcInfoResult.h
  32. 57 0
      ccc/include/alibabacloud/ccc/model/UpdateConfigItemsRequest.h
  33. 57 0
      ccc/include/alibabacloud/ccc/model/UpdateConfigItemsResult.h
  34. 324 0
      ccc/src/CCCClient.cc
  35. 84 0
      ccc/src/model/CreateInstanceRequest.cc
  36. 80 0
      ccc/src/model/CreateInstanceResult.cc
  37. 24 8
      ccc/src/model/GetHistoricalInstanceReportResult.cc
  38. 2 2
      ccc/src/model/GetInstanceTrendingReportResult.cc
  39. 2 0
      ccc/src/model/GetLoginDetailsResult.cc
  40. 2 2
      ccc/src/model/GetRealtimeInstanceStatesResult.cc
  41. 22 0
      ccc/src/model/ListCallDetailRecordsRequest.cc
  42. 14 2
      ccc/src/model/ListCallDetailRecordsResult.cc
  43. 36 6
      ccc/src/model/ListHistoricalAgentReportResult.cc
  44. 50 6
      ccc/src/model/ListHistoricalSkillGroupReportResult.cc
  45. 51 0
      ccc/src/model/ListInstancesRequest.cc
  46. 141 0
      ccc/src/model/ListInstancesResult.cc
  47. 46 4
      ccc/src/model/ListIntervalAgentReportResult.cc
  48. 30 8
      ccc/src/model/ListIntervalInstanceReportResult.cc
  49. 50 6
      ccc/src/model/ListIntervalSkillGroupReportResult.cc
  50. 51 0
      ccc/src/model/ModifyInstanceRequest.cc
  51. 80 0
      ccc/src/model/ModifyInstanceResult.cc
  52. 62 0
      ccc/src/model/ResetUserPasswordRequest.cc
  53. 65 0
      ccc/src/model/ResetUserPasswordResult.cc
  54. 95 0
      ccc/src/model/SaveRTCStatsV2Request.cc
  55. 86 0
      ccc/src/model/SaveRTCStatsV2Result.cc
  56. 128 0
      ccc/src/model/SaveTerminalLogRequest.cc
  57. 79 0
      ccc/src/model/SaveTerminalLogResult.cc
  58. 95 0
      ccc/src/model/SaveWebRTCStatsRequest.cc
  59. 86 0
      ccc/src/model/SaveWebRTCStatsResult.cc
  60. 84 0
      ccc/src/model/SaveWebRtcInfoRequest.cc
  61. 86 0
      ccc/src/model/SaveWebRtcInfoResult.cc
  62. 73 0
      ccc/src/model/UpdateConfigItemsRequest.cc
  63. 73 0
      ccc/src/model/UpdateConfigItemsResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-07-23 Version: 1.36.826
+- Export instance relative API.
+
 2021-07-22 Version: 1.36.825
 - Add private-link support.
 - Add download dicts.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.825
+1.36.826

+ 38 - 2
ccc/CMakeLists.txt

@@ -49,6 +49,8 @@ set(ccc_public_header_model
 	include/alibabacloud/ccc/model/CoachCallResult.h
 	include/alibabacloud/ccc/model/CompleteAttendedTransferRequest.h
 	include/alibabacloud/ccc/model/CompleteAttendedTransferResult.h
+	include/alibabacloud/ccc/model/CreateInstanceRequest.h
+	include/alibabacloud/ccc/model/CreateInstanceResult.h
 	include/alibabacloud/ccc/model/CreateSkillGroupRequest.h
 	include/alibabacloud/ccc/model/CreateSkillGroupResult.h
 	include/alibabacloud/ccc/model/CreateUserRequest.h
@@ -107,6 +109,8 @@ set(ccc_public_header_model
 	include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h
 	include/alibabacloud/ccc/model/ListHistoricalSkillGroupReportRequest.h
 	include/alibabacloud/ccc/model/ListHistoricalSkillGroupReportResult.h
+	include/alibabacloud/ccc/model/ListInstancesRequest.h
+	include/alibabacloud/ccc/model/ListInstancesResult.h
 	include/alibabacloud/ccc/model/ListInstancesOfUserRequest.h
 	include/alibabacloud/ccc/model/ListInstancesOfUserResult.h
 	include/alibabacloud/ccc/model/ListIntervalAgentReportRequest.h
@@ -145,6 +149,8 @@ set(ccc_public_header_model
 	include/alibabacloud/ccc/model/ListUsersResult.h
 	include/alibabacloud/ccc/model/MakeCallRequest.h
 	include/alibabacloud/ccc/model/MakeCallResult.h
+	include/alibabacloud/ccc/model/ModifyInstanceRequest.h
+	include/alibabacloud/ccc/model/ModifyInstanceResult.h
 	include/alibabacloud/ccc/model/ModifyPhoneNumberRequest.h
 	include/alibabacloud/ccc/model/ModifyPhoneNumberResult.h
 	include/alibabacloud/ccc/model/ModifySkillGroupRequest.h
@@ -185,8 +191,18 @@ set(ccc_public_header_model
 	include/alibabacloud/ccc/model/RemoveUsersFromSkillGroupResult.h
 	include/alibabacloud/ccc/model/ResetAgentStateRequest.h
 	include/alibabacloud/ccc/model/ResetAgentStateResult.h
+	include/alibabacloud/ccc/model/ResetUserPasswordRequest.h
+	include/alibabacloud/ccc/model/ResetUserPasswordResult.h
 	include/alibabacloud/ccc/model/RetrieveCallRequest.h
 	include/alibabacloud/ccc/model/RetrieveCallResult.h
+	include/alibabacloud/ccc/model/SaveRTCStatsV2Request.h
+	include/alibabacloud/ccc/model/SaveRTCStatsV2Result.h
+	include/alibabacloud/ccc/model/SaveTerminalLogRequest.h
+	include/alibabacloud/ccc/model/SaveTerminalLogResult.h
+	include/alibabacloud/ccc/model/SaveWebRTCStatsRequest.h
+	include/alibabacloud/ccc/model/SaveWebRTCStatsResult.h
+	include/alibabacloud/ccc/model/SaveWebRtcInfoRequest.h
+	include/alibabacloud/ccc/model/SaveWebRtcInfoResult.h
 	include/alibabacloud/ccc/model/SendDtmfSignalingRequest.h
 	include/alibabacloud/ccc/model/SendDtmfSignalingResult.h
 	include/alibabacloud/ccc/model/SignInGroupRequest.h
@@ -198,7 +214,9 @@ set(ccc_public_header_model
 	include/alibabacloud/ccc/model/TakeBreakRequest.h
 	include/alibabacloud/ccc/model/TakeBreakResult.h
 	include/alibabacloud/ccc/model/UnmuteCallRequest.h
-	include/alibabacloud/ccc/model/UnmuteCallResult.h )
+	include/alibabacloud/ccc/model/UnmuteCallResult.h
+	include/alibabacloud/ccc/model/UpdateConfigItemsRequest.h
+	include/alibabacloud/ccc/model/UpdateConfigItemsResult.h )
 
 set(ccc_src 
 	src/CCCClient.cc
@@ -230,6 +248,8 @@ set(ccc_src
 	src/model/CoachCallResult.cc
 	src/model/CompleteAttendedTransferRequest.cc
 	src/model/CompleteAttendedTransferResult.cc
+	src/model/CreateInstanceRequest.cc
+	src/model/CreateInstanceResult.cc
 	src/model/CreateSkillGroupRequest.cc
 	src/model/CreateSkillGroupResult.cc
 	src/model/CreateUserRequest.cc
@@ -288,6 +308,8 @@ set(ccc_src
 	src/model/ListHistoricalAgentReportResult.cc
 	src/model/ListHistoricalSkillGroupReportRequest.cc
 	src/model/ListHistoricalSkillGroupReportResult.cc
+	src/model/ListInstancesRequest.cc
+	src/model/ListInstancesResult.cc
 	src/model/ListInstancesOfUserRequest.cc
 	src/model/ListInstancesOfUserResult.cc
 	src/model/ListIntervalAgentReportRequest.cc
@@ -326,6 +348,8 @@ set(ccc_src
 	src/model/ListUsersResult.cc
 	src/model/MakeCallRequest.cc
 	src/model/MakeCallResult.cc
+	src/model/ModifyInstanceRequest.cc
+	src/model/ModifyInstanceResult.cc
 	src/model/ModifyPhoneNumberRequest.cc
 	src/model/ModifyPhoneNumberResult.cc
 	src/model/ModifySkillGroupRequest.cc
@@ -366,8 +390,18 @@ set(ccc_src
 	src/model/RemoveUsersFromSkillGroupResult.cc
 	src/model/ResetAgentStateRequest.cc
 	src/model/ResetAgentStateResult.cc
+	src/model/ResetUserPasswordRequest.cc
+	src/model/ResetUserPasswordResult.cc
 	src/model/RetrieveCallRequest.cc
 	src/model/RetrieveCallResult.cc
+	src/model/SaveRTCStatsV2Request.cc
+	src/model/SaveRTCStatsV2Result.cc
+	src/model/SaveTerminalLogRequest.cc
+	src/model/SaveTerminalLogResult.cc
+	src/model/SaveWebRTCStatsRequest.cc
+	src/model/SaveWebRTCStatsResult.cc
+	src/model/SaveWebRtcInfoRequest.cc
+	src/model/SaveWebRtcInfoResult.cc
 	src/model/SendDtmfSignalingRequest.cc
 	src/model/SendDtmfSignalingResult.cc
 	src/model/SignInGroupRequest.cc
@@ -379,7 +413,9 @@ set(ccc_src
 	src/model/TakeBreakRequest.cc
 	src/model/TakeBreakResult.cc
 	src/model/UnmuteCallRequest.cc
-	src/model/UnmuteCallResult.cc )
+	src/model/UnmuteCallResult.cc
+	src/model/UpdateConfigItemsRequest.cc
+	src/model/UpdateConfigItemsResult.cc )
 
 add_library(ccc ${LIB_TYPE}
 	${ccc_public_header}

+ 72 - 0
ccc/include/alibabacloud/ccc/CCCClient.h

@@ -50,6 +50,8 @@
 #include "model/CoachCallResult.h"
 #include "model/CompleteAttendedTransferRequest.h"
 #include "model/CompleteAttendedTransferResult.h"
+#include "model/CreateInstanceRequest.h"
+#include "model/CreateInstanceResult.h"
 #include "model/CreateSkillGroupRequest.h"
 #include "model/CreateSkillGroupResult.h"
 #include "model/CreateUserRequest.h"
@@ -108,6 +110,8 @@
 #include "model/ListHistoricalAgentReportResult.h"
 #include "model/ListHistoricalSkillGroupReportRequest.h"
 #include "model/ListHistoricalSkillGroupReportResult.h"
+#include "model/ListInstancesRequest.h"
+#include "model/ListInstancesResult.h"
 #include "model/ListInstancesOfUserRequest.h"
 #include "model/ListInstancesOfUserResult.h"
 #include "model/ListIntervalAgentReportRequest.h"
@@ -146,6 +150,8 @@
 #include "model/ListUsersResult.h"
 #include "model/MakeCallRequest.h"
 #include "model/MakeCallResult.h"
+#include "model/ModifyInstanceRequest.h"
+#include "model/ModifyInstanceResult.h"
 #include "model/ModifyPhoneNumberRequest.h"
 #include "model/ModifyPhoneNumberResult.h"
 #include "model/ModifySkillGroupRequest.h"
@@ -186,8 +192,18 @@
 #include "model/RemoveUsersFromSkillGroupResult.h"
 #include "model/ResetAgentStateRequest.h"
 #include "model/ResetAgentStateResult.h"
+#include "model/ResetUserPasswordRequest.h"
+#include "model/ResetUserPasswordResult.h"
 #include "model/RetrieveCallRequest.h"
 #include "model/RetrieveCallResult.h"
+#include "model/SaveRTCStatsV2Request.h"
+#include "model/SaveRTCStatsV2Result.h"
+#include "model/SaveTerminalLogRequest.h"
+#include "model/SaveTerminalLogResult.h"
+#include "model/SaveWebRTCStatsRequest.h"
+#include "model/SaveWebRTCStatsResult.h"
+#include "model/SaveWebRtcInfoRequest.h"
+#include "model/SaveWebRtcInfoResult.h"
 #include "model/SendDtmfSignalingRequest.h"
 #include "model/SendDtmfSignalingResult.h"
 #include "model/SignInGroupRequest.h"
@@ -200,6 +216,8 @@
 #include "model/TakeBreakResult.h"
 #include "model/UnmuteCallRequest.h"
 #include "model/UnmuteCallResult.h"
+#include "model/UpdateConfigItemsRequest.h"
+#include "model/UpdateConfigItemsResult.h"
 
 
 namespace AlibabaCloud
@@ -251,6 +269,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CompleteAttendedTransferResult> CompleteAttendedTransferOutcome;
 			typedef std::future<CompleteAttendedTransferOutcome> CompleteAttendedTransferOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::CompleteAttendedTransferRequest&, const CompleteAttendedTransferOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CompleteAttendedTransferAsyncHandler;
+			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
+			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
 			typedef Outcome<Error, Model::CreateSkillGroupResult> CreateSkillGroupOutcome;
 			typedef std::future<CreateSkillGroupOutcome> CreateSkillGroupOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::CreateSkillGroupRequest&, const CreateSkillGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSkillGroupAsyncHandler;
@@ -338,6 +359,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListHistoricalSkillGroupReportResult> ListHistoricalSkillGroupReportOutcome;
 			typedef std::future<ListHistoricalSkillGroupReportOutcome> ListHistoricalSkillGroupReportOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::ListHistoricalSkillGroupReportRequest&, const ListHistoricalSkillGroupReportOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListHistoricalSkillGroupReportAsyncHandler;
+			typedef Outcome<Error, Model::ListInstancesResult> ListInstancesOutcome;
+			typedef std::future<ListInstancesOutcome> ListInstancesOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::ListInstancesRequest&, const ListInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInstancesAsyncHandler;
 			typedef Outcome<Error, Model::ListInstancesOfUserResult> ListInstancesOfUserOutcome;
 			typedef std::future<ListInstancesOfUserOutcome> ListInstancesOfUserOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::ListInstancesOfUserRequest&, const ListInstancesOfUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInstancesOfUserAsyncHandler;
@@ -395,6 +419,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::MakeCallResult> MakeCallOutcome;
 			typedef std::future<MakeCallOutcome> MakeCallOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::MakeCallRequest&, const MakeCallOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> MakeCallAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceResult> ModifyInstanceOutcome;
+			typedef std::future<ModifyInstanceOutcome> ModifyInstanceOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::ModifyInstanceRequest&, const ModifyInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAsyncHandler;
 			typedef Outcome<Error, Model::ModifyPhoneNumberResult> ModifyPhoneNumberOutcome;
 			typedef std::future<ModifyPhoneNumberOutcome> ModifyPhoneNumberOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::ModifyPhoneNumberRequest&, const ModifyPhoneNumberOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyPhoneNumberAsyncHandler;
@@ -455,9 +482,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ResetAgentStateResult> ResetAgentStateOutcome;
 			typedef std::future<ResetAgentStateOutcome> ResetAgentStateOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::ResetAgentStateRequest&, const ResetAgentStateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetAgentStateAsyncHandler;
+			typedef Outcome<Error, Model::ResetUserPasswordResult> ResetUserPasswordOutcome;
+			typedef std::future<ResetUserPasswordOutcome> ResetUserPasswordOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::ResetUserPasswordRequest&, const ResetUserPasswordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetUserPasswordAsyncHandler;
 			typedef Outcome<Error, Model::RetrieveCallResult> RetrieveCallOutcome;
 			typedef std::future<RetrieveCallOutcome> RetrieveCallOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::RetrieveCallRequest&, const RetrieveCallOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetrieveCallAsyncHandler;
+			typedef Outcome<Error, Model::SaveRTCStatsV2Result> SaveRTCStatsV2Outcome;
+			typedef std::future<SaveRTCStatsV2Outcome> SaveRTCStatsV2OutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::SaveRTCStatsV2Request&, const SaveRTCStatsV2Outcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveRTCStatsV2AsyncHandler;
+			typedef Outcome<Error, Model::SaveTerminalLogResult> SaveTerminalLogOutcome;
+			typedef std::future<SaveTerminalLogOutcome> SaveTerminalLogOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::SaveTerminalLogRequest&, const SaveTerminalLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveTerminalLogAsyncHandler;
+			typedef Outcome<Error, Model::SaveWebRTCStatsResult> SaveWebRTCStatsOutcome;
+			typedef std::future<SaveWebRTCStatsOutcome> SaveWebRTCStatsOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::SaveWebRTCStatsRequest&, const SaveWebRTCStatsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveWebRTCStatsAsyncHandler;
+			typedef Outcome<Error, Model::SaveWebRtcInfoResult> SaveWebRtcInfoOutcome;
+			typedef std::future<SaveWebRtcInfoOutcome> SaveWebRtcInfoOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::SaveWebRtcInfoRequest&, const SaveWebRtcInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveWebRtcInfoAsyncHandler;
 			typedef Outcome<Error, Model::SendDtmfSignalingResult> SendDtmfSignalingOutcome;
 			typedef std::future<SendDtmfSignalingOutcome> SendDtmfSignalingOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::SendDtmfSignalingRequest&, const SendDtmfSignalingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendDtmfSignalingAsyncHandler;
@@ -476,6 +518,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UnmuteCallResult> UnmuteCallOutcome;
 			typedef std::future<UnmuteCallOutcome> UnmuteCallOutcomeCallable;
 			typedef std::function<void(const CCCClient*, const Model::UnmuteCallRequest&, const UnmuteCallOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnmuteCallAsyncHandler;
+			typedef Outcome<Error, Model::UpdateConfigItemsResult> UpdateConfigItemsOutcome;
+			typedef std::future<UpdateConfigItemsOutcome> UpdateConfigItemsOutcomeCallable;
+			typedef std::function<void(const CCCClient*, const Model::UpdateConfigItemsRequest&, const UpdateConfigItemsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateConfigItemsAsyncHandler;
 
 			CCCClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			CCCClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -523,6 +568,9 @@ namespace AlibabaCloud
 			CompleteAttendedTransferOutcome completeAttendedTransfer(const Model::CompleteAttendedTransferRequest &request)const;
 			void completeAttendedTransferAsync(const Model::CompleteAttendedTransferRequest& request, const CompleteAttendedTransferAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CompleteAttendedTransferOutcomeCallable completeAttendedTransferCallable(const Model::CompleteAttendedTransferRequest& request) const;
+			CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
+			void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
 			CreateSkillGroupOutcome createSkillGroup(const Model::CreateSkillGroupRequest &request)const;
 			void createSkillGroupAsync(const Model::CreateSkillGroupRequest& request, const CreateSkillGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateSkillGroupOutcomeCallable createSkillGroupCallable(const Model::CreateSkillGroupRequest& request) const;
@@ -610,6 +658,9 @@ namespace AlibabaCloud
 			ListHistoricalSkillGroupReportOutcome listHistoricalSkillGroupReport(const Model::ListHistoricalSkillGroupReportRequest &request)const;
 			void listHistoricalSkillGroupReportAsync(const Model::ListHistoricalSkillGroupReportRequest& request, const ListHistoricalSkillGroupReportAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListHistoricalSkillGroupReportOutcomeCallable listHistoricalSkillGroupReportCallable(const Model::ListHistoricalSkillGroupReportRequest& request) const;
+			ListInstancesOutcome listInstances(const Model::ListInstancesRequest &request)const;
+			void listInstancesAsync(const Model::ListInstancesRequest& request, const ListInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListInstancesOutcomeCallable listInstancesCallable(const Model::ListInstancesRequest& request) const;
 			ListInstancesOfUserOutcome listInstancesOfUser(const Model::ListInstancesOfUserRequest &request)const;
 			void listInstancesOfUserAsync(const Model::ListInstancesOfUserRequest& request, const ListInstancesOfUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListInstancesOfUserOutcomeCallable listInstancesOfUserCallable(const Model::ListInstancesOfUserRequest& request) const;
@@ -667,6 +718,9 @@ namespace AlibabaCloud
 			MakeCallOutcome makeCall(const Model::MakeCallRequest &request)const;
 			void makeCallAsync(const Model::MakeCallRequest& request, const MakeCallAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			MakeCallOutcomeCallable makeCallCallable(const Model::MakeCallRequest& request) const;
+			ModifyInstanceOutcome modifyInstance(const Model::ModifyInstanceRequest &request)const;
+			void modifyInstanceAsync(const Model::ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceOutcomeCallable modifyInstanceCallable(const Model::ModifyInstanceRequest& request) const;
 			ModifyPhoneNumberOutcome modifyPhoneNumber(const Model::ModifyPhoneNumberRequest &request)const;
 			void modifyPhoneNumberAsync(const Model::ModifyPhoneNumberRequest& request, const ModifyPhoneNumberAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyPhoneNumberOutcomeCallable modifyPhoneNumberCallable(const Model::ModifyPhoneNumberRequest& request) const;
@@ -727,9 +781,24 @@ namespace AlibabaCloud
 			ResetAgentStateOutcome resetAgentState(const Model::ResetAgentStateRequest &request)const;
 			void resetAgentStateAsync(const Model::ResetAgentStateRequest& request, const ResetAgentStateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResetAgentStateOutcomeCallable resetAgentStateCallable(const Model::ResetAgentStateRequest& request) const;
+			ResetUserPasswordOutcome resetUserPassword(const Model::ResetUserPasswordRequest &request)const;
+			void resetUserPasswordAsync(const Model::ResetUserPasswordRequest& request, const ResetUserPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResetUserPasswordOutcomeCallable resetUserPasswordCallable(const Model::ResetUserPasswordRequest& request) const;
 			RetrieveCallOutcome retrieveCall(const Model::RetrieveCallRequest &request)const;
 			void retrieveCallAsync(const Model::RetrieveCallRequest& request, const RetrieveCallAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RetrieveCallOutcomeCallable retrieveCallCallable(const Model::RetrieveCallRequest& request) const;
+			SaveRTCStatsV2Outcome saveRTCStatsV2(const Model::SaveRTCStatsV2Request &request)const;
+			void saveRTCStatsV2Async(const Model::SaveRTCStatsV2Request& request, const SaveRTCStatsV2AsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveRTCStatsV2OutcomeCallable saveRTCStatsV2Callable(const Model::SaveRTCStatsV2Request& request) const;
+			SaveTerminalLogOutcome saveTerminalLog(const Model::SaveTerminalLogRequest &request)const;
+			void saveTerminalLogAsync(const Model::SaveTerminalLogRequest& request, const SaveTerminalLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveTerminalLogOutcomeCallable saveTerminalLogCallable(const Model::SaveTerminalLogRequest& request) const;
+			SaveWebRTCStatsOutcome saveWebRTCStats(const Model::SaveWebRTCStatsRequest &request)const;
+			void saveWebRTCStatsAsync(const Model::SaveWebRTCStatsRequest& request, const SaveWebRTCStatsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveWebRTCStatsOutcomeCallable saveWebRTCStatsCallable(const Model::SaveWebRTCStatsRequest& request) const;
+			SaveWebRtcInfoOutcome saveWebRtcInfo(const Model::SaveWebRtcInfoRequest &request)const;
+			void saveWebRtcInfoAsync(const Model::SaveWebRtcInfoRequest& request, const SaveWebRtcInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveWebRtcInfoOutcomeCallable saveWebRtcInfoCallable(const Model::SaveWebRtcInfoRequest& request) const;
 			SendDtmfSignalingOutcome sendDtmfSignaling(const Model::SendDtmfSignalingRequest &request)const;
 			void sendDtmfSignalingAsync(const Model::SendDtmfSignalingRequest& request, const SendDtmfSignalingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SendDtmfSignalingOutcomeCallable sendDtmfSignalingCallable(const Model::SendDtmfSignalingRequest& request) const;
@@ -748,6 +817,9 @@ namespace AlibabaCloud
 			UnmuteCallOutcome unmuteCall(const Model::UnmuteCallRequest &request)const;
 			void unmuteCallAsync(const Model::UnmuteCallRequest& request, const UnmuteCallAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnmuteCallOutcomeCallable unmuteCallCallable(const Model::UnmuteCallRequest& request) const;
+			UpdateConfigItemsOutcome updateConfigItems(const Model::UpdateConfigItemsRequest &request)const;
+			void updateConfigItemsAsync(const Model::UpdateConfigItemsRequest& request, const UpdateConfigItemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateConfigItemsOutcomeCallable updateConfigItemsCallable(const Model::UpdateConfigItemsRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 60 - 0
ccc/include/alibabacloud/ccc/model/CreateInstanceRequest.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_CCC_MODEL_CREATEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_CREATEINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT CreateInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateInstanceRequest();
+				~CreateInstanceRequest();
+
+				std::string getAdminRamIdList()const;
+				void setAdminRamIdList(const std::string& adminRamIdList);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getNumberList()const;
+				void setNumberList(const std::string& numberList);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				std::string adminRamIdList_;
+				std::string domainName_;
+				std::string description_;
+				std::string numberList_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_CREATEINSTANCEREQUEST_H_

+ 59 - 0
ccc/include/alibabacloud/ccc/model/CreateInstanceResult.h

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

+ 16 - 8
ccc/include/alibabacloud/ccc/model/GetHistoricalInstanceReportResult.h

@@ -52,7 +52,6 @@ namespace AlibabaCloud
 						long totalRingTime;
 						float handleRate;
 						float averageAbandonedInQueueTime;
-						long callsAbandonedInRinging;
 						long totalAbandonedInIVRTime;
 						float averageWaitTime;
 						long totalTalkTime;
@@ -60,17 +59,19 @@ namespace AlibabaCloud
 						long callsQueued;
 						long maxTalkTime;
 						float averageAbandonedInIVRTime;
+						float satisfactionRate;
 						long totalAbandonTime;
 						float averageTalkTime;
 						long maxHoldTime;
 						long callsAbandonedInIVR;
-						long callsConsulted;
+						long callsBlindTransferred;
 						long maxAbandonedInQueueTime;
 						long satisfactionSurveysOffered;
+						long callsAbandonedInRing;
 						long callsHandled;
 						long maxWaitTime;
 						long satisfactionSurveysResponded;
-						long callsTransferred;
+						long callsAttendedTransferred;
 						float averageRingTime;
 						long maxAbandonTime;
 						long totalWaitTime;
@@ -85,24 +86,30 @@ namespace AlibabaCloud
 					{
 						long totalDialingTime;
 						long totalWorkTime;
+						long callsRinged;
 						long totalHoldTime;
 						float averageHoldTime;
-						long callsDialedSuccess;
-						long satisfactionSurveysOffered;
+						long maxRingTime;
 						int callsHold;
 						float satisfactionIndex;
-						long satisfactionSurveysResponded;
+						long totalRingTime;
 						float averageDialingTime;
 						long callsAnswered;
 						long callsDialed;
 						long totalTalkTime;
 						long maxDialingTime;
 						long maxTalkTime;
-						float averageWorkTime;
-						long maxWorkTime;
+						float satisfactionRate;
 						float answerRate;
 						float averageTalkTime;
 						long maxHoldTime;
+						long callsBlindTransferred;
+						long satisfactionSurveysOffered;
+						long satisfactionSurveysResponded;
+						long callsAttendedTransferred;
+						float averageRingTime;
+						float averageWorkTime;
+						long maxWorkTime;
 					};
 					struct Overall
 					{
@@ -122,6 +129,7 @@ namespace AlibabaCloud
 						long maxTalkTime;
 						float averageWorkTime;
 						long maxReadyTime;
+						float satisfactionRate;
 						long maxBreakTime;
 						long maxWorkTime;
 						float averageTalkTime;

+ 1 - 1
ccc/include/alibabacloud/ccc/model/GetInstanceTrendingReportResult.h

@@ -36,10 +36,10 @@ namespace AlibabaCloud
 				{
 					struct InboundItem
 					{
-						long callsAbandonedInRinging;
 						long totalCalls;
 						long callsAbandonedInQueue;
 						long callsQueued;
+						long callsAbandonedInRing;
 						long callsHandled;
 						long callsAbandonedInIVR;
 						long statsTime;

+ 1 - 0
ccc/include/alibabacloud/ccc/model/GetLoginDetailsResult.h

@@ -35,6 +35,7 @@ namespace AlibabaCloud
 				struct Data
 				{
 					std::string extension;
+					std::string agentServerUrl;
 					std::string deviceId;
 					std::string sipServerUrl;
 					std::string userId;

+ 1 - 1
ccc/include/alibabacloud/ccc/model/GetRealtimeInstanceStatesResult.h

@@ -36,11 +36,11 @@ namespace AlibabaCloud
 				{
 					long breakingAgents;
 					long talkingAgents;
+					long longestWaitingTime;
 					std::string instanceId;
 					long loggedInAgents;
 					long readyAgents;
 					long waitingCalls;
-					long longestCall;
 					long interactiveCalls;
 					long totalAgents;
 					long workingAgents;

+ 6 - 0
ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				std::string getContactId()const;
 				void setContactId(const std::string& contactId);
+				std::string getCriteria()const;
+				void setCriteria(const std::string& criteria);
 				std::string getOrderByField()const;
 				void setOrderByField(const std::string& orderByField);
 				long getStartTime()const;
@@ -51,6 +53,8 @@ namespace AlibabaCloud
 				void setPageSize(int pageSize);
 				std::string getSortOrder()const;
 				void setSortOrder(const std::string& sortOrder);
+				std::string getSatisfactionDescriptionList()const;
+				void setSatisfactionDescriptionList(const std::string& satisfactionDescriptionList);
 				std::string getAgentId()const;
 				void setAgentId(const std::string& agentId);
 				std::string getContactType()const;
@@ -70,6 +74,7 @@ namespace AlibabaCloud
 
             private:
 				std::string contactId_;
+				std::string criteria_;
 				std::string orderByField_;
 				long startTime_;
 				int pageNumber_;
@@ -77,6 +82,7 @@ namespace AlibabaCloud
 				std::string satisfactionList_;
 				int pageSize_;
 				std::string sortOrder_;
+				std::string satisfactionDescriptionList_;
 				std::string agentId_;
 				std::string contactType_;
 				std::string satisfactionSurveyChannel_;

+ 14 - 8
ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h

@@ -36,25 +36,31 @@ namespace AlibabaCloud
 				{
 					struct CallDetailRecord
 					{
-						std::string skillGroupIds;
 						std::string calledNumber;
+						long ivrTime;
 						std::string contactType;
 						std::string contactDisposition;
+						int satisfactionIndex;
+						std::string contactId;
+						std::string callingNumber;
+						bool recordingReady;
+						std::string skillGroupNames;
+						bool satisfactionSurveyOffered;
+						long establishedTime;
+						long queueTime;
+						std::string skillGroupIds;
 						std::string instanceId;
 						std::string releaseInitiator;
-						int satisfaction;
 						long startTime;
-						std::string contactId;
+						long ringTime;
 						std::string callDuration;
-						std::string callingNumber;
-						bool recordingReady;
 						long releaseTime;
-						std::string skillGroupNames;
 						std::string satisfactionSurveyChannel;
 						std::string agentIds;
-						bool satisfactionSurveyOffered;
-						long establishedTime;
+						std::string satisfactionDescription;
+						long waitTime;
 						std::string agentNames;
+						long recordingDuration;
 					};
 					int totalCount;
 					int pageSize;

+ 28 - 13
ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h

@@ -38,50 +38,62 @@ namespace AlibabaCloud
 					{
 						struct Inbound
 						{
-							long callsConsulted;
 							long totalWorkTime;
+							long callsRinged;
 							long totalHoldTime;
 							float averageHoldTime;
-							long satisfactionSurveysOffered;
 							long callsOffered;
 							long maxRingTime;
 							long callsHold;
 							float satisfactionIndex;
-							long callsHandled;
-							long satisfactionSurveysResponded;
 							long totalRingTime;
 							float handleRate;
-							long callsTransferred;
-							float averageRingTime;
 							long totalTalkTime;
 							long maxTalkTime;
-							float averageWorkTime;
-							long maxWorkTime;
+							float satisfactionRate;
+							long callsAttendedTransferOut;
 							float averageTalkTime;
 							long maxHoldTime;
+							long satisfactionSurveysOffered;
+							long callsHandled;
+							long satisfactionSurveysResponded;
+							long callsAttendedTransferIn;
+							float averageRingTime;
+							float averageWorkTime;
+							long callsBlindTransferOut;
+							long callsBlindTransferIn;
+							long maxWorkTime;
 						};
 						struct Outbound
 						{
 							long totalDialingTime;
 							long totalWorkTime;
+							long callsRinged;
 							long totalHoldTime;
 							float averageHoldTime;
-							long callsDialedSuccess;
-							long satisfactionSurveysOffered;
+							long maxRingTime;
 							long callsHold;
 							float satisfactionIndex;
-							long satisfactionSurveysResponded;
+							long totalRingTime;
 							float averageDialingTime;
 							long callsAnswered;
 							long callsDialed;
 							long totalTalkTime;
 							long maxDialingTime;
 							long maxTalkTime;
-							float averageWorkTime;
-							long maxWorkTime;
+							float satisfactionRate;
+							long callsAttendedTransferOut;
 							float answerRate;
 							float averageTalkTime;
 							long maxHoldTime;
+							long satisfactionSurveysOffered;
+							long satisfactionSurveysResponded;
+							long callsAttendedTransferIn;
+							float averageRingTime;
+							float averageWorkTime;
+							long callsBlindTransferOut;
+							long callsBlindTransferIn;
+							long maxWorkTime;
 						};
 						struct Overall
 						{
@@ -90,6 +102,7 @@ namespace AlibabaCloud
 							long totalCalls;
 							long totalWorkTime;
 							long totalHoldTime;
+							float averageHoldTime;
 							long satisfactionSurveysOffered;
 							float satisfactionIndex;
 							float averageBreakTime;
@@ -100,9 +113,11 @@ namespace AlibabaCloud
 							long maxTalkTime;
 							float averageWorkTime;
 							long maxReadyTime;
+							float satisfactionRate;
 							long maxBreakTime;
 							long maxWorkTime;
 							float averageTalkTime;
+							long maxHoldTime;
 							float occupancyRate;
 						};
 						Outbound outbound;

+ 29 - 7
ccc/include/alibabacloud/ccc/model/ListHistoricalSkillGroupReportResult.h

@@ -43,6 +43,7 @@ namespace AlibabaCloud
 							long totalWorkTime;
 							long callsRinged;
 							long totalHoldTime;
+							float averageHoldTime;
 							long callsAbandoned;
 							long callsOffered;
 							long maxRingTime;
@@ -52,28 +53,34 @@ namespace AlibabaCloud
 							long totalRingTime;
 							float handleRate;
 							float averageAbandonedInQueueTime;
-							long callsAbandonedInRinging;
 							float averageWaitTime;
 							long totalTalkTime;
 							long totalAbandonedInRingTime;
 							long callsQueued;
 							long maxTalkTime;
+							float satisfactionRate;
+							long callsAttendedTransferOut;
 							long totalAbandonTime;
 							float averageTalkTime;
-							long callsConsulted;
+							long maxHoldTime;
 							long maxAbandonedInQueueTime;
+							long callsTimeout;
 							long satisfactionSurveysOffered;
+							long callsAbandonedInRing;
 							long callsHandled;
+							long callsOverflow;
 							long maxWaitTime;
 							long satisfactionSurveysResponded;
-							long callsTransferred;
+							long callsAttendedTransferIn;
 							float averageRingTime;
 							long maxAbandonTime;
 							long totalWaitTime;
 							float averageAbandonTime;
 							float averageAbandonedInRingTime;
 							float averageWorkTime;
+							long callsBlindTransferOut;
 							long totalAbandonedInQueueTime;
+							long callsBlindTransferIn;
 							long maxWorkTime;
 							float abandonRate;
 						};
@@ -81,20 +88,32 @@ namespace AlibabaCloud
 						{
 							long totalDialingTime;
 							long totalWorkTime;
+							long callsRinged;
 							long totalHoldTime;
-							long satisfactionSurveysOffered;
+							float averageHoldTime;
+							long maxRingTime;
+							long callsHold;
 							float satisfactionIndex;
-							long satisfactionSurveysResponded;
+							long totalRingTime;
 							float averageDialingTime;
 							long callsAnswered;
 							long callsDialed;
 							long totalTalkTime;
 							long maxDialingTime;
 							long maxTalkTime;
-							float averageWorkTime;
-							long maxWorkTime;
+							float satisfactionRate;
+							long callsAttendedTransferOut;
 							float answerRate;
 							float averageTalkTime;
+							long maxHoldTime;
+							long satisfactionSurveysOffered;
+							long satisfactionSurveysResponded;
+							long callsAttendedTransferIn;
+							float averageRingTime;
+							float averageWorkTime;
+							long callsBlindTransferOut;
+							long callsBlindTransferIn;
+							long maxWorkTime;
 						};
 						struct Overall
 						{
@@ -103,6 +122,7 @@ namespace AlibabaCloud
 							long totalCalls;
 							long totalWorkTime;
 							long totalHoldTime;
+							float averageHoldTime;
 							long satisfactionSurveysOffered;
 							float satisfactionIndex;
 							float averageBreakTime;
@@ -113,9 +133,11 @@ namespace AlibabaCloud
 							long maxTalkTime;
 							float averageWorkTime;
 							long maxReadyTime;
+							float satisfactionRate;
 							long maxBreakTime;
 							long maxWorkTime;
 							float averageTalkTime;
+							long maxHoldTime;
 							float occupancyRate;
 						};
 						Outbound outbound;

+ 51 - 0
ccc/include/alibabacloud/ccc/model/ListInstancesRequest.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_CCC_MODEL_LISTINSTANCESREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_LISTINSTANCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT ListInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListInstancesRequest();
+				~ListInstancesRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_LISTINSTANCESREQUEST_H_

+ 96 - 0
ccc/include/alibabacloud/ccc/model/ListInstancesResult.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_CCC_MODEL_LISTINSTANCESRESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_LISTINSTANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT ListInstancesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct CallCenterInstance
+					{
+						struct User
+						{
+							std::string extension;
+							std::string loginName;
+							std::string roleName;
+							std::string email;
+							std::string instanceId;
+							std::string userId;
+							std::string displayName;
+							std::string mobile;
+							std::string roleId;
+							std::string workMode;
+						};
+						struct PhoneNumber
+						{
+							std::string number;
+						};
+						std::string status;
+						std::vector<CallCenterInstance::User> adminList;
+						std::string description;
+						std::string consoleUrl;
+						std::string domainName;
+						std::string aliyunUid;
+						long createTime;
+						std::vector<CallCenterInstance::PhoneNumber> numberList;
+						std::string id;
+						std::string name;
+					};
+					int totalCount;
+					int pageSize;
+					int pageNumber;
+					std::vector<CallCenterInstance> list;
+				};
+
+
+				ListInstancesResult();
+				explicit ListInstancesResult(const std::string &payload);
+				~ListInstancesResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				std::vector<std::string> getParams()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				std::vector<std::string> params_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_LISTINSTANCESRESULT_H_

+ 32 - 11
ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h

@@ -36,44 +36,62 @@ namespace AlibabaCloud
 				{
 					struct Inbound
 					{
-						long callsConsulted;
 						long totalWorkTime;
+						long callsRinged;
 						long totalHoldTime;
-						long satisfactionSurveysOffered;
+						float averageHoldTime;
 						long callsOffered;
 						long maxRingTime;
 						long callsHold;
 						float satisfactionIndex;
-						long callsHandled;
-						long satisfactionSurveysResponded;
 						long totalRingTime;
 						float handleRate;
-						long callsTransferred;
-						float averageRingTime;
 						long totalTalkTime;
 						long maxTalkTime;
+						float satisfactionRate;
+						long callsAttendedTransferOut;
+						float averageTalkTime;
+						long maxHoldTime;
+						long satisfactionSurveysOffered;
+						long callsHandled;
+						long satisfactionSurveysResponded;
+						long callsAttendedTransferIn;
+						float averageRingTime;
 						float averageWorkTime;
+						long callsBlindTransferOut;
+						long callsBlindTransferIn;
 						long maxWorkTime;
-						float averageTalkTime;
 					};
 					struct Outbound
 					{
 						long totalDialingTime;
 						long totalWorkTime;
+						long callsRinged;
 						long totalHoldTime;
-						long satisfactionSurveysOffered;
+						float averageHoldTime;
+						long maxRingTime;
+						long callsHold;
 						float satisfactionIndex;
-						long satisfactionSurveysResponded;
+						long totalRingTime;
 						float averageDialingTime;
 						long callsAnswered;
 						long callsDialed;
 						long totalTalkTime;
 						long maxDialingTime;
 						long maxTalkTime;
-						float averageWorkTime;
-						long maxWorkTime;
+						float satisfactionRate;
+						long callsAttendedTransferOut;
 						float answerRate;
 						float averageTalkTime;
+						long maxHoldTime;
+						long satisfactionSurveysOffered;
+						long satisfactionSurveysResponded;
+						long callsAttendedTransferIn;
+						float averageRingTime;
+						float averageWorkTime;
+						long callsBlindTransferOut;
+						long callsBlindTransferIn;
+						long maxWorkTime;
 					};
 					struct Overall
 					{
@@ -83,6 +101,7 @@ namespace AlibabaCloud
 						long totalCalls;
 						long totalWorkTime;
 						long totalHoldTime;
+						float averageHoldTime;
 						long satisfactionSurveysOffered;
 						float satisfactionIndex;
 						float averageBreakTime;
@@ -94,9 +113,11 @@ namespace AlibabaCloud
 						long maxTalkTime;
 						float averageWorkTime;
 						long maxReadyTime;
+						float satisfactionRate;
 						long maxBreakTime;
 						long maxWorkTime;
 						float averageTalkTime;
+						long maxHoldTime;
 						float occupancyRate;
 					};
 					Outbound outbound;

+ 19 - 8
ccc/include/alibabacloud/ccc/model/ListIntervalInstanceReportResult.h

@@ -52,7 +52,6 @@ namespace AlibabaCloud
 						long totalRingTime;
 						float handleRate;
 						float averageAbandonedInQueueTime;
-						long callsAbandonedInRinging;
 						long totalAbandonedInIVRTime;
 						float averageWaitTime;
 						long totalTalkTime;
@@ -60,17 +59,19 @@ namespace AlibabaCloud
 						long callsQueued;
 						long maxTalkTime;
 						float averageAbandonedInIVRTime;
+						float satisfactionRate;
 						long totalAbandonTime;
 						float averageTalkTime;
 						long maxHoldTime;
 						long callsAbandonedInIVR;
-						long callsConsulted;
+						long callsBlindTransferred;
 						long maxAbandonedInQueueTime;
 						long satisfactionSurveysOffered;
+						long callsAbandonedInRing;
 						long callsHandled;
 						long maxWaitTime;
 						long satisfactionSurveysResponded;
-						long callsTransferred;
+						long callsAttendedTransferred;
 						float averageRingTime;
 						long maxAbandonTime;
 						long totalWaitTime;
@@ -85,21 +86,30 @@ namespace AlibabaCloud
 					{
 						long totalDialingTime;
 						long totalWorkTime;
+						long callsRinged;
 						long totalHoldTime;
-						long callsDialedSuccess;
-						long satisfactionSurveysOffered;
+						float averageHoldTime;
+						long maxRingTime;
+						long callsHold;
 						float satisfactionIndex;
-						long satisfactionSurveysResponded;
+						long totalRingTime;
 						float averageDialingTime;
 						long callsAnswered;
 						long callsDialed;
 						long totalTalkTime;
 						long maxDialingTime;
 						long maxTalkTime;
-						float averageWorkTime;
-						long maxWorkTime;
+						float satisfactionRate;
 						float answerRate;
 						float averageTalkTime;
+						long maxHoldTime;
+						long callsBlindTransferred;
+						long satisfactionSurveysOffered;
+						long satisfactionSurveysResponded;
+						long callsAttendedTransferred;
+						float averageRingTime;
+						float averageWorkTime;
+						long maxWorkTime;
 					};
 					struct Overall
 					{
@@ -119,6 +129,7 @@ namespace AlibabaCloud
 						long maxTalkTime;
 						float averageWorkTime;
 						long maxReadyTime;
+						float satisfactionRate;
 						long maxBreakTime;
 						long maxWorkTime;
 						float averageTalkTime;

+ 29 - 7
ccc/include/alibabacloud/ccc/model/ListIntervalSkillGroupReportResult.h

@@ -41,6 +41,7 @@ namespace AlibabaCloud
 						long totalWorkTime;
 						long callsRinged;
 						long totalHoldTime;
+						float averageHoldTime;
 						long callsAbandoned;
 						long callsOffered;
 						long maxRingTime;
@@ -50,28 +51,34 @@ namespace AlibabaCloud
 						long totalRingTime;
 						float handleRate;
 						float averageAbandonedInQueueTime;
-						long callsAbandonedInRinging;
 						float averageWaitTime;
 						long totalTalkTime;
 						long totalAbandonedInRingTime;
 						long callsQueued;
 						long maxTalkTime;
+						float satisfactionRate;
+						long callsAttendedTransferOut;
 						long totalAbandonTime;
 						float averageTalkTime;
-						long callsConsulted;
+						long maxHoldTime;
 						long maxAbandonedInQueueTime;
+						long callsTimeout;
 						long satisfactionSurveysOffered;
+						long callsAbandonedInRing;
 						long callsHandled;
+						long callsOverflow;
 						long maxWaitTime;
 						long satisfactionSurveysResponded;
-						long callsTransferred;
+						long callsAttendedTransferIn;
 						float averageRingTime;
 						long maxAbandonTime;
 						long totalWaitTime;
 						float averageAbandonTime;
 						float averageAbandonedInRingTime;
 						float averageWorkTime;
+						long callsBlindTransferOut;
 						long totalAbandonedInQueueTime;
+						long callsBlindTransferIn;
 						long maxWorkTime;
 						float abandonRate;
 					};
@@ -79,20 +86,32 @@ namespace AlibabaCloud
 					{
 						long totalDialingTime;
 						long totalWorkTime;
+						long callsRinged;
 						long totalHoldTime;
-						long satisfactionSurveysOffered;
+						float averageHoldTime;
+						long maxRingTime;
+						long callsHold;
 						float satisfactionIndex;
-						long satisfactionSurveysResponded;
+						long totalRingTime;
 						float averageDialingTime;
 						long callsAnswered;
 						long callsDialed;
 						long totalTalkTime;
 						long maxDialingTime;
 						long maxTalkTime;
-						float averageWorkTime;
-						long maxWorkTime;
+						float satisfactionRate;
+						long callsAttendedTransferOut;
 						float answerRate;
 						float averageTalkTime;
+						long maxHoldTime;
+						long satisfactionSurveysOffered;
+						long satisfactionSurveysResponded;
+						long callsAttendedTransferIn;
+						float averageRingTime;
+						float averageWorkTime;
+						long callsBlindTransferOut;
+						long callsBlindTransferIn;
+						long maxWorkTime;
 					};
 					struct Overall
 					{
@@ -101,6 +120,7 @@ namespace AlibabaCloud
 						long totalCalls;
 						long totalWorkTime;
 						long totalHoldTime;
+						float averageHoldTime;
 						long satisfactionSurveysOffered;
 						float satisfactionIndex;
 						float averageBreakTime;
@@ -111,9 +131,11 @@ namespace AlibabaCloud
 						long maxTalkTime;
 						float averageWorkTime;
 						long maxReadyTime;
+						float satisfactionRate;
 						long maxBreakTime;
 						long maxWorkTime;
 						float averageTalkTime;
+						long maxHoldTime;
 						float occupancyRate;
 					};
 					Outbound outbound;

+ 51 - 0
ccc/include/alibabacloud/ccc/model/ModifyInstanceRequest.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_CCC_MODEL_MODIFYINSTANCEREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_MODIFYINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT ModifyInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceRequest();
+				~ModifyInstanceRequest();
+
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				std::string description_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_MODIFYINSTANCEREQUEST_H_

+ 59 - 0
ccc/include/alibabacloud/ccc/model/ModifyInstanceResult.h

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

+ 54 - 0
ccc/include/alibabacloud/ccc/model/ResetUserPasswordRequest.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_CCC_MODEL_RESETUSERPASSWORDREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_RESETUSERPASSWORDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT ResetUserPasswordRequest : public RpcServiceRequest
+			{
+
+			public:
+				ResetUserPasswordRequest();
+				~ResetUserPasswordRequest();
+
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				std::string userId_;
+				std::string password_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_RESETUSERPASSWORDREQUEST_H_

+ 55 - 0
ccc/include/alibabacloud/ccc/model/ResetUserPasswordResult.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_CCC_MODEL_RESETUSERPASSWORDRESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_RESETUSERPASSWORDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT ResetUserPasswordResult : public ServiceResult
+			{
+			public:
+
+
+				ResetUserPasswordResult();
+				explicit ResetUserPasswordResult(const std::string &payload);
+				~ResetUserPasswordResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_RESETUSERPASSWORDRESULT_H_

+ 63 - 0
ccc/include/alibabacloud/ccc/model/SaveRTCStatsV2Request.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_CCC_MODEL_SAVERTCSTATSV2REQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVERTCSTATSV2REQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveRTCStatsV2Request : public RpcServiceRequest
+			{
+
+			public:
+				SaveRTCStatsV2Request();
+				~SaveRTCStatsV2Request();
+
+				std::string getCallId()const;
+				void setCallId(const std::string& callId);
+				std::string getSenderReport()const;
+				void setSenderReport(const std::string& senderReport);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getReceiverReport()const;
+				void setReceiverReport(const std::string& receiverReport);
+				std::string getGoogAddress()const;
+				void setGoogAddress(const std::string& googAddress);
+				std::string getGeneralInfo()const;
+				void setGeneralInfo(const std::string& generalInfo);
+
+            private:
+				std::string callId_;
+				std::string senderReport_;
+				std::string instanceId_;
+				std::string receiverReport_;
+				std::string googAddress_;
+				std::string generalInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVERTCSTATSV2REQUEST_H_

+ 61 - 0
ccc/include/alibabacloud/ccc/model/SaveRTCStatsV2Result.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_CCC_MODEL_SAVERTCSTATSV2RESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVERTCSTATSV2RESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveRTCStatsV2Result : public ServiceResult
+			{
+			public:
+
+
+				SaveRTCStatsV2Result();
+				explicit SaveRTCStatsV2Result(const std::string &payload);
+				~SaveRTCStatsV2Result();
+				std::string getMessage()const;
+				long getHttpStatusCode()const;
+				long getRowCount()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				long getTimeStamp()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				long httpStatusCode_;
+				long rowCount_;
+				std::string code_;
+				bool success_;
+				long timeStamp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVERTCSTATSV2RESULT_H_

+ 72 - 0
ccc/include/alibabacloud/ccc/model/SaveTerminalLogRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CCC_MODEL_SAVETERMINALLOGREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVETERMINALLOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveTerminalLogRequest : public RpcServiceRequest
+			{
+
+			public:
+				SaveTerminalLogRequest();
+				~SaveTerminalLogRequest();
+
+				std::string getCallId()const;
+				void setCallId(const std::string& callId);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getUniqueRequestId()const;
+				void setUniqueRequestId(const std::string& uniqueRequestId);
+				std::string getJobId()const;
+				void setJobId(const std::string& jobId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getAppName()const;
+				void setAppName(const std::string& appName);
+				int getDataType()const;
+				void setDataType(int dataType);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+				std::string getMethodName()const;
+				void setMethodName(const std::string& methodName);
+
+            private:
+				std::string callId_;
+				std::string content_;
+				std::string uniqueRequestId_;
+				std::string jobId_;
+				std::string instanceId_;
+				std::string appName_;
+				int dataType_;
+				std::string status_;
+				std::string methodName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVETERMINALLOGREQUEST_H_

+ 59 - 0
ccc/include/alibabacloud/ccc/model/SaveTerminalLogResult.h

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

+ 63 - 0
ccc/include/alibabacloud/ccc/model/SaveWebRTCStatsRequest.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_CCC_MODEL_SAVEWEBRTCSTATSREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCSTATSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveWebRTCStatsRequest : public RpcServiceRequest
+			{
+
+			public:
+				SaveWebRTCStatsRequest();
+				~SaveWebRTCStatsRequest();
+
+				std::string getCallId()const;
+				void setCallId(const std::string& callId);
+				std::string getSenderReport()const;
+				void setSenderReport(const std::string& senderReport);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getReceiverReport()const;
+				void setReceiverReport(const std::string& receiverReport);
+				std::string getGoogAddress()const;
+				void setGoogAddress(const std::string& googAddress);
+				std::string getGeneralInfo()const;
+				void setGeneralInfo(const std::string& generalInfo);
+
+            private:
+				std::string callId_;
+				std::string senderReport_;
+				std::string instanceId_;
+				std::string receiverReport_;
+				std::string googAddress_;
+				std::string generalInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCSTATSREQUEST_H_

+ 61 - 0
ccc/include/alibabacloud/ccc/model/SaveWebRTCStatsResult.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_CCC_MODEL_SAVEWEBRTCSTATSRESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCSTATSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveWebRTCStatsResult : public ServiceResult
+			{
+			public:
+
+
+				SaveWebRTCStatsResult();
+				explicit SaveWebRTCStatsResult(const std::string &payload);
+				~SaveWebRTCStatsResult();
+				std::string getMessage()const;
+				long getHttpStatusCode()const;
+				long getRowCount()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				long getTimeStamp()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				long httpStatusCode_;
+				long rowCount_;
+				std::string code_;
+				bool success_;
+				long timeStamp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCSTATSRESULT_H_

+ 60 - 0
ccc/include/alibabacloud/ccc/model/SaveWebRtcInfoRequest.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_CCC_MODEL_SAVEWEBRTCINFOREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveWebRtcInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				SaveWebRtcInfoRequest();
+				~SaveWebRtcInfoRequest();
+
+				std::string getCallId()const;
+				void setCallId(const std::string& callId);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getContentType()const;
+				void setContentType(const std::string& contentType);
+				std::string getJobId()const;
+				void setJobId(const std::string& jobId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				std::string callId_;
+				std::string content_;
+				std::string contentType_;
+				std::string jobId_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCINFOREQUEST_H_

+ 61 - 0
ccc/include/alibabacloud/ccc/model/SaveWebRtcInfoResult.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_CCC_MODEL_SAVEWEBRTCINFORESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT SaveWebRtcInfoResult : public ServiceResult
+			{
+			public:
+
+
+				SaveWebRtcInfoResult();
+				explicit SaveWebRtcInfoResult(const std::string &payload);
+				~SaveWebRtcInfoResult();
+				std::string getMessage()const;
+				long getHttpStatusCode()const;
+				long getRowCount()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				long getTimeStamp()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				long httpStatusCode_;
+				long rowCount_;
+				std::string code_;
+				bool success_;
+				long timeStamp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_SAVEWEBRTCINFORESULT_H_

+ 57 - 0
ccc/include/alibabacloud/ccc/model/UpdateConfigItemsRequest.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_CCC_MODEL_UPDATECONFIGITEMSREQUEST_H_
+#define ALIBABACLOUD_CCC_MODEL_UPDATECONFIGITEMSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT UpdateConfigItemsRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateConfigItemsRequest();
+				~UpdateConfigItemsRequest();
+
+				std::string getConfigItems()const;
+				void setConfigItems(const std::string& configItems);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getObjectType()const;
+				void setObjectType(const std::string& objectType);
+				std::string getObjectId()const;
+				void setObjectId(const std::string& objectId);
+
+            private:
+				std::string configItems_;
+				std::string instanceId_;
+				std::string objectType_;
+				std::string objectId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_UPDATECONFIGITEMSREQUEST_H_

+ 57 - 0
ccc/include/alibabacloud/ccc/model/UpdateConfigItemsResult.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_CCC_MODEL_UPDATECONFIGITEMSRESULT_H_
+#define ALIBABACLOUD_CCC_MODEL_UPDATECONFIGITEMSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ccc/CCCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CCC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CCC_EXPORT UpdateConfigItemsResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateConfigItemsResult();
+				explicit UpdateConfigItemsResult(const std::string &payload);
+				~UpdateConfigItemsResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				std::vector<std::string> getParams()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				std::vector<std::string> params_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CCC_MODEL_UPDATECONFIGITEMSRESULT_H_

+ 324 - 0
ccc/src/CCCClient.cc

@@ -555,6 +555,42 @@ CCCClient::CompleteAttendedTransferOutcomeCallable CCCClient::completeAttendedTr
 	return task->get_future();
 }
 
+CCCClient::CreateInstanceOutcome CCCClient::createInstance(const CreateInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateInstanceOutcome(CreateInstanceResult(outcome.result()));
+	else
+		return CreateInstanceOutcome(outcome.error());
+}
+
+void CCCClient::createInstanceAsync(const CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::CreateInstanceOutcomeCallable CCCClient::createInstanceCallable(const CreateInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->createInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CCCClient::CreateSkillGroupOutcome CCCClient::createSkillGroup(const CreateSkillGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1599,6 +1635,42 @@ CCCClient::ListHistoricalSkillGroupReportOutcomeCallable CCCClient::listHistoric
 	return task->get_future();
 }
 
+CCCClient::ListInstancesOutcome CCCClient::listInstances(const ListInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListInstancesOutcome(ListInstancesResult(outcome.result()));
+	else
+		return ListInstancesOutcome(outcome.error());
+}
+
+void CCCClient::listInstancesAsync(const ListInstancesRequest& request, const ListInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::ListInstancesOutcomeCallable CCCClient::listInstancesCallable(const ListInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->listInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CCCClient::ListInstancesOfUserOutcome CCCClient::listInstancesOfUser(const ListInstancesOfUserRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2283,6 +2355,42 @@ CCCClient::MakeCallOutcomeCallable CCCClient::makeCallCallable(const MakeCallReq
 	return task->get_future();
 }
 
+CCCClient::ModifyInstanceOutcome CCCClient::modifyInstance(const ModifyInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceOutcome(ModifyInstanceResult(outcome.result()));
+	else
+		return ModifyInstanceOutcome(outcome.error());
+}
+
+void CCCClient::modifyInstanceAsync(const ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::ModifyInstanceOutcomeCallable CCCClient::modifyInstanceCallable(const ModifyInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CCCClient::ModifyPhoneNumberOutcome CCCClient::modifyPhoneNumber(const ModifyPhoneNumberRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3003,6 +3111,42 @@ CCCClient::ResetAgentStateOutcomeCallable CCCClient::resetAgentStateCallable(con
 	return task->get_future();
 }
 
+CCCClient::ResetUserPasswordOutcome CCCClient::resetUserPassword(const ResetUserPasswordRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ResetUserPasswordOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ResetUserPasswordOutcome(ResetUserPasswordResult(outcome.result()));
+	else
+		return ResetUserPasswordOutcome(outcome.error());
+}
+
+void CCCClient::resetUserPasswordAsync(const ResetUserPasswordRequest& request, const ResetUserPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, resetUserPassword(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::ResetUserPasswordOutcomeCallable CCCClient::resetUserPasswordCallable(const ResetUserPasswordRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ResetUserPasswordOutcome()>>(
+			[this, request]()
+			{
+			return this->resetUserPassword(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CCCClient::RetrieveCallOutcome CCCClient::retrieveCall(const RetrieveCallRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3039,6 +3183,150 @@ CCCClient::RetrieveCallOutcomeCallable CCCClient::retrieveCallCallable(const Ret
 	return task->get_future();
 }
 
+CCCClient::SaveRTCStatsV2Outcome CCCClient::saveRTCStatsV2(const SaveRTCStatsV2Request &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveRTCStatsV2Outcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveRTCStatsV2Outcome(SaveRTCStatsV2Result(outcome.result()));
+	else
+		return SaveRTCStatsV2Outcome(outcome.error());
+}
+
+void CCCClient::saveRTCStatsV2Async(const SaveRTCStatsV2Request& request, const SaveRTCStatsV2AsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveRTCStatsV2(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::SaveRTCStatsV2OutcomeCallable CCCClient::saveRTCStatsV2Callable(const SaveRTCStatsV2Request &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveRTCStatsV2Outcome()>>(
+			[this, request]()
+			{
+			return this->saveRTCStatsV2(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CCCClient::SaveTerminalLogOutcome CCCClient::saveTerminalLog(const SaveTerminalLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveTerminalLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveTerminalLogOutcome(SaveTerminalLogResult(outcome.result()));
+	else
+		return SaveTerminalLogOutcome(outcome.error());
+}
+
+void CCCClient::saveTerminalLogAsync(const SaveTerminalLogRequest& request, const SaveTerminalLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveTerminalLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::SaveTerminalLogOutcomeCallable CCCClient::saveTerminalLogCallable(const SaveTerminalLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveTerminalLogOutcome()>>(
+			[this, request]()
+			{
+			return this->saveTerminalLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CCCClient::SaveWebRTCStatsOutcome CCCClient::saveWebRTCStats(const SaveWebRTCStatsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveWebRTCStatsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveWebRTCStatsOutcome(SaveWebRTCStatsResult(outcome.result()));
+	else
+		return SaveWebRTCStatsOutcome(outcome.error());
+}
+
+void CCCClient::saveWebRTCStatsAsync(const SaveWebRTCStatsRequest& request, const SaveWebRTCStatsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveWebRTCStats(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::SaveWebRTCStatsOutcomeCallable CCCClient::saveWebRTCStatsCallable(const SaveWebRTCStatsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveWebRTCStatsOutcome()>>(
+			[this, request]()
+			{
+			return this->saveWebRTCStats(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CCCClient::SaveWebRtcInfoOutcome CCCClient::saveWebRtcInfo(const SaveWebRtcInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveWebRtcInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveWebRtcInfoOutcome(SaveWebRtcInfoResult(outcome.result()));
+	else
+		return SaveWebRtcInfoOutcome(outcome.error());
+}
+
+void CCCClient::saveWebRtcInfoAsync(const SaveWebRtcInfoRequest& request, const SaveWebRtcInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveWebRtcInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::SaveWebRtcInfoOutcomeCallable CCCClient::saveWebRtcInfoCallable(const SaveWebRtcInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveWebRtcInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->saveWebRtcInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CCCClient::SendDtmfSignalingOutcome CCCClient::sendDtmfSignaling(const SendDtmfSignalingRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3255,3 +3543,39 @@ CCCClient::UnmuteCallOutcomeCallable CCCClient::unmuteCallCallable(const UnmuteC
 	return task->get_future();
 }
 
+CCCClient::UpdateConfigItemsOutcome CCCClient::updateConfigItems(const UpdateConfigItemsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateConfigItemsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateConfigItemsOutcome(UpdateConfigItemsResult(outcome.result()));
+	else
+		return UpdateConfigItemsOutcome(outcome.error());
+}
+
+void CCCClient::updateConfigItemsAsync(const UpdateConfigItemsRequest& request, const UpdateConfigItemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateConfigItems(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CCCClient::UpdateConfigItemsOutcomeCallable CCCClient::updateConfigItemsCallable(const UpdateConfigItemsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateConfigItemsOutcome()>>(
+			[this, request]()
+			{
+			return this->updateConfigItems(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 84 - 0
ccc/src/model/CreateInstanceRequest.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/ccc/model/CreateInstanceRequest.h>
+
+using AlibabaCloud::CCC::Model::CreateInstanceRequest;
+
+CreateInstanceRequest::CreateInstanceRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "CreateInstance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateInstanceRequest::~CreateInstanceRequest()
+{}
+
+std::string CreateInstanceRequest::getAdminRamIdList()const
+{
+	return adminRamIdList_;
+}
+
+void CreateInstanceRequest::setAdminRamIdList(const std::string& adminRamIdList)
+{
+	adminRamIdList_ = adminRamIdList;
+	setParameter("AdminRamIdList", adminRamIdList);
+}
+
+std::string CreateInstanceRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void CreateInstanceRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string CreateInstanceRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateInstanceRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateInstanceRequest::getNumberList()const
+{
+	return numberList_;
+}
+
+void CreateInstanceRequest::setNumberList(const std::string& numberList)
+{
+	numberList_ = numberList;
+	setParameter("NumberList", numberList);
+}
+
+std::string CreateInstanceRequest::getName()const
+{
+	return name_;
+}
+
+void CreateInstanceRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+

+ 80 - 0
ccc/src/model/CreateInstanceResult.cc

@@ -0,0 +1,80 @@
+/*
+ * 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/ccc/model/CreateInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+CreateInstanceResult::CreateInstanceResult() :
+	ServiceResult()
+{}
+
+CreateInstanceResult::CreateInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateInstanceResult::~CreateInstanceResult()
+{}
+
+void CreateInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allParams = value["Params"]["Param"];
+	for (const auto &item : allParams)
+		params_.push_back(item.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string CreateInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+int CreateInstanceResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::vector<std::string> CreateInstanceResult::getParams()const
+{
+	return params_;
+}
+
+std::string CreateInstanceResult::getData()const
+{
+	return data_;
+}
+
+std::string CreateInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 24 - 8
ccc/src/model/GetHistoricalInstanceReportResult.cc

@@ -67,10 +67,12 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.inbound.callsAbandonedInIVR = std::stol(inboundNode["CallsAbandonedInIVR"].asString());
 	if(!inboundNode["CallsAbandonedInQueue"].isNull())
 		data_.inbound.callsAbandonedInQueue = std::stol(inboundNode["CallsAbandonedInQueue"].asString());
-	if(!inboundNode["CallsAbandonedInRinging"].isNull())
-		data_.inbound.callsAbandonedInRinging = std::stol(inboundNode["CallsAbandonedInRinging"].asString());
-	if(!inboundNode["CallsConsulted"].isNull())
-		data_.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+	if(!inboundNode["CallsAbandonedInRing"].isNull())
+		data_.inbound.callsAbandonedInRing = std::stol(inboundNode["CallsAbandonedInRing"].asString());
+	if(!inboundNode["CallsAttendedTransferred"].isNull())
+		data_.inbound.callsAttendedTransferred = std::stol(inboundNode["CallsAttendedTransferred"].asString());
+	if(!inboundNode["CallsBlindTransferred"].isNull())
+		data_.inbound.callsBlindTransferred = std::stol(inboundNode["CallsBlindTransferred"].asString());
 	if(!inboundNode["CallsHandled"].isNull())
 		data_.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 	if(!inboundNode["CallsHold"].isNull())
@@ -81,8 +83,6 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.inbound.callsQueued = std::stol(inboundNode["CallsQueued"].asString());
 	if(!inboundNode["CallsRinged"].isNull())
 		data_.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
-	if(!inboundNode["CallsTransferred"].isNull())
-		data_.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
 	if(!inboundNode["HandleRate"].isNull())
 		data_.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
 	if(!inboundNode["MaxAbandonTime"].isNull())
@@ -105,6 +105,8 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 	if(!inboundNode["SatisfactionIndex"].isNull())
 		data_.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+	if(!inboundNode["SatisfactionRate"].isNull())
+		data_.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 	if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 		data_.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 	if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -136,28 +138,38 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
 	if(!outboundNode["AverageHoldTime"].isNull())
 		data_.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+	if(!outboundNode["AverageRingTime"].isNull())
+		data_.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 	if(!outboundNode["AverageTalkTime"].isNull())
 		data_.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 	if(!outboundNode["AverageWorkTime"].isNull())
 		data_.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 	if(!outboundNode["CallsAnswered"].isNull())
 		data_.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+	if(!outboundNode["CallsAttendedTransferred"].isNull())
+		data_.outbound.callsAttendedTransferred = std::stol(outboundNode["CallsAttendedTransferred"].asString());
+	if(!outboundNode["CallsBlindTransferred"].isNull())
+		data_.outbound.callsBlindTransferred = std::stol(outboundNode["CallsBlindTransferred"].asString());
 	if(!outboundNode["CallsDialed"].isNull())
 		data_.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
-	if(!outboundNode["CallsDialedSuccess"].isNull())
-		data_.outbound.callsDialedSuccess = std::stol(outboundNode["CallsDialedSuccess"].asString());
 	if(!outboundNode["CallsHold"].isNull())
 		data_.outbound.callsHold = std::stoi(outboundNode["CallsHold"].asString());
+	if(!outboundNode["CallsRinged"].isNull())
+		data_.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 	if(!outboundNode["MaxDialingTime"].isNull())
 		data_.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
 	if(!outboundNode["MaxHoldTime"].isNull())
 		data_.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+	if(!outboundNode["MaxRingTime"].isNull())
+		data_.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 	if(!outboundNode["MaxTalkTime"].isNull())
 		data_.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 	if(!outboundNode["MaxWorkTime"].isNull())
 		data_.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 	if(!outboundNode["SatisfactionIndex"].isNull())
 		data_.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+	if(!outboundNode["SatisfactionRate"].isNull())
+		data_.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 	if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 		data_.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 	if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -166,6 +178,8 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 	if(!outboundNode["TotalHoldTime"].isNull())
 		data_.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+	if(!outboundNode["TotalRingTime"].isNull())
+		data_.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 	if(!outboundNode["TotalTalkTime"].isNull())
 		data_.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 	if(!outboundNode["TotalWorkTime"].isNull())
@@ -195,6 +209,8 @@ void GetHistoricalInstanceReportResult::parse(const std::string &payload)
 		data_.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 	if(!overallNode["SatisfactionIndex"].isNull())
 		data_.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+	if(!overallNode["SatisfactionRate"].isNull())
+		data_.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 	if(!overallNode["SatisfactionSurveysOffered"].isNull())
 		data_.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 	if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 2 - 2
ccc/src/model/GetInstanceTrendingReportResult.cc

@@ -48,8 +48,8 @@ void GetInstanceTrendingReportResult::parse(const std::string &payload)
 			inboundItemObject.callsAbandonedInIVR = std::stol(dataNodeInboundInboundItem["CallsAbandonedInIVR"].asString());
 		if(!dataNodeInboundInboundItem["CallsAbandonedInQueue"].isNull())
 			inboundItemObject.callsAbandonedInQueue = std::stol(dataNodeInboundInboundItem["CallsAbandonedInQueue"].asString());
-		if(!dataNodeInboundInboundItem["CallsAbandonedInRinging"].isNull())
-			inboundItemObject.callsAbandonedInRinging = std::stol(dataNodeInboundInboundItem["CallsAbandonedInRinging"].asString());
+		if(!dataNodeInboundInboundItem["CallsAbandonedInRing"].isNull())
+			inboundItemObject.callsAbandonedInRing = std::stol(dataNodeInboundInboundItem["CallsAbandonedInRing"].asString());
 		if(!dataNodeInboundInboundItem["CallsHandled"].isNull())
 			inboundItemObject.callsHandled = std::stol(dataNodeInboundInboundItem["CallsHandled"].asString());
 		if(!dataNodeInboundInboundItem["CallsQueued"].isNull())

+ 2 - 0
ccc/src/model/GetLoginDetailsResult.cc

@@ -54,6 +54,8 @@ void GetLoginDetailsResult::parse(const std::string &payload)
 		data_.userId = dataNode["UserId"].asString();
 	if(!dataNode["UserKey"].isNull())
 		data_.userKey = dataNode["UserKey"].asString();
+	if(!dataNode["AgentServerUrl"].isNull())
+		data_.agentServerUrl = dataNode["AgentServerUrl"].asString();
 	auto allParams = value["Params"]["Param"];
 	for (const auto &item : allParams)
 		params_.push_back(item.asString());

+ 2 - 2
ccc/src/model/GetRealtimeInstanceStatesResult.cc

@@ -48,8 +48,8 @@ void GetRealtimeInstanceStatesResult::parse(const std::string &payload)
 		data_.interactiveCalls = std::stol(dataNode["InteractiveCalls"].asString());
 	if(!dataNode["LoggedInAgents"].isNull())
 		data_.loggedInAgents = std::stol(dataNode["LoggedInAgents"].asString());
-	if(!dataNode["LongestCall"].isNull())
-		data_.longestCall = std::stol(dataNode["LongestCall"].asString());
+	if(!dataNode["LongestWaitingTime"].isNull())
+		data_.longestWaitingTime = std::stol(dataNode["LongestWaitingTime"].asString());
 	if(!dataNode["ReadyAgents"].isNull())
 		data_.readyAgents = std::stol(dataNode["ReadyAgents"].asString());
 	if(!dataNode["TalkingAgents"].isNull())

+ 22 - 0
ccc/src/model/ListCallDetailRecordsRequest.cc

@@ -38,6 +38,17 @@ void ListCallDetailRecordsRequest::setContactId(const std::string& contactId)
 	setParameter("ContactId", contactId);
 }
 
+std::string ListCallDetailRecordsRequest::getCriteria()const
+{
+	return criteria_;
+}
+
+void ListCallDetailRecordsRequest::setCriteria(const std::string& criteria)
+{
+	criteria_ = criteria;
+	setParameter("Criteria", criteria);
+}
+
 std::string ListCallDetailRecordsRequest::getOrderByField()const
 {
 	return orderByField_;
@@ -115,6 +126,17 @@ void ListCallDetailRecordsRequest::setSortOrder(const std::string& sortOrder)
 	setParameter("SortOrder", sortOrder);
 }
 
+std::string ListCallDetailRecordsRequest::getSatisfactionDescriptionList()const
+{
+	return satisfactionDescriptionList_;
+}
+
+void ListCallDetailRecordsRequest::setSatisfactionDescriptionList(const std::string& satisfactionDescriptionList)
+{
+	satisfactionDescriptionList_ = satisfactionDescriptionList;
+	setParameter("SatisfactionDescriptionList", satisfactionDescriptionList);
+}
+
 std::string ListCallDetailRecordsRequest::getAgentId()const
 {
 	return agentId_;

+ 14 - 2
ccc/src/model/ListCallDetailRecordsResult.cc

@@ -70,14 +70,24 @@ void ListCallDetailRecordsResult::parse(const std::string &payload)
 			callDetailRecordObject.establishedTime = std::stol(dataNodeListCallDetailRecord["EstablishedTime"].asString());
 		if(!dataNodeListCallDetailRecord["InstanceId"].isNull())
 			callDetailRecordObject.instanceId = dataNodeListCallDetailRecord["InstanceId"].asString();
+		if(!dataNodeListCallDetailRecord["IvrTime"].isNull())
+			callDetailRecordObject.ivrTime = std::stol(dataNodeListCallDetailRecord["IvrTime"].asString());
+		if(!dataNodeListCallDetailRecord["QueueTime"].isNull())
+			callDetailRecordObject.queueTime = std::stol(dataNodeListCallDetailRecord["QueueTime"].asString());
+		if(!dataNodeListCallDetailRecord["RecordingDuration"].isNull())
+			callDetailRecordObject.recordingDuration = std::stol(dataNodeListCallDetailRecord["RecordingDuration"].asString());
 		if(!dataNodeListCallDetailRecord["RecordingReady"].isNull())
 			callDetailRecordObject.recordingReady = dataNodeListCallDetailRecord["RecordingReady"].asString() == "true";
 		if(!dataNodeListCallDetailRecord["ReleaseInitiator"].isNull())
 			callDetailRecordObject.releaseInitiator = dataNodeListCallDetailRecord["ReleaseInitiator"].asString();
 		if(!dataNodeListCallDetailRecord["ReleaseTime"].isNull())
 			callDetailRecordObject.releaseTime = std::stol(dataNodeListCallDetailRecord["ReleaseTime"].asString());
-		if(!dataNodeListCallDetailRecord["Satisfaction"].isNull())
-			callDetailRecordObject.satisfaction = std::stoi(dataNodeListCallDetailRecord["Satisfaction"].asString());
+		if(!dataNodeListCallDetailRecord["RingTime"].isNull())
+			callDetailRecordObject.ringTime = std::stol(dataNodeListCallDetailRecord["RingTime"].asString());
+		if(!dataNodeListCallDetailRecord["SatisfactionDescription"].isNull())
+			callDetailRecordObject.satisfactionDescription = dataNodeListCallDetailRecord["SatisfactionDescription"].asString();
+		if(!dataNodeListCallDetailRecord["SatisfactionIndex"].isNull())
+			callDetailRecordObject.satisfactionIndex = std::stoi(dataNodeListCallDetailRecord["SatisfactionIndex"].asString());
 		if(!dataNodeListCallDetailRecord["SatisfactionSurveyChannel"].isNull())
 			callDetailRecordObject.satisfactionSurveyChannel = dataNodeListCallDetailRecord["SatisfactionSurveyChannel"].asString();
 		if(!dataNodeListCallDetailRecord["SatisfactionSurveyOffered"].isNull())
@@ -88,6 +98,8 @@ void ListCallDetailRecordsResult::parse(const std::string &payload)
 			callDetailRecordObject.skillGroupNames = dataNodeListCallDetailRecord["SkillGroupNames"].asString();
 		if(!dataNodeListCallDetailRecord["StartTime"].isNull())
 			callDetailRecordObject.startTime = std::stol(dataNodeListCallDetailRecord["StartTime"].asString());
+		if(!dataNodeListCallDetailRecord["WaitTime"].isNull())
+			callDetailRecordObject.waitTime = std::stol(dataNodeListCallDetailRecord["WaitTime"].asString());
 		data_.list.push_back(callDetailRecordObject);
 	}
 	if(!value["Code"].isNull())

+ 36 - 6
ccc/src/model/ListHistoricalAgentReportResult.cc

@@ -63,16 +63,22 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.inbound.averageTalkTime = std::stof(inboundNode["AverageTalkTime"].asString());
 		if(!inboundNode["AverageWorkTime"].isNull())
 			itemsObject.inbound.averageWorkTime = std::stof(inboundNode["AverageWorkTime"].asString());
-		if(!inboundNode["CallsConsulted"].isNull())
-			itemsObject.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+		if(!inboundNode["CallsAttendedTransferIn"].isNull())
+			itemsObject.inbound.callsAttendedTransferIn = std::stol(inboundNode["CallsAttendedTransferIn"].asString());
+		if(!inboundNode["CallsAttendedTransferOut"].isNull())
+			itemsObject.inbound.callsAttendedTransferOut = std::stol(inboundNode["CallsAttendedTransferOut"].asString());
+		if(!inboundNode["CallsBlindTransferIn"].isNull())
+			itemsObject.inbound.callsBlindTransferIn = std::stol(inboundNode["CallsBlindTransferIn"].asString());
+		if(!inboundNode["CallsBlindTransferOut"].isNull())
+			itemsObject.inbound.callsBlindTransferOut = std::stol(inboundNode["CallsBlindTransferOut"].asString());
 		if(!inboundNode["CallsHandled"].isNull())
 			itemsObject.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 		if(!inboundNode["CallsHold"].isNull())
 			itemsObject.inbound.callsHold = std::stol(inboundNode["CallsHold"].asString());
 		if(!inboundNode["CallsOffered"].isNull())
 			itemsObject.inbound.callsOffered = std::stol(inboundNode["CallsOffered"].asString());
-		if(!inboundNode["CallsTransferred"].isNull())
-			itemsObject.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
+		if(!inboundNode["CallsRinged"].isNull())
+			itemsObject.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
 		if(!inboundNode["HandleRate"].isNull())
 			itemsObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
 		if(!inboundNode["MaxHoldTime"].isNull())
@@ -85,6 +91,8 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 		if(!inboundNode["SatisfactionIndex"].isNull())
 			itemsObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+		if(!inboundNode["SatisfactionRate"].isNull())
+			itemsObject.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 		if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 		if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -104,28 +112,42 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
 		if(!outboundNode["AverageHoldTime"].isNull())
 			itemsObject.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+		if(!outboundNode["AverageRingTime"].isNull())
+			itemsObject.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 		if(!outboundNode["AverageTalkTime"].isNull())
 			itemsObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 		if(!outboundNode["AverageWorkTime"].isNull())
 			itemsObject.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 		if(!outboundNode["CallsAnswered"].isNull())
 			itemsObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+		if(!outboundNode["CallsAttendedTransferIn"].isNull())
+			itemsObject.outbound.callsAttendedTransferIn = std::stol(outboundNode["CallsAttendedTransferIn"].asString());
+		if(!outboundNode["CallsAttendedTransferOut"].isNull())
+			itemsObject.outbound.callsAttendedTransferOut = std::stol(outboundNode["CallsAttendedTransferOut"].asString());
+		if(!outboundNode["CallsBlindTransferIn"].isNull())
+			itemsObject.outbound.callsBlindTransferIn = std::stol(outboundNode["CallsBlindTransferIn"].asString());
+		if(!outboundNode["CallsBlindTransferOut"].isNull())
+			itemsObject.outbound.callsBlindTransferOut = std::stol(outboundNode["CallsBlindTransferOut"].asString());
 		if(!outboundNode["CallsDialed"].isNull())
 			itemsObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
-		if(!outboundNode["CallsDialedSuccess"].isNull())
-			itemsObject.outbound.callsDialedSuccess = std::stol(outboundNode["CallsDialedSuccess"].asString());
 		if(!outboundNode["CallsHold"].isNull())
 			itemsObject.outbound.callsHold = std::stol(outboundNode["CallsHold"].asString());
+		if(!outboundNode["CallsRinged"].isNull())
+			itemsObject.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 		if(!outboundNode["MaxDialingTime"].isNull())
 			itemsObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
 		if(!outboundNode["MaxHoldTime"].isNull())
 			itemsObject.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+		if(!outboundNode["MaxRingTime"].isNull())
+			itemsObject.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 		if(!outboundNode["MaxTalkTime"].isNull())
 			itemsObject.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 		if(!outboundNode["MaxWorkTime"].isNull())
 			itemsObject.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 		if(!outboundNode["SatisfactionIndex"].isNull())
 			itemsObject.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+		if(!outboundNode["SatisfactionRate"].isNull())
+			itemsObject.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 		if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 		if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -134,6 +156,8 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 		if(!outboundNode["TotalHoldTime"].isNull())
 			itemsObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+		if(!outboundNode["TotalRingTime"].isNull())
+			itemsObject.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 		if(!outboundNode["TotalTalkTime"].isNull())
 			itemsObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 		if(!outboundNode["TotalWorkTime"].isNull())
@@ -141,6 +165,8 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 		auto overallNode = value["Overall"];
 		if(!overallNode["AverageBreakTime"].isNull())
 			itemsObject.overall.averageBreakTime = std::stof(overallNode["AverageBreakTime"].asString());
+		if(!overallNode["AverageHoldTime"].isNull())
+			itemsObject.overall.averageHoldTime = std::stof(overallNode["AverageHoldTime"].asString());
 		if(!overallNode["AverageReadyTime"].isNull())
 			itemsObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
 		if(!overallNode["AverageTalkTime"].isNull())
@@ -149,6 +175,8 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.overall.averageWorkTime = std::stof(overallNode["AverageWorkTime"].asString());
 		if(!overallNode["MaxBreakTime"].isNull())
 			itemsObject.overall.maxBreakTime = std::stol(overallNode["MaxBreakTime"].asString());
+		if(!overallNode["MaxHoldTime"].isNull())
+			itemsObject.overall.maxHoldTime = std::stol(overallNode["MaxHoldTime"].asString());
 		if(!overallNode["MaxReadyTime"].isNull())
 			itemsObject.overall.maxReadyTime = std::stol(overallNode["MaxReadyTime"].asString());
 		if(!overallNode["MaxTalkTime"].isNull())
@@ -159,6 +187,8 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 		if(!overallNode["SatisfactionIndex"].isNull())
 			itemsObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+		if(!overallNode["SatisfactionRate"].isNull())
+			itemsObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 50 - 6
ccc/src/model/ListHistoricalSkillGroupReportResult.cc

@@ -63,6 +63,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.inbound.averageAbandonedInQueueTime = std::stof(inboundNode["AverageAbandonedInQueueTime"].asString());
 		if(!inboundNode["AverageAbandonedInRingTime"].isNull())
 			itemsObject.inbound.averageAbandonedInRingTime = std::stof(inboundNode["AverageAbandonedInRingTime"].asString());
+		if(!inboundNode["AverageHoldTime"].isNull())
+			itemsObject.inbound.averageHoldTime = std::stof(inboundNode["AverageHoldTime"].asString());
 		if(!inboundNode["AverageRingTime"].isNull())
 			itemsObject.inbound.averageRingTime = std::stof(inboundNode["AverageRingTime"].asString());
 		if(!inboundNode["AverageTalkTime"].isNull())
@@ -75,22 +77,30 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.inbound.callsAbandoned = std::stol(inboundNode["CallsAbandoned"].asString());
 		if(!inboundNode["CallsAbandonedInQueue"].isNull())
 			itemsObject.inbound.callsAbandonedInQueue = std::stol(inboundNode["CallsAbandonedInQueue"].asString());
-		if(!inboundNode["CallsAbandonedInRinging"].isNull())
-			itemsObject.inbound.callsAbandonedInRinging = std::stol(inboundNode["CallsAbandonedInRinging"].asString());
-		if(!inboundNode["CallsConsulted"].isNull())
-			itemsObject.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+		if(!inboundNode["CallsAbandonedInRing"].isNull())
+			itemsObject.inbound.callsAbandonedInRing = std::stol(inboundNode["CallsAbandonedInRing"].asString());
+		if(!inboundNode["CallsAttendedTransferIn"].isNull())
+			itemsObject.inbound.callsAttendedTransferIn = std::stol(inboundNode["CallsAttendedTransferIn"].asString());
+		if(!inboundNode["CallsAttendedTransferOut"].isNull())
+			itemsObject.inbound.callsAttendedTransferOut = std::stol(inboundNode["CallsAttendedTransferOut"].asString());
+		if(!inboundNode["CallsBlindTransferIn"].isNull())
+			itemsObject.inbound.callsBlindTransferIn = std::stol(inboundNode["CallsBlindTransferIn"].asString());
+		if(!inboundNode["CallsBlindTransferOut"].isNull())
+			itemsObject.inbound.callsBlindTransferOut = std::stol(inboundNode["CallsBlindTransferOut"].asString());
 		if(!inboundNode["CallsHandled"].isNull())
 			itemsObject.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 		if(!inboundNode["CallsHold"].isNull())
 			itemsObject.inbound.callsHold = std::stol(inboundNode["CallsHold"].asString());
 		if(!inboundNode["CallsOffered"].isNull())
 			itemsObject.inbound.callsOffered = std::stol(inboundNode["CallsOffered"].asString());
+		if(!inboundNode["CallsOverflow"].isNull())
+			itemsObject.inbound.callsOverflow = std::stol(inboundNode["CallsOverflow"].asString());
 		if(!inboundNode["CallsQueued"].isNull())
 			itemsObject.inbound.callsQueued = std::stol(inboundNode["CallsQueued"].asString());
 		if(!inboundNode["CallsRinged"].isNull())
 			itemsObject.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
-		if(!inboundNode["CallsTransferred"].isNull())
-			itemsObject.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
+		if(!inboundNode["CallsTimeout"].isNull())
+			itemsObject.inbound.callsTimeout = std::stol(inboundNode["CallsTimeout"].asString());
 		if(!inboundNode["HandleRate"].isNull())
 			itemsObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
 		if(!inboundNode["MaxAbandonTime"].isNull())
@@ -99,6 +109,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.inbound.maxAbandonedInQueueTime = std::stol(inboundNode["MaxAbandonedInQueueTime"].asString());
 		if(!inboundNode["MaxAbandonedInRingTime"].isNull())
 			itemsObject.inbound.maxAbandonedInRingTime = std::stol(inboundNode["MaxAbandonedInRingTime"].asString());
+		if(!inboundNode["MaxHoldTime"].isNull())
+			itemsObject.inbound.maxHoldTime = std::stol(inboundNode["MaxHoldTime"].asString());
 		if(!inboundNode["MaxRingTime"].isNull())
 			itemsObject.inbound.maxRingTime = std::stol(inboundNode["MaxRingTime"].asString());
 		if(!inboundNode["MaxTalkTime"].isNull())
@@ -109,6 +121,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 		if(!inboundNode["SatisfactionIndex"].isNull())
 			itemsObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+		if(!inboundNode["SatisfactionRate"].isNull())
+			itemsObject.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 		if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 		if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -136,22 +150,44 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.outbound.answerRate = std::stof(outboundNode["AnswerRate"].asString());
 		if(!outboundNode["AverageDialingTime"].isNull())
 			itemsObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
+		if(!outboundNode["AverageHoldTime"].isNull())
+			itemsObject.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+		if(!outboundNode["AverageRingTime"].isNull())
+			itemsObject.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 		if(!outboundNode["AverageTalkTime"].isNull())
 			itemsObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 		if(!outboundNode["AverageWorkTime"].isNull())
 			itemsObject.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 		if(!outboundNode["CallsAnswered"].isNull())
 			itemsObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+		if(!outboundNode["CallsAttendedTransferIn"].isNull())
+			itemsObject.outbound.callsAttendedTransferIn = std::stol(outboundNode["CallsAttendedTransferIn"].asString());
+		if(!outboundNode["CallsAttendedTransferOut"].isNull())
+			itemsObject.outbound.callsAttendedTransferOut = std::stol(outboundNode["CallsAttendedTransferOut"].asString());
+		if(!outboundNode["CallsBlindTransferIn"].isNull())
+			itemsObject.outbound.callsBlindTransferIn = std::stol(outboundNode["CallsBlindTransferIn"].asString());
+		if(!outboundNode["CallsBlindTransferOut"].isNull())
+			itemsObject.outbound.callsBlindTransferOut = std::stol(outboundNode["CallsBlindTransferOut"].asString());
 		if(!outboundNode["CallsDialed"].isNull())
 			itemsObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
+		if(!outboundNode["CallsHold"].isNull())
+			itemsObject.outbound.callsHold = std::stol(outboundNode["CallsHold"].asString());
+		if(!outboundNode["CallsRinged"].isNull())
+			itemsObject.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 		if(!outboundNode["MaxDialingTime"].isNull())
 			itemsObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
+		if(!outboundNode["MaxHoldTime"].isNull())
+			itemsObject.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+		if(!outboundNode["MaxRingTime"].isNull())
+			itemsObject.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 		if(!outboundNode["MaxTalkTime"].isNull())
 			itemsObject.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 		if(!outboundNode["MaxWorkTime"].isNull())
 			itemsObject.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 		if(!outboundNode["SatisfactionIndex"].isNull())
 			itemsObject.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+		if(!outboundNode["SatisfactionRate"].isNull())
+			itemsObject.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 		if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 		if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -160,6 +196,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 		if(!outboundNode["TotalHoldTime"].isNull())
 			itemsObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+		if(!outboundNode["TotalRingTime"].isNull())
+			itemsObject.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 		if(!outboundNode["TotalTalkTime"].isNull())
 			itemsObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 		if(!outboundNode["TotalWorkTime"].isNull())
@@ -167,6 +205,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 		auto overallNode = value["Overall"];
 		if(!overallNode["AverageBreakTime"].isNull())
 			itemsObject.overall.averageBreakTime = std::stof(overallNode["AverageBreakTime"].asString());
+		if(!overallNode["AverageHoldTime"].isNull())
+			itemsObject.overall.averageHoldTime = std::stof(overallNode["AverageHoldTime"].asString());
 		if(!overallNode["AverageReadyTime"].isNull())
 			itemsObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
 		if(!overallNode["AverageTalkTime"].isNull())
@@ -175,6 +215,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.overall.averageWorkTime = std::stof(overallNode["AverageWorkTime"].asString());
 		if(!overallNode["MaxBreakTime"].isNull())
 			itemsObject.overall.maxBreakTime = std::stol(overallNode["MaxBreakTime"].asString());
+		if(!overallNode["MaxHoldTime"].isNull())
+			itemsObject.overall.maxHoldTime = std::stol(overallNode["MaxHoldTime"].asString());
 		if(!overallNode["MaxReadyTime"].isNull())
 			itemsObject.overall.maxReadyTime = std::stol(overallNode["MaxReadyTime"].asString());
 		if(!overallNode["MaxTalkTime"].isNull())
@@ -185,6 +227,8 @@ void ListHistoricalSkillGroupReportResult::parse(const std::string &payload)
 			itemsObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 		if(!overallNode["SatisfactionIndex"].isNull())
 			itemsObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+		if(!overallNode["SatisfactionRate"].isNull())
+			itemsObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			itemsObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 51 - 0
ccc/src/model/ListInstancesRequest.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/ccc/model/ListInstancesRequest.h>
+
+using AlibabaCloud::CCC::Model::ListInstancesRequest;
+
+ListInstancesRequest::ListInstancesRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "ListInstances")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListInstancesRequest::~ListInstancesRequest()
+{}
+
+int ListInstancesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListInstancesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+int ListInstancesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListInstancesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+

+ 141 - 0
ccc/src/model/ListInstancesResult.cc

@@ -0,0 +1,141 @@
+/*
+ * 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/ccc/model/ListInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+ListInstancesResult::ListInstancesResult() :
+	ServiceResult()
+{}
+
+ListInstancesResult::ListInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListInstancesResult::~ListInstancesResult()
+{}
+
+void ListInstancesResult::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::stoi(dataNode["PageNumber"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	auto allListNode = dataNode["List"]["CallCenterInstance"];
+	for (auto dataNodeListCallCenterInstance : allListNode)
+	{
+		Data::CallCenterInstance callCenterInstanceObject;
+		if(!dataNodeListCallCenterInstance["AliyunUid"].isNull())
+			callCenterInstanceObject.aliyunUid = dataNodeListCallCenterInstance["AliyunUid"].asString();
+		if(!dataNodeListCallCenterInstance["ConsoleUrl"].isNull())
+			callCenterInstanceObject.consoleUrl = dataNodeListCallCenterInstance["ConsoleUrl"].asString();
+		if(!dataNodeListCallCenterInstance["CreateTime"].isNull())
+			callCenterInstanceObject.createTime = std::stol(dataNodeListCallCenterInstance["CreateTime"].asString());
+		if(!dataNodeListCallCenterInstance["Description"].isNull())
+			callCenterInstanceObject.description = dataNodeListCallCenterInstance["Description"].asString();
+		if(!dataNodeListCallCenterInstance["DomainName"].isNull())
+			callCenterInstanceObject.domainName = dataNodeListCallCenterInstance["DomainName"].asString();
+		if(!dataNodeListCallCenterInstance["Id"].isNull())
+			callCenterInstanceObject.id = dataNodeListCallCenterInstance["Id"].asString();
+		if(!dataNodeListCallCenterInstance["Name"].isNull())
+			callCenterInstanceObject.name = dataNodeListCallCenterInstance["Name"].asString();
+		if(!dataNodeListCallCenterInstance["Status"].isNull())
+			callCenterInstanceObject.status = dataNodeListCallCenterInstance["Status"].asString();
+		auto allAdminListNode = dataNodeListCallCenterInstance["AdminList"]["User"];
+		for (auto dataNodeListCallCenterInstanceAdminListUser : allAdminListNode)
+		{
+			Data::CallCenterInstance::User adminListObject;
+			if(!dataNodeListCallCenterInstanceAdminListUser["DisplayName"].isNull())
+				adminListObject.displayName = dataNodeListCallCenterInstanceAdminListUser["DisplayName"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["Email"].isNull())
+				adminListObject.email = dataNodeListCallCenterInstanceAdminListUser["Email"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["Extension"].isNull())
+				adminListObject.extension = dataNodeListCallCenterInstanceAdminListUser["Extension"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["InstanceId"].isNull())
+				adminListObject.instanceId = dataNodeListCallCenterInstanceAdminListUser["InstanceId"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["LoginName"].isNull())
+				adminListObject.loginName = dataNodeListCallCenterInstanceAdminListUser["LoginName"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["Mobile"].isNull())
+				adminListObject.mobile = dataNodeListCallCenterInstanceAdminListUser["Mobile"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["RoleId"].isNull())
+				adminListObject.roleId = dataNodeListCallCenterInstanceAdminListUser["RoleId"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["RoleName"].isNull())
+				adminListObject.roleName = dataNodeListCallCenterInstanceAdminListUser["RoleName"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["UserId"].isNull())
+				adminListObject.userId = dataNodeListCallCenterInstanceAdminListUser["UserId"].asString();
+			if(!dataNodeListCallCenterInstanceAdminListUser["WorkMode"].isNull())
+				adminListObject.workMode = dataNodeListCallCenterInstanceAdminListUser["WorkMode"].asString();
+			callCenterInstanceObject.adminList.push_back(adminListObject);
+		}
+		auto allNumberListNode = dataNodeListCallCenterInstance["NumberList"]["PhoneNumber"];
+		for (auto dataNodeListCallCenterInstanceNumberListPhoneNumber : allNumberListNode)
+		{
+			Data::CallCenterInstance::PhoneNumber numberListObject;
+			if(!dataNodeListCallCenterInstanceNumberListPhoneNumber["Number"].isNull())
+				numberListObject.number = dataNodeListCallCenterInstanceNumberListPhoneNumber["Number"].asString();
+			callCenterInstanceObject.numberList.push_back(numberListObject);
+		}
+		data_.list.push_back(callCenterInstanceObject);
+	}
+	auto allParams = value["Params"]["Param"];
+	for (const auto &item : allParams)
+		params_.push_back(item.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ListInstancesResult::getMessage()const
+{
+	return message_;
+}
+
+int ListInstancesResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::vector<std::string> ListInstancesResult::getParams()const
+{
+	return params_;
+}
+
+ListInstancesResult::Data ListInstancesResult::getData()const
+{
+	return data_;
+}
+
+std::string ListInstancesResult::getCode()const
+{
+	return code_;
+}
+

+ 46 - 4
ccc/src/model/ListIntervalAgentReportResult.cc

@@ -46,24 +46,34 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 		if(!valueDataDataItem["StatsTime"].isNull())
 			dataObject.statsTime = std::stol(valueDataDataItem["StatsTime"].asString());
 		auto inboundNode = value["Inbound"];
+		if(!inboundNode["AverageHoldTime"].isNull())
+			dataObject.inbound.averageHoldTime = std::stof(inboundNode["AverageHoldTime"].asString());
 		if(!inboundNode["AverageRingTime"].isNull())
 			dataObject.inbound.averageRingTime = std::stof(inboundNode["AverageRingTime"].asString());
 		if(!inboundNode["AverageTalkTime"].isNull())
 			dataObject.inbound.averageTalkTime = std::stof(inboundNode["AverageTalkTime"].asString());
 		if(!inboundNode["AverageWorkTime"].isNull())
 			dataObject.inbound.averageWorkTime = std::stof(inboundNode["AverageWorkTime"].asString());
-		if(!inboundNode["CallsConsulted"].isNull())
-			dataObject.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+		if(!inboundNode["CallsAttendedTransferIn"].isNull())
+			dataObject.inbound.callsAttendedTransferIn = std::stol(inboundNode["CallsAttendedTransferIn"].asString());
+		if(!inboundNode["CallsAttendedTransferOut"].isNull())
+			dataObject.inbound.callsAttendedTransferOut = std::stol(inboundNode["CallsAttendedTransferOut"].asString());
+		if(!inboundNode["CallsBlindTransferIn"].isNull())
+			dataObject.inbound.callsBlindTransferIn = std::stol(inboundNode["CallsBlindTransferIn"].asString());
+		if(!inboundNode["CallsBlindTransferOut"].isNull())
+			dataObject.inbound.callsBlindTransferOut = std::stol(inboundNode["CallsBlindTransferOut"].asString());
 		if(!inboundNode["CallsHandled"].isNull())
 			dataObject.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 		if(!inboundNode["CallsHold"].isNull())
 			dataObject.inbound.callsHold = std::stol(inboundNode["CallsHold"].asString());
 		if(!inboundNode["CallsOffered"].isNull())
 			dataObject.inbound.callsOffered = std::stol(inboundNode["CallsOffered"].asString());
-		if(!inboundNode["CallsTransferred"].isNull())
-			dataObject.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
+		if(!inboundNode["CallsRinged"].isNull())
+			dataObject.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
 		if(!inboundNode["HandleRate"].isNull())
 			dataObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
+		if(!inboundNode["MaxHoldTime"].isNull())
+			dataObject.inbound.maxHoldTime = std::stol(inboundNode["MaxHoldTime"].asString());
 		if(!inboundNode["MaxRingTime"].isNull())
 			dataObject.inbound.maxRingTime = std::stol(inboundNode["MaxRingTime"].asString());
 		if(!inboundNode["MaxTalkTime"].isNull())
@@ -72,6 +82,8 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 		if(!inboundNode["SatisfactionIndex"].isNull())
 			dataObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+		if(!inboundNode["SatisfactionRate"].isNull())
+			dataObject.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 		if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 		if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -89,22 +101,44 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.outbound.answerRate = std::stof(outboundNode["AnswerRate"].asString());
 		if(!outboundNode["AverageDialingTime"].isNull())
 			dataObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
+		if(!outboundNode["AverageHoldTime"].isNull())
+			dataObject.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+		if(!outboundNode["AverageRingTime"].isNull())
+			dataObject.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 		if(!outboundNode["AverageTalkTime"].isNull())
 			dataObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 		if(!outboundNode["AverageWorkTime"].isNull())
 			dataObject.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 		if(!outboundNode["CallsAnswered"].isNull())
 			dataObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+		if(!outboundNode["CallsAttendedTransferIn"].isNull())
+			dataObject.outbound.callsAttendedTransferIn = std::stol(outboundNode["CallsAttendedTransferIn"].asString());
+		if(!outboundNode["CallsAttendedTransferOut"].isNull())
+			dataObject.outbound.callsAttendedTransferOut = std::stol(outboundNode["CallsAttendedTransferOut"].asString());
+		if(!outboundNode["CallsBlindTransferIn"].isNull())
+			dataObject.outbound.callsBlindTransferIn = std::stol(outboundNode["CallsBlindTransferIn"].asString());
+		if(!outboundNode["CallsBlindTransferOut"].isNull())
+			dataObject.outbound.callsBlindTransferOut = std::stol(outboundNode["CallsBlindTransferOut"].asString());
 		if(!outboundNode["CallsDialed"].isNull())
 			dataObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
+		if(!outboundNode["CallsHold"].isNull())
+			dataObject.outbound.callsHold = std::stol(outboundNode["CallsHold"].asString());
+		if(!outboundNode["CallsRinged"].isNull())
+			dataObject.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 		if(!outboundNode["MaxDialingTime"].isNull())
 			dataObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
+		if(!outboundNode["MaxHoldTime"].isNull())
+			dataObject.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+		if(!outboundNode["MaxRingTime"].isNull())
+			dataObject.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 		if(!outboundNode["MaxTalkTime"].isNull())
 			dataObject.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 		if(!outboundNode["MaxWorkTime"].isNull())
 			dataObject.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 		if(!outboundNode["SatisfactionIndex"].isNull())
 			dataObject.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+		if(!outboundNode["SatisfactionRate"].isNull())
+			dataObject.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 		if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 		if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -113,6 +147,8 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 		if(!outboundNode["TotalHoldTime"].isNull())
 			dataObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+		if(!outboundNode["TotalRingTime"].isNull())
+			dataObject.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 		if(!outboundNode["TotalTalkTime"].isNull())
 			dataObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 		if(!outboundNode["TotalWorkTime"].isNull())
@@ -120,6 +156,8 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 		auto overallNode = value["Overall"];
 		if(!overallNode["AverageBreakTime"].isNull())
 			dataObject.overall.averageBreakTime = std::stof(overallNode["AverageBreakTime"].asString());
+		if(!overallNode["AverageHoldTime"].isNull())
+			dataObject.overall.averageHoldTime = std::stof(overallNode["AverageHoldTime"].asString());
 		if(!overallNode["AverageReadyTime"].isNull())
 			dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
 		if(!overallNode["AverageTalkTime"].isNull())
@@ -132,6 +170,8 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.overall.lastCheckoutTime = std::stol(overallNode["LastCheckoutTime"].asString());
 		if(!overallNode["MaxBreakTime"].isNull())
 			dataObject.overall.maxBreakTime = std::stol(overallNode["MaxBreakTime"].asString());
+		if(!overallNode["MaxHoldTime"].isNull())
+			dataObject.overall.maxHoldTime = std::stol(overallNode["MaxHoldTime"].asString());
 		if(!overallNode["MaxReadyTime"].isNull())
 			dataObject.overall.maxReadyTime = std::stol(overallNode["MaxReadyTime"].asString());
 		if(!overallNode["MaxTalkTime"].isNull())
@@ -142,6 +182,8 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 		if(!overallNode["SatisfactionIndex"].isNull())
 			dataObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+		if(!overallNode["SatisfactionRate"].isNull())
+			dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 30 - 8
ccc/src/model/ListIntervalInstanceReportResult.cc

@@ -72,10 +72,12 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.inbound.callsAbandonedInIVR = std::stol(inboundNode["CallsAbandonedInIVR"].asString());
 		if(!inboundNode["CallsAbandonedInQueue"].isNull())
 			dataObject.inbound.callsAbandonedInQueue = std::stol(inboundNode["CallsAbandonedInQueue"].asString());
-		if(!inboundNode["CallsAbandonedInRinging"].isNull())
-			dataObject.inbound.callsAbandonedInRinging = std::stol(inboundNode["CallsAbandonedInRinging"].asString());
-		if(!inboundNode["CallsConsulted"].isNull())
-			dataObject.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+		if(!inboundNode["CallsAbandonedInRing"].isNull())
+			dataObject.inbound.callsAbandonedInRing = std::stol(inboundNode["CallsAbandonedInRing"].asString());
+		if(!inboundNode["CallsAttendedTransferred"].isNull())
+			dataObject.inbound.callsAttendedTransferred = std::stol(inboundNode["CallsAttendedTransferred"].asString());
+		if(!inboundNode["CallsBlindTransferred"].isNull())
+			dataObject.inbound.callsBlindTransferred = std::stol(inboundNode["CallsBlindTransferred"].asString());
 		if(!inboundNode["CallsHandled"].isNull())
 			dataObject.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 		if(!inboundNode["CallsHold"].isNull())
@@ -86,8 +88,6 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.inbound.callsQueued = std::stol(inboundNode["CallsQueued"].asString());
 		if(!inboundNode["CallsRinged"].isNull())
 			dataObject.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
-		if(!inboundNode["CallsTransferred"].isNull())
-			dataObject.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
 		if(!inboundNode["HandleRate"].isNull())
 			dataObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
 		if(!inboundNode["MaxAbandonTime"].isNull())
@@ -110,6 +110,8 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 		if(!inboundNode["SatisfactionIndex"].isNull())
 			dataObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+		if(!inboundNode["SatisfactionRate"].isNull())
+			dataObject.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 		if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 		if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -139,24 +141,40 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.outbound.answerRate = std::stof(outboundNode["AnswerRate"].asString());
 		if(!outboundNode["AverageDialingTime"].isNull())
 			dataObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
+		if(!outboundNode["AverageHoldTime"].isNull())
+			dataObject.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+		if(!outboundNode["AverageRingTime"].isNull())
+			dataObject.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 		if(!outboundNode["AverageTalkTime"].isNull())
 			dataObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 		if(!outboundNode["AverageWorkTime"].isNull())
 			dataObject.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 		if(!outboundNode["CallsAnswered"].isNull())
 			dataObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+		if(!outboundNode["CallsAttendedTransferred"].isNull())
+			dataObject.outbound.callsAttendedTransferred = std::stol(outboundNode["CallsAttendedTransferred"].asString());
+		if(!outboundNode["CallsBlindTransferred"].isNull())
+			dataObject.outbound.callsBlindTransferred = std::stol(outboundNode["CallsBlindTransferred"].asString());
 		if(!outboundNode["CallsDialed"].isNull())
 			dataObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
-		if(!outboundNode["CallsDialedSuccess"].isNull())
-			dataObject.outbound.callsDialedSuccess = std::stol(outboundNode["CallsDialedSuccess"].asString());
+		if(!outboundNode["CallsHold"].isNull())
+			dataObject.outbound.callsHold = std::stol(outboundNode["CallsHold"].asString());
+		if(!outboundNode["CallsRinged"].isNull())
+			dataObject.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 		if(!outboundNode["MaxDialingTime"].isNull())
 			dataObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
+		if(!outboundNode["MaxHoldTime"].isNull())
+			dataObject.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+		if(!outboundNode["MaxRingTime"].isNull())
+			dataObject.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 		if(!outboundNode["MaxTalkTime"].isNull())
 			dataObject.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 		if(!outboundNode["MaxWorkTime"].isNull())
 			dataObject.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 		if(!outboundNode["SatisfactionIndex"].isNull())
 			dataObject.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+		if(!outboundNode["SatisfactionRate"].isNull())
+			dataObject.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 		if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 		if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -165,6 +183,8 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 		if(!outboundNode["TotalHoldTime"].isNull())
 			dataObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+		if(!outboundNode["TotalRingTime"].isNull())
+			dataObject.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 		if(!outboundNode["TotalTalkTime"].isNull())
 			dataObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 		if(!outboundNode["TotalWorkTime"].isNull())
@@ -194,6 +214,8 @@ void ListIntervalInstanceReportResult::parse(const std::string &payload)
 			dataObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 		if(!overallNode["SatisfactionIndex"].isNull())
 			dataObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+		if(!overallNode["SatisfactionRate"].isNull())
+			dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 50 - 6
ccc/src/model/ListIntervalSkillGroupReportResult.cc

@@ -54,6 +54,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.inbound.averageAbandonedInQueueTime = std::stof(inboundNode["AverageAbandonedInQueueTime"].asString());
 		if(!inboundNode["AverageAbandonedInRingTime"].isNull())
 			dataObject.inbound.averageAbandonedInRingTime = std::stof(inboundNode["AverageAbandonedInRingTime"].asString());
+		if(!inboundNode["AverageHoldTime"].isNull())
+			dataObject.inbound.averageHoldTime = std::stof(inboundNode["AverageHoldTime"].asString());
 		if(!inboundNode["AverageRingTime"].isNull())
 			dataObject.inbound.averageRingTime = std::stof(inboundNode["AverageRingTime"].asString());
 		if(!inboundNode["AverageTalkTime"].isNull())
@@ -66,22 +68,30 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.inbound.callsAbandoned = std::stol(inboundNode["CallsAbandoned"].asString());
 		if(!inboundNode["CallsAbandonedInQueue"].isNull())
 			dataObject.inbound.callsAbandonedInQueue = std::stol(inboundNode["CallsAbandonedInQueue"].asString());
-		if(!inboundNode["CallsAbandonedInRinging"].isNull())
-			dataObject.inbound.callsAbandonedInRinging = std::stol(inboundNode["CallsAbandonedInRinging"].asString());
-		if(!inboundNode["CallsConsulted"].isNull())
-			dataObject.inbound.callsConsulted = std::stol(inboundNode["CallsConsulted"].asString());
+		if(!inboundNode["CallsAbandonedInRing"].isNull())
+			dataObject.inbound.callsAbandonedInRing = std::stol(inboundNode["CallsAbandonedInRing"].asString());
+		if(!inboundNode["CallsAttendedTransferIn"].isNull())
+			dataObject.inbound.callsAttendedTransferIn = std::stol(inboundNode["CallsAttendedTransferIn"].asString());
+		if(!inboundNode["CallsAttendedTransferOut"].isNull())
+			dataObject.inbound.callsAttendedTransferOut = std::stol(inboundNode["CallsAttendedTransferOut"].asString());
+		if(!inboundNode["CallsBlindTransferIn"].isNull())
+			dataObject.inbound.callsBlindTransferIn = std::stol(inboundNode["CallsBlindTransferIn"].asString());
+		if(!inboundNode["CallsBlindTransferOut"].isNull())
+			dataObject.inbound.callsBlindTransferOut = std::stol(inboundNode["CallsBlindTransferOut"].asString());
 		if(!inboundNode["CallsHandled"].isNull())
 			dataObject.inbound.callsHandled = std::stol(inboundNode["CallsHandled"].asString());
 		if(!inboundNode["CallsHold"].isNull())
 			dataObject.inbound.callsHold = std::stol(inboundNode["CallsHold"].asString());
 		if(!inboundNode["CallsOffered"].isNull())
 			dataObject.inbound.callsOffered = std::stol(inboundNode["CallsOffered"].asString());
+		if(!inboundNode["CallsOverflow"].isNull())
+			dataObject.inbound.callsOverflow = std::stol(inboundNode["CallsOverflow"].asString());
 		if(!inboundNode["CallsQueued"].isNull())
 			dataObject.inbound.callsQueued = std::stol(inboundNode["CallsQueued"].asString());
 		if(!inboundNode["CallsRinged"].isNull())
 			dataObject.inbound.callsRinged = std::stol(inboundNode["CallsRinged"].asString());
-		if(!inboundNode["CallsTransferred"].isNull())
-			dataObject.inbound.callsTransferred = std::stol(inboundNode["CallsTransferred"].asString());
+		if(!inboundNode["CallsTimeout"].isNull())
+			dataObject.inbound.callsTimeout = std::stol(inboundNode["CallsTimeout"].asString());
 		if(!inboundNode["HandleRate"].isNull())
 			dataObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString());
 		if(!inboundNode["MaxAbandonTime"].isNull())
@@ -90,6 +100,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.inbound.maxAbandonedInQueueTime = std::stol(inboundNode["MaxAbandonedInQueueTime"].asString());
 		if(!inboundNode["MaxAbandonedInRingTime"].isNull())
 			dataObject.inbound.maxAbandonedInRingTime = std::stol(inboundNode["MaxAbandonedInRingTime"].asString());
+		if(!inboundNode["MaxHoldTime"].isNull())
+			dataObject.inbound.maxHoldTime = std::stol(inboundNode["MaxHoldTime"].asString());
 		if(!inboundNode["MaxRingTime"].isNull())
 			dataObject.inbound.maxRingTime = std::stol(inboundNode["MaxRingTime"].asString());
 		if(!inboundNode["MaxTalkTime"].isNull())
@@ -100,6 +112,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString());
 		if(!inboundNode["SatisfactionIndex"].isNull())
 			dataObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString());
+		if(!inboundNode["SatisfactionRate"].isNull())
+			dataObject.inbound.satisfactionRate = std::stof(inboundNode["SatisfactionRate"].asString());
 		if(!inboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString());
 		if(!inboundNode["SatisfactionSurveysResponded"].isNull())
@@ -127,22 +141,44 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.outbound.answerRate = std::stof(outboundNode["AnswerRate"].asString());
 		if(!outboundNode["AverageDialingTime"].isNull())
 			dataObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString());
+		if(!outboundNode["AverageHoldTime"].isNull())
+			dataObject.outbound.averageHoldTime = std::stof(outboundNode["AverageHoldTime"].asString());
+		if(!outboundNode["AverageRingTime"].isNull())
+			dataObject.outbound.averageRingTime = std::stof(outboundNode["AverageRingTime"].asString());
 		if(!outboundNode["AverageTalkTime"].isNull())
 			dataObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString());
 		if(!outboundNode["AverageWorkTime"].isNull())
 			dataObject.outbound.averageWorkTime = std::stof(outboundNode["AverageWorkTime"].asString());
 		if(!outboundNode["CallsAnswered"].isNull())
 			dataObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString());
+		if(!outboundNode["CallsAttendedTransferIn"].isNull())
+			dataObject.outbound.callsAttendedTransferIn = std::stol(outboundNode["CallsAttendedTransferIn"].asString());
+		if(!outboundNode["CallsAttendedTransferOut"].isNull())
+			dataObject.outbound.callsAttendedTransferOut = std::stol(outboundNode["CallsAttendedTransferOut"].asString());
+		if(!outboundNode["CallsBlindTransferIn"].isNull())
+			dataObject.outbound.callsBlindTransferIn = std::stol(outboundNode["CallsBlindTransferIn"].asString());
+		if(!outboundNode["CallsBlindTransferOut"].isNull())
+			dataObject.outbound.callsBlindTransferOut = std::stol(outboundNode["CallsBlindTransferOut"].asString());
 		if(!outboundNode["CallsDialed"].isNull())
 			dataObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString());
+		if(!outboundNode["CallsHold"].isNull())
+			dataObject.outbound.callsHold = std::stol(outboundNode["CallsHold"].asString());
+		if(!outboundNode["CallsRinged"].isNull())
+			dataObject.outbound.callsRinged = std::stol(outboundNode["CallsRinged"].asString());
 		if(!outboundNode["MaxDialingTime"].isNull())
 			dataObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].asString());
+		if(!outboundNode["MaxHoldTime"].isNull())
+			dataObject.outbound.maxHoldTime = std::stol(outboundNode["MaxHoldTime"].asString());
+		if(!outboundNode["MaxRingTime"].isNull())
+			dataObject.outbound.maxRingTime = std::stol(outboundNode["MaxRingTime"].asString());
 		if(!outboundNode["MaxTalkTime"].isNull())
 			dataObject.outbound.maxTalkTime = std::stol(outboundNode["MaxTalkTime"].asString());
 		if(!outboundNode["MaxWorkTime"].isNull())
 			dataObject.outbound.maxWorkTime = std::stol(outboundNode["MaxWorkTime"].asString());
 		if(!outboundNode["SatisfactionIndex"].isNull())
 			dataObject.outbound.satisfactionIndex = std::stof(outboundNode["SatisfactionIndex"].asString());
+		if(!outboundNode["SatisfactionRate"].isNull())
+			dataObject.outbound.satisfactionRate = std::stof(outboundNode["SatisfactionRate"].asString());
 		if(!outboundNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString());
 		if(!outboundNode["SatisfactionSurveysResponded"].isNull())
@@ -151,6 +187,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString());
 		if(!outboundNode["TotalHoldTime"].isNull())
 			dataObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString());
+		if(!outboundNode["TotalRingTime"].isNull())
+			dataObject.outbound.totalRingTime = std::stol(outboundNode["TotalRingTime"].asString());
 		if(!outboundNode["TotalTalkTime"].isNull())
 			dataObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString());
 		if(!outboundNode["TotalWorkTime"].isNull())
@@ -158,6 +196,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 		auto overallNode = value["Overall"];
 		if(!overallNode["AverageBreakTime"].isNull())
 			dataObject.overall.averageBreakTime = std::stof(overallNode["AverageBreakTime"].asString());
+		if(!overallNode["AverageHoldTime"].isNull())
+			dataObject.overall.averageHoldTime = std::stof(overallNode["AverageHoldTime"].asString());
 		if(!overallNode["AverageReadyTime"].isNull())
 			dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
 		if(!overallNode["AverageTalkTime"].isNull())
@@ -166,6 +206,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.overall.averageWorkTime = std::stof(overallNode["AverageWorkTime"].asString());
 		if(!overallNode["MaxBreakTime"].isNull())
 			dataObject.overall.maxBreakTime = std::stol(overallNode["MaxBreakTime"].asString());
+		if(!overallNode["MaxHoldTime"].isNull())
+			dataObject.overall.maxHoldTime = std::stol(overallNode["MaxHoldTime"].asString());
 		if(!overallNode["MaxReadyTime"].isNull())
 			dataObject.overall.maxReadyTime = std::stol(overallNode["MaxReadyTime"].asString());
 		if(!overallNode["MaxTalkTime"].isNull())
@@ -176,6 +218,8 @@ void ListIntervalSkillGroupReportResult::parse(const std::string &payload)
 			dataObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString());
 		if(!overallNode["SatisfactionIndex"].isNull())
 			dataObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString());
+		if(!overallNode["SatisfactionRate"].isNull())
+			dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())

+ 51 - 0
ccc/src/model/ModifyInstanceRequest.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/ccc/model/ModifyInstanceRequest.h>
+
+using AlibabaCloud::CCC::Model::ModifyInstanceRequest;
+
+ModifyInstanceRequest::ModifyInstanceRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "ModifyInstance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyInstanceRequest::~ModifyInstanceRequest()
+{}
+
+std::string ModifyInstanceRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyInstanceRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyInstanceRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyInstanceRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 80 - 0
ccc/src/model/ModifyInstanceResult.cc

@@ -0,0 +1,80 @@
+/*
+ * 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/ccc/model/ModifyInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+ModifyInstanceResult::ModifyInstanceResult() :
+	ServiceResult()
+{}
+
+ModifyInstanceResult::ModifyInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyInstanceResult::~ModifyInstanceResult()
+{}
+
+void ModifyInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allParams = value["Params"]["Param"];
+	for (const auto &item : allParams)
+		params_.push_back(item.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ModifyInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+int ModifyInstanceResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::vector<std::string> ModifyInstanceResult::getParams()const
+{
+	return params_;
+}
+
+std::string ModifyInstanceResult::getData()const
+{
+	return data_;
+}
+
+std::string ModifyInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 62 - 0
ccc/src/model/ResetUserPasswordRequest.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/ccc/model/ResetUserPasswordRequest.h>
+
+using AlibabaCloud::CCC::Model::ResetUserPasswordRequest;
+
+ResetUserPasswordRequest::ResetUserPasswordRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "ResetUserPassword")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ResetUserPasswordRequest::~ResetUserPasswordRequest()
+{}
+
+std::string ResetUserPasswordRequest::getUserId()const
+{
+	return userId_;
+}
+
+void ResetUserPasswordRequest::setUserId(const std::string& userId)
+{
+	userId_ = userId;
+	setParameter("UserId", userId);
+}
+
+std::string ResetUserPasswordRequest::getPassword()const
+{
+	return password_;
+}
+
+void ResetUserPasswordRequest::setPassword(const std::string& password)
+{
+	password_ = password;
+	setParameter("Password", password);
+}
+
+std::string ResetUserPasswordRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ResetUserPasswordRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 65 - 0
ccc/src/model/ResetUserPasswordResult.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/ccc/model/ResetUserPasswordResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+ResetUserPasswordResult::ResetUserPasswordResult() :
+	ServiceResult()
+{}
+
+ResetUserPasswordResult::ResetUserPasswordResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ResetUserPasswordResult::~ResetUserPasswordResult()
+{}
+
+void ResetUserPasswordResult::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["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ResetUserPasswordResult::getMessage()const
+{
+	return message_;
+}
+
+int ResetUserPasswordResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string ResetUserPasswordResult::getCode()const
+{
+	return code_;
+}
+

+ 95 - 0
ccc/src/model/SaveRTCStatsV2Request.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/ccc/model/SaveRTCStatsV2Request.h>
+
+using AlibabaCloud::CCC::Model::SaveRTCStatsV2Request;
+
+SaveRTCStatsV2Request::SaveRTCStatsV2Request() :
+	RpcServiceRequest("ccc", "2020-07-01", "SaveRTCStatsV2")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SaveRTCStatsV2Request::~SaveRTCStatsV2Request()
+{}
+
+std::string SaveRTCStatsV2Request::getCallId()const
+{
+	return callId_;
+}
+
+void SaveRTCStatsV2Request::setCallId(const std::string& callId)
+{
+	callId_ = callId;
+	setParameter("CallId", callId);
+}
+
+std::string SaveRTCStatsV2Request::getSenderReport()const
+{
+	return senderReport_;
+}
+
+void SaveRTCStatsV2Request::setSenderReport(const std::string& senderReport)
+{
+	senderReport_ = senderReport;
+	setParameter("SenderReport", senderReport);
+}
+
+std::string SaveRTCStatsV2Request::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void SaveRTCStatsV2Request::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string SaveRTCStatsV2Request::getReceiverReport()const
+{
+	return receiverReport_;
+}
+
+void SaveRTCStatsV2Request::setReceiverReport(const std::string& receiverReport)
+{
+	receiverReport_ = receiverReport;
+	setParameter("ReceiverReport", receiverReport);
+}
+
+std::string SaveRTCStatsV2Request::getGoogAddress()const
+{
+	return googAddress_;
+}
+
+void SaveRTCStatsV2Request::setGoogAddress(const std::string& googAddress)
+{
+	googAddress_ = googAddress;
+	setParameter("GoogAddress", googAddress);
+}
+
+std::string SaveRTCStatsV2Request::getGeneralInfo()const
+{
+	return generalInfo_;
+}
+
+void SaveRTCStatsV2Request::setGeneralInfo(const std::string& generalInfo)
+{
+	generalInfo_ = generalInfo;
+	setParameter("GeneralInfo", generalInfo);
+}
+

+ 86 - 0
ccc/src/model/SaveRTCStatsV2Result.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/ccc/model/SaveRTCStatsV2Result.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+SaveRTCStatsV2Result::SaveRTCStatsV2Result() :
+	ServiceResult()
+{}
+
+SaveRTCStatsV2Result::SaveRTCStatsV2Result(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SaveRTCStatsV2Result::~SaveRTCStatsV2Result()
+{}
+
+void SaveRTCStatsV2Result::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["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stol(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["RowCount"].isNull())
+		rowCount_ = std::stol(value["RowCount"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["TimeStamp"].isNull())
+		timeStamp_ = std::stol(value["TimeStamp"].asString());
+
+}
+
+std::string SaveRTCStatsV2Result::getMessage()const
+{
+	return message_;
+}
+
+long SaveRTCStatsV2Result::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+long SaveRTCStatsV2Result::getRowCount()const
+{
+	return rowCount_;
+}
+
+std::string SaveRTCStatsV2Result::getCode()const
+{
+	return code_;
+}
+
+bool SaveRTCStatsV2Result::getSuccess()const
+{
+	return success_;
+}
+
+long SaveRTCStatsV2Result::getTimeStamp()const
+{
+	return timeStamp_;
+}
+

+ 128 - 0
ccc/src/model/SaveTerminalLogRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/ccc/model/SaveTerminalLogRequest.h>
+
+using AlibabaCloud::CCC::Model::SaveTerminalLogRequest;
+
+SaveTerminalLogRequest::SaveTerminalLogRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "SaveTerminalLog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SaveTerminalLogRequest::~SaveTerminalLogRequest()
+{}
+
+std::string SaveTerminalLogRequest::getCallId()const
+{
+	return callId_;
+}
+
+void SaveTerminalLogRequest::setCallId(const std::string& callId)
+{
+	callId_ = callId;
+	setParameter("CallId", callId);
+}
+
+std::string SaveTerminalLogRequest::getContent()const
+{
+	return content_;
+}
+
+void SaveTerminalLogRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setParameter("Content", content);
+}
+
+std::string SaveTerminalLogRequest::getUniqueRequestId()const
+{
+	return uniqueRequestId_;
+}
+
+void SaveTerminalLogRequest::setUniqueRequestId(const std::string& uniqueRequestId)
+{
+	uniqueRequestId_ = uniqueRequestId;
+	setParameter("UniqueRequestId", uniqueRequestId);
+}
+
+std::string SaveTerminalLogRequest::getJobId()const
+{
+	return jobId_;
+}
+
+void SaveTerminalLogRequest::setJobId(const std::string& jobId)
+{
+	jobId_ = jobId;
+	setParameter("JobId", jobId);
+}
+
+std::string SaveTerminalLogRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void SaveTerminalLogRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string SaveTerminalLogRequest::getAppName()const
+{
+	return appName_;
+}
+
+void SaveTerminalLogRequest::setAppName(const std::string& appName)
+{
+	appName_ = appName;
+	setParameter("AppName", appName);
+}
+
+int SaveTerminalLogRequest::getDataType()const
+{
+	return dataType_;
+}
+
+void SaveTerminalLogRequest::setDataType(int dataType)
+{
+	dataType_ = dataType;
+	setParameter("DataType", std::to_string(dataType));
+}
+
+std::string SaveTerminalLogRequest::getStatus()const
+{
+	return status_;
+}
+
+void SaveTerminalLogRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+
+std::string SaveTerminalLogRequest::getMethodName()const
+{
+	return methodName_;
+}
+
+void SaveTerminalLogRequest::setMethodName(const std::string& methodName)
+{
+	methodName_ = methodName;
+	setParameter("MethodName", methodName);
+}
+

+ 79 - 0
ccc/src/model/SaveTerminalLogResult.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/ccc/model/SaveTerminalLogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+SaveTerminalLogResult::SaveTerminalLogResult() :
+	ServiceResult()
+{}
+
+SaveTerminalLogResult::SaveTerminalLogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SaveTerminalLogResult::~SaveTerminalLogResult()
+{}
+
+void SaveTerminalLogResult::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["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stol(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["TimeStamp"].isNull())
+		timeStamp_ = std::stol(value["TimeStamp"].asString());
+
+}
+
+std::string SaveTerminalLogResult::getMessage()const
+{
+	return message_;
+}
+
+long SaveTerminalLogResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string SaveTerminalLogResult::getCode()const
+{
+	return code_;
+}
+
+bool SaveTerminalLogResult::getSuccess()const
+{
+	return success_;
+}
+
+long SaveTerminalLogResult::getTimeStamp()const
+{
+	return timeStamp_;
+}
+

+ 95 - 0
ccc/src/model/SaveWebRTCStatsRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/ccc/model/SaveWebRTCStatsRequest.h>
+
+using AlibabaCloud::CCC::Model::SaveWebRTCStatsRequest;
+
+SaveWebRTCStatsRequest::SaveWebRTCStatsRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "SaveWebRTCStats")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SaveWebRTCStatsRequest::~SaveWebRTCStatsRequest()
+{}
+
+std::string SaveWebRTCStatsRequest::getCallId()const
+{
+	return callId_;
+}
+
+void SaveWebRTCStatsRequest::setCallId(const std::string& callId)
+{
+	callId_ = callId;
+	setParameter("CallId", callId);
+}
+
+std::string SaveWebRTCStatsRequest::getSenderReport()const
+{
+	return senderReport_;
+}
+
+void SaveWebRTCStatsRequest::setSenderReport(const std::string& senderReport)
+{
+	senderReport_ = senderReport;
+	setParameter("SenderReport", senderReport);
+}
+
+std::string SaveWebRTCStatsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void SaveWebRTCStatsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string SaveWebRTCStatsRequest::getReceiverReport()const
+{
+	return receiverReport_;
+}
+
+void SaveWebRTCStatsRequest::setReceiverReport(const std::string& receiverReport)
+{
+	receiverReport_ = receiverReport;
+	setParameter("ReceiverReport", receiverReport);
+}
+
+std::string SaveWebRTCStatsRequest::getGoogAddress()const
+{
+	return googAddress_;
+}
+
+void SaveWebRTCStatsRequest::setGoogAddress(const std::string& googAddress)
+{
+	googAddress_ = googAddress;
+	setParameter("GoogAddress", googAddress);
+}
+
+std::string SaveWebRTCStatsRequest::getGeneralInfo()const
+{
+	return generalInfo_;
+}
+
+void SaveWebRTCStatsRequest::setGeneralInfo(const std::string& generalInfo)
+{
+	generalInfo_ = generalInfo;
+	setParameter("GeneralInfo", generalInfo);
+}
+

+ 86 - 0
ccc/src/model/SaveWebRTCStatsResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/ccc/model/SaveWebRTCStatsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+SaveWebRTCStatsResult::SaveWebRTCStatsResult() :
+	ServiceResult()
+{}
+
+SaveWebRTCStatsResult::SaveWebRTCStatsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SaveWebRTCStatsResult::~SaveWebRTCStatsResult()
+{}
+
+void SaveWebRTCStatsResult::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["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stol(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["RowCount"].isNull())
+		rowCount_ = std::stol(value["RowCount"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["TimeStamp"].isNull())
+		timeStamp_ = std::stol(value["TimeStamp"].asString());
+
+}
+
+std::string SaveWebRTCStatsResult::getMessage()const
+{
+	return message_;
+}
+
+long SaveWebRTCStatsResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+long SaveWebRTCStatsResult::getRowCount()const
+{
+	return rowCount_;
+}
+
+std::string SaveWebRTCStatsResult::getCode()const
+{
+	return code_;
+}
+
+bool SaveWebRTCStatsResult::getSuccess()const
+{
+	return success_;
+}
+
+long SaveWebRTCStatsResult::getTimeStamp()const
+{
+	return timeStamp_;
+}
+

+ 84 - 0
ccc/src/model/SaveWebRtcInfoRequest.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/ccc/model/SaveWebRtcInfoRequest.h>
+
+using AlibabaCloud::CCC::Model::SaveWebRtcInfoRequest;
+
+SaveWebRtcInfoRequest::SaveWebRtcInfoRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "SaveWebRtcInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SaveWebRtcInfoRequest::~SaveWebRtcInfoRequest()
+{}
+
+std::string SaveWebRtcInfoRequest::getCallId()const
+{
+	return callId_;
+}
+
+void SaveWebRtcInfoRequest::setCallId(const std::string& callId)
+{
+	callId_ = callId;
+	setParameter("CallId", callId);
+}
+
+std::string SaveWebRtcInfoRequest::getContent()const
+{
+	return content_;
+}
+
+void SaveWebRtcInfoRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setParameter("Content", content);
+}
+
+std::string SaveWebRtcInfoRequest::getContentType()const
+{
+	return contentType_;
+}
+
+void SaveWebRtcInfoRequest::setContentType(const std::string& contentType)
+{
+	contentType_ = contentType;
+	setParameter("ContentType", contentType);
+}
+
+std::string SaveWebRtcInfoRequest::getJobId()const
+{
+	return jobId_;
+}
+
+void SaveWebRtcInfoRequest::setJobId(const std::string& jobId)
+{
+	jobId_ = jobId;
+	setParameter("JobId", jobId);
+}
+
+std::string SaveWebRtcInfoRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void SaveWebRtcInfoRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 86 - 0
ccc/src/model/SaveWebRtcInfoResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/ccc/model/SaveWebRtcInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+SaveWebRtcInfoResult::SaveWebRtcInfoResult() :
+	ServiceResult()
+{}
+
+SaveWebRtcInfoResult::SaveWebRtcInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SaveWebRtcInfoResult::~SaveWebRtcInfoResult()
+{}
+
+void SaveWebRtcInfoResult::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["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stol(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["RowCount"].isNull())
+		rowCount_ = std::stol(value["RowCount"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["TimeStamp"].isNull())
+		timeStamp_ = std::stol(value["TimeStamp"].asString());
+
+}
+
+std::string SaveWebRtcInfoResult::getMessage()const
+{
+	return message_;
+}
+
+long SaveWebRtcInfoResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+long SaveWebRtcInfoResult::getRowCount()const
+{
+	return rowCount_;
+}
+
+std::string SaveWebRtcInfoResult::getCode()const
+{
+	return code_;
+}
+
+bool SaveWebRtcInfoResult::getSuccess()const
+{
+	return success_;
+}
+
+long SaveWebRtcInfoResult::getTimeStamp()const
+{
+	return timeStamp_;
+}
+

+ 73 - 0
ccc/src/model/UpdateConfigItemsRequest.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/ccc/model/UpdateConfigItemsRequest.h>
+
+using AlibabaCloud::CCC::Model::UpdateConfigItemsRequest;
+
+UpdateConfigItemsRequest::UpdateConfigItemsRequest() :
+	RpcServiceRequest("ccc", "2020-07-01", "UpdateConfigItems")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateConfigItemsRequest::~UpdateConfigItemsRequest()
+{}
+
+std::string UpdateConfigItemsRequest::getConfigItems()const
+{
+	return configItems_;
+}
+
+void UpdateConfigItemsRequest::setConfigItems(const std::string& configItems)
+{
+	configItems_ = configItems;
+	setParameter("ConfigItems", configItems);
+}
+
+std::string UpdateConfigItemsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void UpdateConfigItemsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string UpdateConfigItemsRequest::getObjectType()const
+{
+	return objectType_;
+}
+
+void UpdateConfigItemsRequest::setObjectType(const std::string& objectType)
+{
+	objectType_ = objectType;
+	setParameter("ObjectType", objectType);
+}
+
+std::string UpdateConfigItemsRequest::getObjectId()const
+{
+	return objectId_;
+}
+
+void UpdateConfigItemsRequest::setObjectId(const std::string& objectId)
+{
+	objectId_ = objectId;
+	setParameter("ObjectId", objectId);
+}
+

+ 73 - 0
ccc/src/model/UpdateConfigItemsResult.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/ccc/model/UpdateConfigItemsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CCC;
+using namespace AlibabaCloud::CCC::Model;
+
+UpdateConfigItemsResult::UpdateConfigItemsResult() :
+	ServiceResult()
+{}
+
+UpdateConfigItemsResult::UpdateConfigItemsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateConfigItemsResult::~UpdateConfigItemsResult()
+{}
+
+void UpdateConfigItemsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allParams = value["Params"]["Param"];
+	for (const auto &item : allParams)
+		params_.push_back(item.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateConfigItemsResult::getMessage()const
+{
+	return message_;
+}
+
+int UpdateConfigItemsResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::vector<std::string> UpdateConfigItemsResult::getParams()const
+{
+	return params_;
+}
+
+std::string UpdateConfigItemsResult::getCode()const
+{
+	return code_;
+}
+