From 681409a561203c174dc4b9795b9797f047150160 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Fri, 8 Jan 2021 02:38:27 +0000 Subject: [PATCH] Add new API for configuration and report, generate SDK again. --- CHANGELOG | 3 + ccc/CMakeLists.txt | 20 ++ ccc/include/alibabacloud/ccc/CCCClient.h | 40 ++++ .../ccc/model/ListCallDetailRecordsRequest.h | 90 ++++++++ .../ccc/model/ListCallDetailRecordsResult.h | 80 +++++++ .../model/ListHistoricalAgentReportRequest.h | 63 ++++++ .../model/ListHistoricalAgentReportResult.h | 136 ++++++++++++ .../model/ListRealtimeAgentStatesRequest.h | 66 ++++++ .../ccc/model/ListRealtimeAgentStatesResult.h | 76 +++++++ .../ListRecentCallDetailRecordsRequest.h | 60 ++++++ .../model/ListRecentCallDetailRecordsResult.h | 78 +++++++ .../ccc/model/SignOutGroupRequest.h | 54 +++++ .../ccc/model/SignOutGroupResult.h | 75 +++++++ ccc/src/CCCClient.cc | 180 ++++++++++++++++ ccc/src/model/ListCallDetailRecordsRequest.cc | 194 +++++++++++++++++ ccc/src/model/ListCallDetailRecordsResult.cc | 109 ++++++++++ .../model/ListHistoricalAgentReportRequest.cc | 95 +++++++++ .../model/ListHistoricalAgentReportResult.cc | 200 ++++++++++++++++++ .../model/ListRealtimeAgentStatesRequest.cc | 106 ++++++++++ .../model/ListRealtimeAgentStatesResult.cc | 102 +++++++++ .../ListRecentCallDetailRecordsRequest.cc | 84 ++++++++ .../ListRecentCallDetailRecordsResult.cc | 105 +++++++++ ccc/src/model/SignOutGroupRequest.cc | 62 ++++++ ccc/src/model/SignOutGroupResult.cc | 106 ++++++++++ 24 files changed, 2184 insertions(+) create mode 100644 ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportRequest.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesRequest.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesResult.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsRequest.h create mode 100644 ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsResult.h create mode 100644 ccc/include/alibabacloud/ccc/model/SignOutGroupRequest.h create mode 100644 ccc/include/alibabacloud/ccc/model/SignOutGroupResult.h create mode 100644 ccc/src/model/ListCallDetailRecordsRequest.cc create mode 100644 ccc/src/model/ListCallDetailRecordsResult.cc create mode 100644 ccc/src/model/ListHistoricalAgentReportRequest.cc create mode 100644 ccc/src/model/ListHistoricalAgentReportResult.cc create mode 100644 ccc/src/model/ListRealtimeAgentStatesRequest.cc create mode 100644 ccc/src/model/ListRealtimeAgentStatesResult.cc create mode 100644 ccc/src/model/ListRecentCallDetailRecordsRequest.cc create mode 100644 ccc/src/model/ListRecentCallDetailRecordsResult.cc create mode 100644 ccc/src/model/SignOutGroupRequest.cc create mode 100644 ccc/src/model/SignOutGroupResult.cc diff --git a/CHANGELOG b/CHANGELOG index f3bf037f3..1c1780c8b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2021-01-08 Version: patch +- Add new API for configuration and report, generate SDK again. + 2021-01-07 Version: patch - Add new API for configuration and report. diff --git a/ccc/CMakeLists.txt b/ccc/CMakeLists.txt index 09d32a639..b960af8a1 100644 --- a/ccc/CMakeLists.txt +++ b/ccc/CMakeLists.txt @@ -53,14 +53,22 @@ set(ccc_public_header_model include/alibabacloud/ccc/model/LaunchSurveyResult.h include/alibabacloud/ccc/model/ListBriefSkillGroupsRequest.h include/alibabacloud/ccc/model/ListBriefSkillGroupsResult.h + include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h + include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h include/alibabacloud/ccc/model/ListConfigItemsRequest.h include/alibabacloud/ccc/model/ListConfigItemsResult.h include/alibabacloud/ccc/model/ListDevicesRequest.h include/alibabacloud/ccc/model/ListDevicesResult.h + include/alibabacloud/ccc/model/ListHistoricalAgentReportRequest.h + include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h include/alibabacloud/ccc/model/ListOutboundNumbersOfUserRequest.h include/alibabacloud/ccc/model/ListOutboundNumbersOfUserResult.h include/alibabacloud/ccc/model/ListPrivilegesOfUserRequest.h include/alibabacloud/ccc/model/ListPrivilegesOfUserResult.h + include/alibabacloud/ccc/model/ListRealtimeAgentStatesRequest.h + include/alibabacloud/ccc/model/ListRealtimeAgentStatesResult.h + include/alibabacloud/ccc/model/ListRecentCallDetailRecordsRequest.h + include/alibabacloud/ccc/model/ListRecentCallDetailRecordsResult.h include/alibabacloud/ccc/model/ListSkillLevelsOfUserRequest.h include/alibabacloud/ccc/model/ListSkillLevelsOfUserResult.h include/alibabacloud/ccc/model/MakeCallRequest.h @@ -87,6 +95,8 @@ set(ccc_public_header_model include/alibabacloud/ccc/model/SendDtmfSignalingResult.h include/alibabacloud/ccc/model/SignInGroupRequest.h include/alibabacloud/ccc/model/SignInGroupResult.h + include/alibabacloud/ccc/model/SignOutGroupRequest.h + include/alibabacloud/ccc/model/SignOutGroupResult.h include/alibabacloud/ccc/model/TakeBreakRequest.h include/alibabacloud/ccc/model/TakeBreakResult.h include/alibabacloud/ccc/model/UnmuteCallRequest.h @@ -126,14 +136,22 @@ set(ccc_src src/model/LaunchSurveyResult.cc src/model/ListBriefSkillGroupsRequest.cc src/model/ListBriefSkillGroupsResult.cc + src/model/ListCallDetailRecordsRequest.cc + src/model/ListCallDetailRecordsResult.cc src/model/ListConfigItemsRequest.cc src/model/ListConfigItemsResult.cc src/model/ListDevicesRequest.cc src/model/ListDevicesResult.cc + src/model/ListHistoricalAgentReportRequest.cc + src/model/ListHistoricalAgentReportResult.cc src/model/ListOutboundNumbersOfUserRequest.cc src/model/ListOutboundNumbersOfUserResult.cc src/model/ListPrivilegesOfUserRequest.cc src/model/ListPrivilegesOfUserResult.cc + src/model/ListRealtimeAgentStatesRequest.cc + src/model/ListRealtimeAgentStatesResult.cc + src/model/ListRecentCallDetailRecordsRequest.cc + src/model/ListRecentCallDetailRecordsResult.cc src/model/ListSkillLevelsOfUserRequest.cc src/model/ListSkillLevelsOfUserResult.cc src/model/MakeCallRequest.cc @@ -160,6 +178,8 @@ set(ccc_src src/model/SendDtmfSignalingResult.cc src/model/SignInGroupRequest.cc src/model/SignInGroupResult.cc + src/model/SignOutGroupRequest.cc + src/model/SignOutGroupResult.cc src/model/TakeBreakRequest.cc src/model/TakeBreakResult.cc src/model/UnmuteCallRequest.cc diff --git a/ccc/include/alibabacloud/ccc/CCCClient.h b/ccc/include/alibabacloud/ccc/CCCClient.h index 43b33cc96..edc2015b5 100644 --- a/ccc/include/alibabacloud/ccc/CCCClient.h +++ b/ccc/include/alibabacloud/ccc/CCCClient.h @@ -54,14 +54,22 @@ #include "model/LaunchSurveyResult.h" #include "model/ListBriefSkillGroupsRequest.h" #include "model/ListBriefSkillGroupsResult.h" +#include "model/ListCallDetailRecordsRequest.h" +#include "model/ListCallDetailRecordsResult.h" #include "model/ListConfigItemsRequest.h" #include "model/ListConfigItemsResult.h" #include "model/ListDevicesRequest.h" #include "model/ListDevicesResult.h" +#include "model/ListHistoricalAgentReportRequest.h" +#include "model/ListHistoricalAgentReportResult.h" #include "model/ListOutboundNumbersOfUserRequest.h" #include "model/ListOutboundNumbersOfUserResult.h" #include "model/ListPrivilegesOfUserRequest.h" #include "model/ListPrivilegesOfUserResult.h" +#include "model/ListRealtimeAgentStatesRequest.h" +#include "model/ListRealtimeAgentStatesResult.h" +#include "model/ListRecentCallDetailRecordsRequest.h" +#include "model/ListRecentCallDetailRecordsResult.h" #include "model/ListSkillLevelsOfUserRequest.h" #include "model/ListSkillLevelsOfUserResult.h" #include "model/MakeCallRequest.h" @@ -88,6 +96,8 @@ #include "model/SendDtmfSignalingResult.h" #include "model/SignInGroupRequest.h" #include "model/SignInGroupResult.h" +#include "model/SignOutGroupRequest.h" +#include "model/SignOutGroupResult.h" #include "model/TakeBreakRequest.h" #include "model/TakeBreakResult.h" #include "model/UnmuteCallRequest.h" @@ -149,18 +159,30 @@ namespace AlibabaCloud typedef Outcome ListBriefSkillGroupsOutcome; typedef std::future ListBriefSkillGroupsOutcomeCallable; typedef std::function&)> ListBriefSkillGroupsAsyncHandler; + typedef Outcome ListCallDetailRecordsOutcome; + typedef std::future ListCallDetailRecordsOutcomeCallable; + typedef std::function&)> ListCallDetailRecordsAsyncHandler; typedef Outcome ListConfigItemsOutcome; typedef std::future ListConfigItemsOutcomeCallable; typedef std::function&)> ListConfigItemsAsyncHandler; typedef Outcome ListDevicesOutcome; typedef std::future ListDevicesOutcomeCallable; typedef std::function&)> ListDevicesAsyncHandler; + typedef Outcome ListHistoricalAgentReportOutcome; + typedef std::future ListHistoricalAgentReportOutcomeCallable; + typedef std::function&)> ListHistoricalAgentReportAsyncHandler; typedef Outcome ListOutboundNumbersOfUserOutcome; typedef std::future ListOutboundNumbersOfUserOutcomeCallable; typedef std::function&)> ListOutboundNumbersOfUserAsyncHandler; typedef Outcome ListPrivilegesOfUserOutcome; typedef std::future ListPrivilegesOfUserOutcomeCallable; typedef std::function&)> ListPrivilegesOfUserAsyncHandler; + typedef Outcome ListRealtimeAgentStatesOutcome; + typedef std::future ListRealtimeAgentStatesOutcomeCallable; + typedef std::function&)> ListRealtimeAgentStatesAsyncHandler; + typedef Outcome ListRecentCallDetailRecordsOutcome; + typedef std::future ListRecentCallDetailRecordsOutcomeCallable; + typedef std::function&)> ListRecentCallDetailRecordsAsyncHandler; typedef Outcome ListSkillLevelsOfUserOutcome; typedef std::future ListSkillLevelsOfUserOutcomeCallable; typedef std::function&)> ListSkillLevelsOfUserAsyncHandler; @@ -200,6 +222,9 @@ namespace AlibabaCloud typedef Outcome SignInGroupOutcome; typedef std::future SignInGroupOutcomeCallable; typedef std::function&)> SignInGroupAsyncHandler; + typedef Outcome SignOutGroupOutcome; + typedef std::future SignOutGroupOutcomeCallable; + typedef std::function&)> SignOutGroupAsyncHandler; typedef Outcome TakeBreakOutcome; typedef std::future TakeBreakOutcomeCallable; typedef std::function&)> TakeBreakAsyncHandler; @@ -259,18 +284,30 @@ namespace AlibabaCloud ListBriefSkillGroupsOutcome listBriefSkillGroups(const Model::ListBriefSkillGroupsRequest &request)const; void listBriefSkillGroupsAsync(const Model::ListBriefSkillGroupsRequest& request, const ListBriefSkillGroupsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListBriefSkillGroupsOutcomeCallable listBriefSkillGroupsCallable(const Model::ListBriefSkillGroupsRequest& request) const; + ListCallDetailRecordsOutcome listCallDetailRecords(const Model::ListCallDetailRecordsRequest &request)const; + void listCallDetailRecordsAsync(const Model::ListCallDetailRecordsRequest& request, const ListCallDetailRecordsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ListCallDetailRecordsOutcomeCallable listCallDetailRecordsCallable(const Model::ListCallDetailRecordsRequest& request) const; ListConfigItemsOutcome listConfigItems(const Model::ListConfigItemsRequest &request)const; void listConfigItemsAsync(const Model::ListConfigItemsRequest& request, const ListConfigItemsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListConfigItemsOutcomeCallable listConfigItemsCallable(const Model::ListConfigItemsRequest& request) const; ListDevicesOutcome listDevices(const Model::ListDevicesRequest &request)const; void listDevicesAsync(const Model::ListDevicesRequest& request, const ListDevicesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListDevicesOutcomeCallable listDevicesCallable(const Model::ListDevicesRequest& request) const; + ListHistoricalAgentReportOutcome listHistoricalAgentReport(const Model::ListHistoricalAgentReportRequest &request)const; + void listHistoricalAgentReportAsync(const Model::ListHistoricalAgentReportRequest& request, const ListHistoricalAgentReportAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ListHistoricalAgentReportOutcomeCallable listHistoricalAgentReportCallable(const Model::ListHistoricalAgentReportRequest& request) const; ListOutboundNumbersOfUserOutcome listOutboundNumbersOfUser(const Model::ListOutboundNumbersOfUserRequest &request)const; void listOutboundNumbersOfUserAsync(const Model::ListOutboundNumbersOfUserRequest& request, const ListOutboundNumbersOfUserAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListOutboundNumbersOfUserOutcomeCallable listOutboundNumbersOfUserCallable(const Model::ListOutboundNumbersOfUserRequest& request) const; ListPrivilegesOfUserOutcome listPrivilegesOfUser(const Model::ListPrivilegesOfUserRequest &request)const; void listPrivilegesOfUserAsync(const Model::ListPrivilegesOfUserRequest& request, const ListPrivilegesOfUserAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListPrivilegesOfUserOutcomeCallable listPrivilegesOfUserCallable(const Model::ListPrivilegesOfUserRequest& request) const; + ListRealtimeAgentStatesOutcome listRealtimeAgentStates(const Model::ListRealtimeAgentStatesRequest &request)const; + void listRealtimeAgentStatesAsync(const Model::ListRealtimeAgentStatesRequest& request, const ListRealtimeAgentStatesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ListRealtimeAgentStatesOutcomeCallable listRealtimeAgentStatesCallable(const Model::ListRealtimeAgentStatesRequest& request) const; + ListRecentCallDetailRecordsOutcome listRecentCallDetailRecords(const Model::ListRecentCallDetailRecordsRequest &request)const; + void listRecentCallDetailRecordsAsync(const Model::ListRecentCallDetailRecordsRequest& request, const ListRecentCallDetailRecordsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ListRecentCallDetailRecordsOutcomeCallable listRecentCallDetailRecordsCallable(const Model::ListRecentCallDetailRecordsRequest& request) const; ListSkillLevelsOfUserOutcome listSkillLevelsOfUser(const Model::ListSkillLevelsOfUserRequest &request)const; void listSkillLevelsOfUserAsync(const Model::ListSkillLevelsOfUserRequest& request, const ListSkillLevelsOfUserAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ListSkillLevelsOfUserOutcomeCallable listSkillLevelsOfUserCallable(const Model::ListSkillLevelsOfUserRequest& request) const; @@ -310,6 +347,9 @@ namespace AlibabaCloud SignInGroupOutcome signInGroup(const Model::SignInGroupRequest &request)const; void signInGroupAsync(const Model::SignInGroupRequest& request, const SignInGroupAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; SignInGroupOutcomeCallable signInGroupCallable(const Model::SignInGroupRequest& request) const; + SignOutGroupOutcome signOutGroup(const Model::SignOutGroupRequest &request)const; + void signOutGroupAsync(const Model::SignOutGroupRequest& request, const SignOutGroupAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + SignOutGroupOutcomeCallable signOutGroupCallable(const Model::SignOutGroupRequest& request) const; TakeBreakOutcome takeBreak(const Model::TakeBreakRequest &request)const; void takeBreakAsync(const Model::TakeBreakRequest& request, const TakeBreakAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; TakeBreakOutcomeCallable takeBreakCallable(const Model::TakeBreakRequest& request) const; diff --git a/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h b/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h new file mode 100644 index 000000000..329e6d4e4 --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsRequest.h @@ -0,0 +1,90 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSREQUEST_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListCallDetailRecordsRequest : public RpcServiceRequest + { + + public: + ListCallDetailRecordsRequest(); + ~ListCallDetailRecordsRequest(); + + std::string getContactId()const; + void setContactId(const std::string& contactId); + std::string getOrderByField()const; + void setOrderByField(const std::string& orderByField); + long getStartTime()const; + void setStartTime(long startTime); + int getPageNumber()const; + void setPageNumber(int pageNumber); + std::string getCalledNumber()const; + void setCalledNumber(const std::string& calledNumber); + int getPageSize()const; + void setPageSize(int pageSize); + std::string getSortOrder()const; + void setSortOrder(const std::string& sortOrder); + bool getWithRecording()const; + void setWithRecording(bool withRecording); + std::string getAgentId()const; + void setAgentId(const std::string& agentId); + std::string getContactType()const; + void setContactType(const std::string& contactType); + long getEndTime()const; + void setEndTime(long endTime); + std::string getCallingNumber()const; + void setCallingNumber(const std::string& callingNumber); + std::string getContactDisposition()const; + void setContactDisposition(const std::string& contactDisposition); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + std::string getSkillGroupId()const; + void setSkillGroupId(const std::string& skillGroupId); + + private: + std::string contactId_; + std::string orderByField_; + long startTime_; + int pageNumber_; + std::string calledNumber_; + int pageSize_; + std::string sortOrder_; + bool withRecording_; + std::string agentId_; + std::string contactType_; + long endTime_; + std::string callingNumber_; + std::string contactDisposition_; + std::string instanceId_; + std::string skillGroupId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSREQUEST_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h b/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h new file mode 100644 index 000000000..465ecaf6a --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListCallDetailRecordsResult.h @@ -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. + */ + +#ifndef ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSRESULT_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListCallDetailRecordsResult : public ServiceResult + { + public: + struct Data + { + struct CallDetailRecord + { + std::string skillGroupIds; + std::string calledNumber; + std::string contactType; + std::string contactDisposition; + std::string instanceId; + long startTime; + std::string contactId; + std::string callDuration; + std::string callingNumber; + std::string skillGroupNames; + std::string agentIds; + long establishedTime; + std::string agentNames; + }; + int totalCount; + int pageSize; + int pageNumber; + std::vector list; + }; + + + ListCallDetailRecordsResult(); + explicit ListCallDetailRecordsResult(const std::string &payload); + ~ListCallDetailRecordsResult(); + std::string getMessage()const; + int getHttpStatusCode()const; + Data getData()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + int httpStatusCode_; + Data data_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTCALLDETAILRECORDSRESULT_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportRequest.h b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportRequest.h new file mode 100644 index 000000000..22b9b3d6d --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportRequest.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_LISTHISTORICALAGENTREPORTREQUEST_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTHISTORICALAGENTREPORTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListHistoricalAgentReportRequest : public RpcServiceRequest + { + + public: + ListHistoricalAgentReportRequest(); + ~ListHistoricalAgentReportRequest(); + + long getStartTime()const; + void setStartTime(long startTime); + long getStopTime()const; + void setStopTime(long stopTime); + int getPageNumber()const; + void setPageNumber(int pageNumber); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + std::string getAgentIdList()const; + void setAgentIdList(const std::string& agentIdList); + int getPageSize()const; + void setPageSize(int pageSize); + + private: + long startTime_; + long stopTime_; + int pageNumber_; + std::string instanceId_; + std::string agentIdList_; + int pageSize_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTHISTORICALAGENTREPORTREQUEST_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h new file mode 100644 index 000000000..cd34a3366 --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h @@ -0,0 +1,136 @@ +/* + * 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_LISTHISTORICALAGENTREPORTRESULT_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTHISTORICALAGENTREPORTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListHistoricalAgentReportResult : public ServiceResult + { + public: + struct Data + { + struct Items + { + struct Inbound + { + long callsConsulted; + long serviceLevel20; + long totalWorkTime; + long totalHoldTime; + long satisfactionSurveysOffered; + long callsOffered; + long maxRingTime; + long callsHold; + float satisfactionIndex; + long callsHandled; + long satisfactionSurveysResponded; + long totalRingTime; + float handleRate; + float averageRingTime; + long totalTalkTime; + long callsTransfered; + long maxTalkTime; + float averageWorkTime; + long maxWorkTime; + float averageTalkTime; + }; + struct Outbound + { + long totalDialingTime; + long totalWorkTime; + long totalHoldTime; + long satisfactionSurveysOffered; + float satisfactionIndex; + long satisfactionSurveysResponded; + float averageDialingTime; + long callsAnswered; + long callsDialed; + long totalTalkTime; + long maxDialingTime; + long maxTalkTime; + long averageWorkTime; + long maxWorkTime; + float answerRate; + float averageTalkTime; + }; + struct Overall + { + long totalReadyTime; + long totalBreakTime; + long totalCalls; + long totalWorkTime; + long totalHoldTime; + long satisfactionSurveysOffered; + float satisfactionIndex; + float averageBreakTime; + long satisfactionSurveysResponded; + long totalTalkTime; + float averageReadyTime; + long totalLoggedInTime; + long maxTalkTime; + float averageWorkTime; + long maxReadyTime; + long maxBreakTime; + long maxWorkTime; + float averageTalkTime; + float occupancyRate; + }; + Outbound outbound; + Overall overall; + std::string agentId; + std::string agentName; + Inbound inbound; + }; + int totalCount; + int pageSize; + int pageNumber; + std::vector list; + }; + + + ListHistoricalAgentReportResult(); + explicit ListHistoricalAgentReportResult(const std::string &payload); + ~ListHistoricalAgentReportResult(); + std::string getMessage()const; + int getHttpStatusCode()const; + Data getData()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + int httpStatusCode_; + Data data_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTHISTORICALAGENTREPORTRESULT_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesRequest.h b/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesRequest.h new file mode 100644 index 000000000..fb7fa1efd --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesRequest.h @@ -0,0 +1,66 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_CCC_MODEL_LISTREALTIMEAGENTSTATESREQUEST_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTREALTIMEAGENTSTATESREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListRealtimeAgentStatesRequest : public RpcServiceRequest + { + + public: + ListRealtimeAgentStatesRequest(); + ~ListRealtimeAgentStatesRequest(); + + int getPageNumber()const; + void setPageNumber(int pageNumber); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + std::string getAgentIdList()const; + void setAgentIdList(const std::string& agentIdList); + std::string getSkillGroupId()const; + void setSkillGroupId(const std::string& skillGroupId); + std::string getAgentName()const; + void setAgentName(const std::string& agentName); + int getPageSize()const; + void setPageSize(int pageSize); + std::string getStateList()const; + void setStateList(const std::string& stateList); + + private: + int pageNumber_; + std::string instanceId_; + std::string agentIdList_; + std::string skillGroupId_; + std::string agentName_; + int pageSize_; + std::string stateList_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTREALTIMEAGENTSTATESREQUEST_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesResult.h b/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesResult.h new file mode 100644 index 000000000..99997ff2c --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListRealtimeAgentStatesResult.h @@ -0,0 +1,76 @@ +/* + * 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_LISTREALTIMEAGENTSTATESRESULT_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTREALTIMEAGENTSTATESRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListRealtimeAgentStatesResult : public ServiceResult + { + public: + struct Data + { + struct AgentState + { + std::string extension; + std::string counterParty; + long stateTime; + std::string instanceId; + std::string state; + std::string stateCode; + std::string agentId; + std::string agentName; + std::vector skillGroupIdList; + }; + int totalCount; + int pageSize; + int pageNumber; + std::vector list; + }; + + + ListRealtimeAgentStatesResult(); + explicit ListRealtimeAgentStatesResult(const std::string &payload); + ~ListRealtimeAgentStatesResult(); + std::string getMessage()const; + int getHttpStatusCode()const; + Data getData()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + int httpStatusCode_; + Data data_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTREALTIMEAGENTSTATESRESULT_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsRequest.h b/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsRequest.h new file mode 100644 index 000000000..014ee6283 --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsRequest.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_LISTRECENTCALLDETAILRECORDSREQUEST_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTRECENTCALLDETAILRECORDSREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListRecentCallDetailRecordsRequest : public RpcServiceRequest + { + + public: + ListRecentCallDetailRecordsRequest(); + ~ListRecentCallDetailRecordsRequest(); + + long getEndTime()const; + void setEndTime(long endTime); + long getStartTime()const; + void setStartTime(long startTime); + int getPageNumber()const; + void setPageNumber(int pageNumber); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + int getPageSize()const; + void setPageSize(int pageSize); + + private: + long endTime_; + long startTime_; + int pageNumber_; + std::string instanceId_; + int pageSize_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTRECENTCALLDETAILRECORDSREQUEST_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsResult.h b/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsResult.h new file mode 100644 index 000000000..027c714a8 --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/ListRecentCallDetailRecordsResult.h @@ -0,0 +1,78 @@ +/* + * 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_LISTRECENTCALLDETAILRECORDSRESULT_H_ +#define ALIBABACLOUD_CCC_MODEL_LISTRECENTCALLDETAILRECORDSRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT ListRecentCallDetailRecordsResult : public ServiceResult + { + public: + struct Data + { + struct CallDetailRecord + { + std::string skillGroupIds; + std::string calledNumber; + std::string contactType; + std::string contactDisposition; + std::string instanceId; + std::string agentIds; + long startTime; + long duration; + std::string contactId; + std::string callDuration; + std::string callingNumber; + }; + int totalCount; + int pageSize; + int pageNumber; + std::vector list; + }; + + + ListRecentCallDetailRecordsResult(); + explicit ListRecentCallDetailRecordsResult(const std::string &payload); + ~ListRecentCallDetailRecordsResult(); + std::string getMessage()const; + int getHttpStatusCode()const; + Data getData()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + int httpStatusCode_; + Data data_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_LISTRECENTCALLDETAILRECORDSRESULT_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/SignOutGroupRequest.h b/ccc/include/alibabacloud/ccc/model/SignOutGroupRequest.h new file mode 100644 index 000000000..e30a5093e --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/SignOutGroupRequest.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_SIGNOUTGROUPREQUEST_H_ +#define ALIBABACLOUD_CCC_MODEL_SIGNOUTGROUPREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT SignOutGroupRequest : public RpcServiceRequest + { + + public: + SignOutGroupRequest(); + ~SignOutGroupRequest(); + + std::string getUserId()const; + void setUserId(const std::string& userId); + std::string getDeviceId()const; + void setDeviceId(const std::string& deviceId); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + + private: + std::string userId_; + std::string deviceId_; + std::string instanceId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_SIGNOUTGROUPREQUEST_H_ \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/SignOutGroupResult.h b/ccc/include/alibabacloud/ccc/model/SignOutGroupResult.h new file mode 100644 index 000000000..e066a4714 --- /dev/null +++ b/ccc/include/alibabacloud/ccc/model/SignOutGroupResult.h @@ -0,0 +1,75 @@ +/* + * 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_SIGNOUTGROUPRESULT_H_ +#define ALIBABACLOUD_CCC_MODEL_SIGNOUTGROUPRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace CCC + { + namespace Model + { + class ALIBABACLOUD_CCC_EXPORT SignOutGroupResult : public ServiceResult + { + public: + struct Data + { + std::string userState; + std::string instanceId; + std::string breakCode; + std::string deviceId; + bool outboundScenario; + std::string mobile; + std::vector signedSkillGroupIdList; + std::string extension; + std::string userId; + long heartbeat; + std::string jobId; + std::string workMode; + long reserved; + }; + + + SignOutGroupResult(); + explicit SignOutGroupResult(const std::string &payload); + ~SignOutGroupResult(); + std::string getMessage()const; + int getHttpStatusCode()const; + std::vector getParams()const; + Data getData()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + int httpStatusCode_; + std::vector params_; + Data data_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CCC_MODEL_SIGNOUTGROUPRESULT_H_ \ No newline at end of file diff --git a/ccc/src/CCCClient.cc b/ccc/src/CCCClient.cc index 6d77d46ac..0309f1cb1 100644 --- a/ccc/src/CCCClient.cc +++ b/ccc/src/CCCClient.cc @@ -627,6 +627,42 @@ CCCClient::ListBriefSkillGroupsOutcomeCallable CCCClient::listBriefSkillGroupsCa return task->get_future(); } +CCCClient::ListCallDetailRecordsOutcome CCCClient::listCallDetailRecords(const ListCallDetailRecordsRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ListCallDetailRecordsOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ListCallDetailRecordsOutcome(ListCallDetailRecordsResult(outcome.result())); + else + return ListCallDetailRecordsOutcome(outcome.error()); +} + +void CCCClient::listCallDetailRecordsAsync(const ListCallDetailRecordsRequest& request, const ListCallDetailRecordsAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, listCallDetailRecords(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CCCClient::ListCallDetailRecordsOutcomeCallable CCCClient::listCallDetailRecordsCallable(const ListCallDetailRecordsRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->listCallDetailRecords(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CCCClient::ListConfigItemsOutcome CCCClient::listConfigItems(const ListConfigItemsRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -699,6 +735,42 @@ CCCClient::ListDevicesOutcomeCallable CCCClient::listDevicesCallable(const ListD return task->get_future(); } +CCCClient::ListHistoricalAgentReportOutcome CCCClient::listHistoricalAgentReport(const ListHistoricalAgentReportRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ListHistoricalAgentReportOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ListHistoricalAgentReportOutcome(ListHistoricalAgentReportResult(outcome.result())); + else + return ListHistoricalAgentReportOutcome(outcome.error()); +} + +void CCCClient::listHistoricalAgentReportAsync(const ListHistoricalAgentReportRequest& request, const ListHistoricalAgentReportAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, listHistoricalAgentReport(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CCCClient::ListHistoricalAgentReportOutcomeCallable CCCClient::listHistoricalAgentReportCallable(const ListHistoricalAgentReportRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->listHistoricalAgentReport(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CCCClient::ListOutboundNumbersOfUserOutcome CCCClient::listOutboundNumbersOfUser(const ListOutboundNumbersOfUserRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -771,6 +843,78 @@ CCCClient::ListPrivilegesOfUserOutcomeCallable CCCClient::listPrivilegesOfUserCa return task->get_future(); } +CCCClient::ListRealtimeAgentStatesOutcome CCCClient::listRealtimeAgentStates(const ListRealtimeAgentStatesRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ListRealtimeAgentStatesOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ListRealtimeAgentStatesOutcome(ListRealtimeAgentStatesResult(outcome.result())); + else + return ListRealtimeAgentStatesOutcome(outcome.error()); +} + +void CCCClient::listRealtimeAgentStatesAsync(const ListRealtimeAgentStatesRequest& request, const ListRealtimeAgentStatesAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, listRealtimeAgentStates(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CCCClient::ListRealtimeAgentStatesOutcomeCallable CCCClient::listRealtimeAgentStatesCallable(const ListRealtimeAgentStatesRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->listRealtimeAgentStates(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +CCCClient::ListRecentCallDetailRecordsOutcome CCCClient::listRecentCallDetailRecords(const ListRecentCallDetailRecordsRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ListRecentCallDetailRecordsOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ListRecentCallDetailRecordsOutcome(ListRecentCallDetailRecordsResult(outcome.result())); + else + return ListRecentCallDetailRecordsOutcome(outcome.error()); +} + +void CCCClient::listRecentCallDetailRecordsAsync(const ListRecentCallDetailRecordsRequest& request, const ListRecentCallDetailRecordsAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, listRecentCallDetailRecords(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CCCClient::ListRecentCallDetailRecordsOutcomeCallable CCCClient::listRecentCallDetailRecordsCallable(const ListRecentCallDetailRecordsRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->listRecentCallDetailRecords(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CCCClient::ListSkillLevelsOfUserOutcome CCCClient::listSkillLevelsOfUser(const ListSkillLevelsOfUserRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -1239,6 +1383,42 @@ CCCClient::SignInGroupOutcomeCallable CCCClient::signInGroupCallable(const SignI return task->get_future(); } +CCCClient::SignOutGroupOutcome CCCClient::signOutGroup(const SignOutGroupRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return SignOutGroupOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return SignOutGroupOutcome(SignOutGroupResult(outcome.result())); + else + return SignOutGroupOutcome(outcome.error()); +} + +void CCCClient::signOutGroupAsync(const SignOutGroupRequest& request, const SignOutGroupAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, signOutGroup(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CCCClient::SignOutGroupOutcomeCallable CCCClient::signOutGroupCallable(const SignOutGroupRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->signOutGroup(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CCCClient::TakeBreakOutcome CCCClient::takeBreak(const TakeBreakRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/ccc/src/model/ListCallDetailRecordsRequest.cc b/ccc/src/model/ListCallDetailRecordsRequest.cc new file mode 100644 index 000000000..d0dddbe41 --- /dev/null +++ b/ccc/src/model/ListCallDetailRecordsRequest.cc @@ -0,0 +1,194 @@ +/* + * 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 + +using AlibabaCloud::CCC::Model::ListCallDetailRecordsRequest; + +ListCallDetailRecordsRequest::ListCallDetailRecordsRequest() : + RpcServiceRequest("ccc", "2020-07-01", "ListCallDetailRecords") +{ + setMethod(HttpRequest::Method::Post); +} + +ListCallDetailRecordsRequest::~ListCallDetailRecordsRequest() +{} + +std::string ListCallDetailRecordsRequest::getContactId()const +{ + return contactId_; +} + +void ListCallDetailRecordsRequest::setContactId(const std::string& contactId) +{ + contactId_ = contactId; + setParameter("ContactId", contactId); +} + +std::string ListCallDetailRecordsRequest::getOrderByField()const +{ + return orderByField_; +} + +void ListCallDetailRecordsRequest::setOrderByField(const std::string& orderByField) +{ + orderByField_ = orderByField; + setParameter("OrderByField", orderByField); +} + +long ListCallDetailRecordsRequest::getStartTime()const +{ + return startTime_; +} + +void ListCallDetailRecordsRequest::setStartTime(long startTime) +{ + startTime_ = startTime; + setParameter("StartTime", std::to_string(startTime)); +} + +int ListCallDetailRecordsRequest::getPageNumber()const +{ + return pageNumber_; +} + +void ListCallDetailRecordsRequest::setPageNumber(int pageNumber) +{ + pageNumber_ = pageNumber; + setParameter("PageNumber", std::to_string(pageNumber)); +} + +std::string ListCallDetailRecordsRequest::getCalledNumber()const +{ + return calledNumber_; +} + +void ListCallDetailRecordsRequest::setCalledNumber(const std::string& calledNumber) +{ + calledNumber_ = calledNumber; + setParameter("CalledNumber", calledNumber); +} + +int ListCallDetailRecordsRequest::getPageSize()const +{ + return pageSize_; +} + +void ListCallDetailRecordsRequest::setPageSize(int pageSize) +{ + pageSize_ = pageSize; + setParameter("PageSize", std::to_string(pageSize)); +} + +std::string ListCallDetailRecordsRequest::getSortOrder()const +{ + return sortOrder_; +} + +void ListCallDetailRecordsRequest::setSortOrder(const std::string& sortOrder) +{ + sortOrder_ = sortOrder; + setParameter("SortOrder", sortOrder); +} + +bool ListCallDetailRecordsRequest::getWithRecording()const +{ + return withRecording_; +} + +void ListCallDetailRecordsRequest::setWithRecording(bool withRecording) +{ + withRecording_ = withRecording; + setParameter("WithRecording", withRecording ? "true" : "false"); +} + +std::string ListCallDetailRecordsRequest::getAgentId()const +{ + return agentId_; +} + +void ListCallDetailRecordsRequest::setAgentId(const std::string& agentId) +{ + agentId_ = agentId; + setParameter("AgentId", agentId); +} + +std::string ListCallDetailRecordsRequest::getContactType()const +{ + return contactType_; +} + +void ListCallDetailRecordsRequest::setContactType(const std::string& contactType) +{ + contactType_ = contactType; + setParameter("ContactType", contactType); +} + +long ListCallDetailRecordsRequest::getEndTime()const +{ + return endTime_; +} + +void ListCallDetailRecordsRequest::setEndTime(long endTime) +{ + endTime_ = endTime; + setParameter("EndTime", std::to_string(endTime)); +} + +std::string ListCallDetailRecordsRequest::getCallingNumber()const +{ + return callingNumber_; +} + +void ListCallDetailRecordsRequest::setCallingNumber(const std::string& callingNumber) +{ + callingNumber_ = callingNumber; + setParameter("CallingNumber", callingNumber); +} + +std::string ListCallDetailRecordsRequest::getContactDisposition()const +{ + return contactDisposition_; +} + +void ListCallDetailRecordsRequest::setContactDisposition(const std::string& contactDisposition) +{ + contactDisposition_ = contactDisposition; + setParameter("ContactDisposition", contactDisposition); +} + +std::string ListCallDetailRecordsRequest::getInstanceId()const +{ + return instanceId_; +} + +void ListCallDetailRecordsRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +std::string ListCallDetailRecordsRequest::getSkillGroupId()const +{ + return skillGroupId_; +} + +void ListCallDetailRecordsRequest::setSkillGroupId(const std::string& skillGroupId) +{ + skillGroupId_ = skillGroupId; + setParameter("SkillGroupId", skillGroupId); +} + diff --git a/ccc/src/model/ListCallDetailRecordsResult.cc b/ccc/src/model/ListCallDetailRecordsResult.cc new file mode 100644 index 000000000..60733a867 --- /dev/null +++ b/ccc/src/model/ListCallDetailRecordsResult.cc @@ -0,0 +1,109 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::CCC; +using namespace AlibabaCloud::CCC::Model; + +ListCallDetailRecordsResult::ListCallDetailRecordsResult() : + ServiceResult() +{} + +ListCallDetailRecordsResult::ListCallDetailRecordsResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ListCallDetailRecordsResult::~ListCallDetailRecordsResult() +{} + +void ListCallDetailRecordsResult::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"]["CallDetailRecord"]; + for (auto dataNodeListCallDetailRecord : allListNode) + { + Data::CallDetailRecord callDetailRecordObject; + if(!dataNodeListCallDetailRecord["AgentIds"].isNull()) + callDetailRecordObject.agentIds = dataNodeListCallDetailRecord["AgentIds"].asString(); + if(!dataNodeListCallDetailRecord["AgentNames"].isNull()) + callDetailRecordObject.agentNames = dataNodeListCallDetailRecord["AgentNames"].asString(); + if(!dataNodeListCallDetailRecord["CallDuration"].isNull()) + callDetailRecordObject.callDuration = dataNodeListCallDetailRecord["CallDuration"].asString(); + if(!dataNodeListCallDetailRecord["CalledNumber"].isNull()) + callDetailRecordObject.calledNumber = dataNodeListCallDetailRecord["CalledNumber"].asString(); + if(!dataNodeListCallDetailRecord["CallingNumber"].isNull()) + callDetailRecordObject.callingNumber = dataNodeListCallDetailRecord["CallingNumber"].asString(); + if(!dataNodeListCallDetailRecord["ContactDisposition"].isNull()) + callDetailRecordObject.contactDisposition = dataNodeListCallDetailRecord["ContactDisposition"].asString(); + if(!dataNodeListCallDetailRecord["ContactId"].isNull()) + callDetailRecordObject.contactId = dataNodeListCallDetailRecord["ContactId"].asString(); + if(!dataNodeListCallDetailRecord["ContactType"].isNull()) + callDetailRecordObject.contactType = dataNodeListCallDetailRecord["ContactType"].asString(); + if(!dataNodeListCallDetailRecord["EstablishedTime"].isNull()) + callDetailRecordObject.establishedTime = std::stol(dataNodeListCallDetailRecord["EstablishedTime"].asString()); + if(!dataNodeListCallDetailRecord["InstanceId"].isNull()) + callDetailRecordObject.instanceId = dataNodeListCallDetailRecord["InstanceId"].asString(); + if(!dataNodeListCallDetailRecord["SkillGroupIds"].isNull()) + callDetailRecordObject.skillGroupIds = dataNodeListCallDetailRecord["SkillGroupIds"].asString(); + if(!dataNodeListCallDetailRecord["SkillGroupNames"].isNull()) + callDetailRecordObject.skillGroupNames = dataNodeListCallDetailRecord["SkillGroupNames"].asString(); + if(!dataNodeListCallDetailRecord["StartTime"].isNull()) + callDetailRecordObject.startTime = std::stol(dataNodeListCallDetailRecord["StartTime"].asString()); + data_.list.push_back(callDetailRecordObject); + } + 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 ListCallDetailRecordsResult::getMessage()const +{ + return message_; +} + +int ListCallDetailRecordsResult::getHttpStatusCode()const +{ + return httpStatusCode_; +} + +ListCallDetailRecordsResult::Data ListCallDetailRecordsResult::getData()const +{ + return data_; +} + +std::string ListCallDetailRecordsResult::getCode()const +{ + return code_; +} + diff --git a/ccc/src/model/ListHistoricalAgentReportRequest.cc b/ccc/src/model/ListHistoricalAgentReportRequest.cc new file mode 100644 index 000000000..18ee6d7df --- /dev/null +++ b/ccc/src/model/ListHistoricalAgentReportRequest.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 + +using AlibabaCloud::CCC::Model::ListHistoricalAgentReportRequest; + +ListHistoricalAgentReportRequest::ListHistoricalAgentReportRequest() : + RpcServiceRequest("ccc", "2020-07-01", "ListHistoricalAgentReport") +{ + setMethod(HttpRequest::Method::Post); +} + +ListHistoricalAgentReportRequest::~ListHistoricalAgentReportRequest() +{} + +long ListHistoricalAgentReportRequest::getStartTime()const +{ + return startTime_; +} + +void ListHistoricalAgentReportRequest::setStartTime(long startTime) +{ + startTime_ = startTime; + setParameter("StartTime", std::to_string(startTime)); +} + +long ListHistoricalAgentReportRequest::getStopTime()const +{ + return stopTime_; +} + +void ListHistoricalAgentReportRequest::setStopTime(long stopTime) +{ + stopTime_ = stopTime; + setParameter("StopTime", std::to_string(stopTime)); +} + +int ListHistoricalAgentReportRequest::getPageNumber()const +{ + return pageNumber_; +} + +void ListHistoricalAgentReportRequest::setPageNumber(int pageNumber) +{ + pageNumber_ = pageNumber; + setParameter("PageNumber", std::to_string(pageNumber)); +} + +std::string ListHistoricalAgentReportRequest::getInstanceId()const +{ + return instanceId_; +} + +void ListHistoricalAgentReportRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +std::string ListHistoricalAgentReportRequest::getAgentIdList()const +{ + return agentIdList_; +} + +void ListHistoricalAgentReportRequest::setAgentIdList(const std::string& agentIdList) +{ + agentIdList_ = agentIdList; + setBodyParameter("AgentIdList", agentIdList); +} + +int ListHistoricalAgentReportRequest::getPageSize()const +{ + return pageSize_; +} + +void ListHistoricalAgentReportRequest::setPageSize(int pageSize) +{ + pageSize_ = pageSize; + setParameter("PageSize", std::to_string(pageSize)); +} + diff --git a/ccc/src/model/ListHistoricalAgentReportResult.cc b/ccc/src/model/ListHistoricalAgentReportResult.cc new file mode 100644 index 000000000..ba4b5a1d6 --- /dev/null +++ b/ccc/src/model/ListHistoricalAgentReportResult.cc @@ -0,0 +1,200 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::CCC; +using namespace AlibabaCloud::CCC::Model; + +ListHistoricalAgentReportResult::ListHistoricalAgentReportResult() : + ServiceResult() +{} + +ListHistoricalAgentReportResult::ListHistoricalAgentReportResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ListHistoricalAgentReportResult::~ListHistoricalAgentReportResult() +{} + +void ListHistoricalAgentReportResult::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"]["Items"]; + for (auto dataNodeListItems : allListNode) + { + Data::Items itemsObject; + if(!dataNodeListItems["AgentId"].isNull()) + itemsObject.agentId = dataNodeListItems["AgentId"].asString(); + if(!dataNodeListItems["AgentName"].isNull()) + itemsObject.agentName = dataNodeListItems["AgentName"].asString(); + auto inboundNode = value["Inbound"]; + if(!inboundNode["AverageRingTime"].isNull()) + itemsObject.inbound.averageRingTime = std::stof(inboundNode["AverageRingTime"].asString()); + if(!inboundNode["AverageTalkTime"].isNull()) + 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["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["CallsTransfered"].isNull()) + itemsObject.inbound.callsTransfered = std::stol(inboundNode["CallsTransfered"].asString()); + if(!inboundNode["HandleRate"].isNull()) + itemsObject.inbound.handleRate = std::stof(inboundNode["HandleRate"].asString()); + if(!inboundNode["MaxRingTime"].isNull()) + itemsObject.inbound.maxRingTime = std::stol(inboundNode["MaxRingTime"].asString()); + if(!inboundNode["MaxTalkTime"].isNull()) + itemsObject.inbound.maxTalkTime = std::stol(inboundNode["MaxTalkTime"].asString()); + if(!inboundNode["MaxWorkTime"].isNull()) + itemsObject.inbound.maxWorkTime = std::stol(inboundNode["MaxWorkTime"].asString()); + if(!inboundNode["SatisfactionIndex"].isNull()) + itemsObject.inbound.satisfactionIndex = std::stof(inboundNode["SatisfactionIndex"].asString()); + if(!inboundNode["SatisfactionSurveysOffered"].isNull()) + itemsObject.inbound.satisfactionSurveysOffered = std::stol(inboundNode["SatisfactionSurveysOffered"].asString()); + if(!inboundNode["SatisfactionSurveysResponded"].isNull()) + itemsObject.inbound.satisfactionSurveysResponded = std::stol(inboundNode["SatisfactionSurveysResponded"].asString()); + if(!inboundNode["ServiceLevel20"].isNull()) + itemsObject.inbound.serviceLevel20 = std::stol(inboundNode["ServiceLevel20"].asString()); + if(!inboundNode["TotalHoldTime"].isNull()) + itemsObject.inbound.totalHoldTime = std::stol(inboundNode["TotalHoldTime"].asString()); + if(!inboundNode["TotalRingTime"].isNull()) + itemsObject.inbound.totalRingTime = std::stol(inboundNode["TotalRingTime"].asString()); + if(!inboundNode["TotalTalkTime"].isNull()) + itemsObject.inbound.totalTalkTime = std::stol(inboundNode["TotalTalkTime"].asString()); + if(!inboundNode["TotalWorkTime"].isNull()) + itemsObject.inbound.totalWorkTime = std::stol(inboundNode["TotalWorkTime"].asString()); + auto outboundNode = value["Outbound"]; + if(!outboundNode["AnswerRate"].isNull()) + itemsObject.outbound.answerRate = std::stof(outboundNode["AnswerRate"].asString()); + if(!outboundNode["AverageDialingTime"].isNull()) + itemsObject.outbound.averageDialingTime = std::stof(outboundNode["AverageDialingTime"].asString()); + if(!outboundNode["AverageTalkTime"].isNull()) + itemsObject.outbound.averageTalkTime = std::stof(outboundNode["AverageTalkTime"].asString()); + if(!outboundNode["AverageWorkTime"].isNull()) + itemsObject.outbound.averageWorkTime = std::stol(outboundNode["AverageWorkTime"].asString()); + if(!outboundNode["CallsAnswered"].isNull()) + itemsObject.outbound.callsAnswered = std::stol(outboundNode["CallsAnswered"].asString()); + if(!outboundNode["CallsDialed"].isNull()) + itemsObject.outbound.callsDialed = std::stol(outboundNode["CallsDialed"].asString()); + if(!outboundNode["MaxDialingTime"].isNull()) + itemsObject.outbound.maxDialingTime = std::stol(outboundNode["MaxDialingTime"].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["SatisfactionSurveysOffered"].isNull()) + itemsObject.outbound.satisfactionSurveysOffered = std::stol(outboundNode["SatisfactionSurveysOffered"].asString()); + if(!outboundNode["SatisfactionSurveysResponded"].isNull()) + itemsObject.outbound.satisfactionSurveysResponded = std::stol(outboundNode["SatisfactionSurveysResponded"].asString()); + if(!outboundNode["TotalDialingTime"].isNull()) + itemsObject.outbound.totalDialingTime = std::stol(outboundNode["TotalDialingTime"].asString()); + if(!outboundNode["TotalHoldTime"].isNull()) + itemsObject.outbound.totalHoldTime = std::stol(outboundNode["TotalHoldTime"].asString()); + if(!outboundNode["TotalTalkTime"].isNull()) + itemsObject.outbound.totalTalkTime = std::stol(outboundNode["TotalTalkTime"].asString()); + if(!outboundNode["TotalWorkTime"].isNull()) + itemsObject.outbound.totalWorkTime = std::stol(outboundNode["TotalWorkTime"].asString()); + auto overallNode = value["Overall"]; + if(!overallNode["AverageBreakTime"].isNull()) + itemsObject.overall.averageBreakTime = std::stof(overallNode["AverageBreakTime"].asString()); + if(!overallNode["AverageReadyTime"].isNull()) + itemsObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString()); + if(!overallNode["AverageTalkTime"].isNull()) + itemsObject.overall.averageTalkTime = std::stof(overallNode["AverageTalkTime"].asString()); + if(!overallNode["AverageWorkTime"].isNull()) + itemsObject.overall.averageWorkTime = std::stof(overallNode["AverageWorkTime"].asString()); + if(!overallNode["MaxBreakTime"].isNull()) + itemsObject.overall.maxBreakTime = std::stol(overallNode["MaxBreakTime"].asString()); + if(!overallNode["MaxReadyTime"].isNull()) + itemsObject.overall.maxReadyTime = std::stol(overallNode["MaxReadyTime"].asString()); + if(!overallNode["MaxTalkTime"].isNull()) + itemsObject.overall.maxTalkTime = std::stol(overallNode["MaxTalkTime"].asString()); + if(!overallNode["MaxWorkTime"].isNull()) + itemsObject.overall.maxWorkTime = std::stol(overallNode["MaxWorkTime"].asString()); + if(!overallNode["OccupancyRate"].isNull()) + itemsObject.overall.occupancyRate = std::stof(overallNode["OccupancyRate"].asString()); + if(!overallNode["SatisfactionIndex"].isNull()) + itemsObject.overall.satisfactionIndex = std::stof(overallNode["SatisfactionIndex"].asString()); + if(!overallNode["SatisfactionSurveysOffered"].isNull()) + itemsObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString()); + if(!overallNode["SatisfactionSurveysResponded"].isNull()) + itemsObject.overall.satisfactionSurveysResponded = std::stol(overallNode["SatisfactionSurveysResponded"].asString()); + if(!overallNode["TotalBreakTime"].isNull()) + itemsObject.overall.totalBreakTime = std::stol(overallNode["TotalBreakTime"].asString()); + if(!overallNode["TotalCalls"].isNull()) + itemsObject.overall.totalCalls = std::stol(overallNode["TotalCalls"].asString()); + if(!overallNode["TotalHoldTime"].isNull()) + itemsObject.overall.totalHoldTime = std::stol(overallNode["TotalHoldTime"].asString()); + if(!overallNode["TotalLoggedInTime"].isNull()) + itemsObject.overall.totalLoggedInTime = std::stol(overallNode["TotalLoggedInTime"].asString()); + if(!overallNode["TotalReadyTime"].isNull()) + itemsObject.overall.totalReadyTime = std::stol(overallNode["TotalReadyTime"].asString()); + if(!overallNode["TotalTalkTime"].isNull()) + itemsObject.overall.totalTalkTime = std::stol(overallNode["TotalTalkTime"].asString()); + if(!overallNode["TotalWorkTime"].isNull()) + itemsObject.overall.totalWorkTime = std::stol(overallNode["TotalWorkTime"].asString()); + data_.list.push_back(itemsObject); + } + 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 ListHistoricalAgentReportResult::getMessage()const +{ + return message_; +} + +int ListHistoricalAgentReportResult::getHttpStatusCode()const +{ + return httpStatusCode_; +} + +ListHistoricalAgentReportResult::Data ListHistoricalAgentReportResult::getData()const +{ + return data_; +} + +std::string ListHistoricalAgentReportResult::getCode()const +{ + return code_; +} + diff --git a/ccc/src/model/ListRealtimeAgentStatesRequest.cc b/ccc/src/model/ListRealtimeAgentStatesRequest.cc new file mode 100644 index 000000000..1ef3358c8 --- /dev/null +++ b/ccc/src/model/ListRealtimeAgentStatesRequest.cc @@ -0,0 +1,106 @@ +/* + * 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 + +using AlibabaCloud::CCC::Model::ListRealtimeAgentStatesRequest; + +ListRealtimeAgentStatesRequest::ListRealtimeAgentStatesRequest() : + RpcServiceRequest("ccc", "2020-07-01", "ListRealtimeAgentStates") +{ + setMethod(HttpRequest::Method::Post); +} + +ListRealtimeAgentStatesRequest::~ListRealtimeAgentStatesRequest() +{} + +int ListRealtimeAgentStatesRequest::getPageNumber()const +{ + return pageNumber_; +} + +void ListRealtimeAgentStatesRequest::setPageNumber(int pageNumber) +{ + pageNumber_ = pageNumber; + setParameter("PageNumber", std::to_string(pageNumber)); +} + +std::string ListRealtimeAgentStatesRequest::getInstanceId()const +{ + return instanceId_; +} + +void ListRealtimeAgentStatesRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +std::string ListRealtimeAgentStatesRequest::getAgentIdList()const +{ + return agentIdList_; +} + +void ListRealtimeAgentStatesRequest::setAgentIdList(const std::string& agentIdList) +{ + agentIdList_ = agentIdList; + setBodyParameter("AgentIdList", agentIdList); +} + +std::string ListRealtimeAgentStatesRequest::getSkillGroupId()const +{ + return skillGroupId_; +} + +void ListRealtimeAgentStatesRequest::setSkillGroupId(const std::string& skillGroupId) +{ + skillGroupId_ = skillGroupId; + setParameter("SkillGroupId", skillGroupId); +} + +std::string ListRealtimeAgentStatesRequest::getAgentName()const +{ + return agentName_; +} + +void ListRealtimeAgentStatesRequest::setAgentName(const std::string& agentName) +{ + agentName_ = agentName; + setParameter("AgentName", agentName); +} + +int ListRealtimeAgentStatesRequest::getPageSize()const +{ + return pageSize_; +} + +void ListRealtimeAgentStatesRequest::setPageSize(int pageSize) +{ + pageSize_ = pageSize; + setParameter("PageSize", std::to_string(pageSize)); +} + +std::string ListRealtimeAgentStatesRequest::getStateList()const +{ + return stateList_; +} + +void ListRealtimeAgentStatesRequest::setStateList(const std::string& stateList) +{ + stateList_ = stateList; + setBodyParameter("StateList", stateList); +} + diff --git a/ccc/src/model/ListRealtimeAgentStatesResult.cc b/ccc/src/model/ListRealtimeAgentStatesResult.cc new file mode 100644 index 000000000..38898c358 --- /dev/null +++ b/ccc/src/model/ListRealtimeAgentStatesResult.cc @@ -0,0 +1,102 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::CCC; +using namespace AlibabaCloud::CCC::Model; + +ListRealtimeAgentStatesResult::ListRealtimeAgentStatesResult() : + ServiceResult() +{} + +ListRealtimeAgentStatesResult::ListRealtimeAgentStatesResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ListRealtimeAgentStatesResult::~ListRealtimeAgentStatesResult() +{} + +void ListRealtimeAgentStatesResult::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"]["AgentState"]; + for (auto dataNodeListAgentState : allListNode) + { + Data::AgentState agentStateObject; + if(!dataNodeListAgentState["AgentId"].isNull()) + agentStateObject.agentId = dataNodeListAgentState["AgentId"].asString(); + if(!dataNodeListAgentState["AgentName"].isNull()) + agentStateObject.agentName = dataNodeListAgentState["AgentName"].asString(); + if(!dataNodeListAgentState["CounterParty"].isNull()) + agentStateObject.counterParty = dataNodeListAgentState["CounterParty"].asString(); + if(!dataNodeListAgentState["Extension"].isNull()) + agentStateObject.extension = dataNodeListAgentState["Extension"].asString(); + if(!dataNodeListAgentState["InstanceId"].isNull()) + agentStateObject.instanceId = dataNodeListAgentState["InstanceId"].asString(); + if(!dataNodeListAgentState["State"].isNull()) + agentStateObject.state = dataNodeListAgentState["State"].asString(); + if(!dataNodeListAgentState["StateCode"].isNull()) + agentStateObject.stateCode = dataNodeListAgentState["StateCode"].asString(); + if(!dataNodeListAgentState["StateTime"].isNull()) + agentStateObject.stateTime = std::stol(dataNodeListAgentState["StateTime"].asString()); + auto allSkillGroupIdList = value["SkillGroupIdList"]["SkillGroupId"]; + for (auto value : allSkillGroupIdList) + agentStateObject.skillGroupIdList.push_back(value.asString()); + data_.list.push_back(agentStateObject); + } + 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 ListRealtimeAgentStatesResult::getMessage()const +{ + return message_; +} + +int ListRealtimeAgentStatesResult::getHttpStatusCode()const +{ + return httpStatusCode_; +} + +ListRealtimeAgentStatesResult::Data ListRealtimeAgentStatesResult::getData()const +{ + return data_; +} + +std::string ListRealtimeAgentStatesResult::getCode()const +{ + return code_; +} + diff --git a/ccc/src/model/ListRecentCallDetailRecordsRequest.cc b/ccc/src/model/ListRecentCallDetailRecordsRequest.cc new file mode 100644 index 000000000..8137c2d36 --- /dev/null +++ b/ccc/src/model/ListRecentCallDetailRecordsRequest.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 + +using AlibabaCloud::CCC::Model::ListRecentCallDetailRecordsRequest; + +ListRecentCallDetailRecordsRequest::ListRecentCallDetailRecordsRequest() : + RpcServiceRequest("ccc", "2020-07-01", "ListRecentCallDetailRecords") +{ + setMethod(HttpRequest::Method::Post); +} + +ListRecentCallDetailRecordsRequest::~ListRecentCallDetailRecordsRequest() +{} + +long ListRecentCallDetailRecordsRequest::getEndTime()const +{ + return endTime_; +} + +void ListRecentCallDetailRecordsRequest::setEndTime(long endTime) +{ + endTime_ = endTime; + setParameter("EndTime", std::to_string(endTime)); +} + +long ListRecentCallDetailRecordsRequest::getStartTime()const +{ + return startTime_; +} + +void ListRecentCallDetailRecordsRequest::setStartTime(long startTime) +{ + startTime_ = startTime; + setBodyParameter("StartTime", std::to_string(startTime)); +} + +int ListRecentCallDetailRecordsRequest::getPageNumber()const +{ + return pageNumber_; +} + +void ListRecentCallDetailRecordsRequest::setPageNumber(int pageNumber) +{ + pageNumber_ = pageNumber; + setParameter("PageNumber", std::to_string(pageNumber)); +} + +std::string ListRecentCallDetailRecordsRequest::getInstanceId()const +{ + return instanceId_; +} + +void ListRecentCallDetailRecordsRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +int ListRecentCallDetailRecordsRequest::getPageSize()const +{ + return pageSize_; +} + +void ListRecentCallDetailRecordsRequest::setPageSize(int pageSize) +{ + pageSize_ = pageSize; + setParameter("PageSize", std::to_string(pageSize)); +} + diff --git a/ccc/src/model/ListRecentCallDetailRecordsResult.cc b/ccc/src/model/ListRecentCallDetailRecordsResult.cc new file mode 100644 index 000000000..440b91214 --- /dev/null +++ b/ccc/src/model/ListRecentCallDetailRecordsResult.cc @@ -0,0 +1,105 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::CCC; +using namespace AlibabaCloud::CCC::Model; + +ListRecentCallDetailRecordsResult::ListRecentCallDetailRecordsResult() : + ServiceResult() +{} + +ListRecentCallDetailRecordsResult::ListRecentCallDetailRecordsResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ListRecentCallDetailRecordsResult::~ListRecentCallDetailRecordsResult() +{} + +void ListRecentCallDetailRecordsResult::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"]["CallDetailRecord"]; + for (auto dataNodeListCallDetailRecord : allListNode) + { + Data::CallDetailRecord callDetailRecordObject; + if(!dataNodeListCallDetailRecord["AgentIds"].isNull()) + callDetailRecordObject.agentIds = dataNodeListCallDetailRecord["AgentIds"].asString(); + if(!dataNodeListCallDetailRecord["CallDuration"].isNull()) + callDetailRecordObject.callDuration = dataNodeListCallDetailRecord["CallDuration"].asString(); + if(!dataNodeListCallDetailRecord["CalledNumber"].isNull()) + callDetailRecordObject.calledNumber = dataNodeListCallDetailRecord["CalledNumber"].asString(); + if(!dataNodeListCallDetailRecord["CallingNumber"].isNull()) + callDetailRecordObject.callingNumber = dataNodeListCallDetailRecord["CallingNumber"].asString(); + if(!dataNodeListCallDetailRecord["ContactDisposition"].isNull()) + callDetailRecordObject.contactDisposition = dataNodeListCallDetailRecord["ContactDisposition"].asString(); + if(!dataNodeListCallDetailRecord["ContactId"].isNull()) + callDetailRecordObject.contactId = dataNodeListCallDetailRecord["ContactId"].asString(); + if(!dataNodeListCallDetailRecord["ContactType"].isNull()) + callDetailRecordObject.contactType = dataNodeListCallDetailRecord["ContactType"].asString(); + if(!dataNodeListCallDetailRecord["Duration"].isNull()) + callDetailRecordObject.duration = std::stol(dataNodeListCallDetailRecord["Duration"].asString()); + if(!dataNodeListCallDetailRecord["InstanceId"].isNull()) + callDetailRecordObject.instanceId = dataNodeListCallDetailRecord["InstanceId"].asString(); + if(!dataNodeListCallDetailRecord["SkillGroupIds"].isNull()) + callDetailRecordObject.skillGroupIds = dataNodeListCallDetailRecord["SkillGroupIds"].asString(); + if(!dataNodeListCallDetailRecord["StartTime"].isNull()) + callDetailRecordObject.startTime = std::stol(dataNodeListCallDetailRecord["StartTime"].asString()); + data_.list.push_back(callDetailRecordObject); + } + 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 ListRecentCallDetailRecordsResult::getMessage()const +{ + return message_; +} + +int ListRecentCallDetailRecordsResult::getHttpStatusCode()const +{ + return httpStatusCode_; +} + +ListRecentCallDetailRecordsResult::Data ListRecentCallDetailRecordsResult::getData()const +{ + return data_; +} + +std::string ListRecentCallDetailRecordsResult::getCode()const +{ + return code_; +} + diff --git a/ccc/src/model/SignOutGroupRequest.cc b/ccc/src/model/SignOutGroupRequest.cc new file mode 100644 index 000000000..6aa7d05c2 --- /dev/null +++ b/ccc/src/model/SignOutGroupRequest.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 + +using AlibabaCloud::CCC::Model::SignOutGroupRequest; + +SignOutGroupRequest::SignOutGroupRequest() : + RpcServiceRequest("ccc", "2020-07-01", "SignOutGroup") +{ + setMethod(HttpRequest::Method::Post); +} + +SignOutGroupRequest::~SignOutGroupRequest() +{} + +std::string SignOutGroupRequest::getUserId()const +{ + return userId_; +} + +void SignOutGroupRequest::setUserId(const std::string& userId) +{ + userId_ = userId; + setParameter("UserId", userId); +} + +std::string SignOutGroupRequest::getDeviceId()const +{ + return deviceId_; +} + +void SignOutGroupRequest::setDeviceId(const std::string& deviceId) +{ + deviceId_ = deviceId; + setParameter("DeviceId", deviceId); +} + +std::string SignOutGroupRequest::getInstanceId()const +{ + return instanceId_; +} + +void SignOutGroupRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + diff --git a/ccc/src/model/SignOutGroupResult.cc b/ccc/src/model/SignOutGroupResult.cc new file mode 100644 index 000000000..77b766b88 --- /dev/null +++ b/ccc/src/model/SignOutGroupResult.cc @@ -0,0 +1,106 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::CCC; +using namespace AlibabaCloud::CCC::Model; + +SignOutGroupResult::SignOutGroupResult() : + ServiceResult() +{} + +SignOutGroupResult::SignOutGroupResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +SignOutGroupResult::~SignOutGroupResult() +{} + +void SignOutGroupResult::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["BreakCode"].isNull()) + data_.breakCode = dataNode["BreakCode"].asString(); + if(!dataNode["DeviceId"].isNull()) + data_.deviceId = dataNode["DeviceId"].asString(); + if(!dataNode["Extension"].isNull()) + data_.extension = dataNode["Extension"].asString(); + if(!dataNode["Heartbeat"].isNull()) + data_.heartbeat = std::stol(dataNode["Heartbeat"].asString()); + if(!dataNode["InstanceId"].isNull()) + data_.instanceId = dataNode["InstanceId"].asString(); + if(!dataNode["JobId"].isNull()) + data_.jobId = dataNode["JobId"].asString(); + if(!dataNode["Mobile"].isNull()) + data_.mobile = dataNode["Mobile"].asString(); + if(!dataNode["OutboundScenario"].isNull()) + data_.outboundScenario = dataNode["OutboundScenario"].asString() == "true"; + if(!dataNode["Reserved"].isNull()) + data_.reserved = std::stol(dataNode["Reserved"].asString()); + if(!dataNode["UserId"].isNull()) + data_.userId = dataNode["UserId"].asString(); + if(!dataNode["UserState"].isNull()) + data_.userState = dataNode["UserState"].asString(); + if(!dataNode["WorkMode"].isNull()) + data_.workMode = dataNode["WorkMode"].asString(); + auto allSignedSkillGroupIdList = dataNode["SignedSkillGroupIdList"]["SkillGroupId"]; + for (auto value : allSignedSkillGroupIdList) + data_.signedSkillGroupIdList.push_back(value.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 SignOutGroupResult::getMessage()const +{ + return message_; +} + +int SignOutGroupResult::getHttpStatusCode()const +{ + return httpStatusCode_; +} + +std::vector SignOutGroupResult::getParams()const +{ + return params_; +} + +SignOutGroupResult::Data SignOutGroupResult::getData()const +{ + return data_; +} + +std::string SignOutGroupResult::getCode()const +{ + return code_; +} +