Parcourir la source

Supported BreakCodeDetails,FirstCheckInTime, LastCheckoutTime .

sdk-team il y a 3 ans
Parent
commit
00eafdf174

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1579
+1.36.1580

+ 2 - 0
ccc/include/alibabacloud/ccc/model/ListAgentStateLogsResult.h

@@ -35,10 +35,12 @@ namespace AlibabaCloud
 				struct DataItem
 				{
 					std::string state;
+					std::string breakCode;
 					long startTime;
 					std::string stateCode;
 					bool outboundScenario;
 					long duration;
+					std::string workMode;
 				};
 
 

+ 23 - 9
ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h

@@ -97,28 +97,42 @@ namespace AlibabaCloud
 						};
 						struct Overall
 						{
-							long totalReadyTime;
-							long totalBreakTime;
-							long totalCalls;
+							struct BreakCodeDetail
+							{
+								std::string breakCode;
+								long duration;
+								long count;
+							};
 							long totalWorkTime;
 							long totalHoldTime;
-							long satisfactionSurveysOffered;
 							float averageHoldTime;
 							float satisfactionIndex;
 							float averageBreakTime;
-							long satisfactionSurveysResponded;
+							long totalOutboundScenarioTime;
+							long firstCheckInTime;
+							long lastCheckOutTime;
+							long totalOffSiteOnlineTime;
 							long totalTalkTime;
 							float averageReadyTime;
-							long totalLoggedInTime;
 							long maxTalkTime;
 							float satisfactionRate;
-							float averageWorkTime;
 							long maxReadyTime;
-							long maxWorkTime;
 							long maxBreakTime;
-							float occupancyRate;
 							long maxHoldTime;
 							float averageTalkTime;
+							long totalReadyTime;
+							long totalBreakTime;
+							long totalCalls;
+							long satisfactionSurveysOffered;
+							long totalOfficePhoneOnlineTime;
+							long satisfactionSurveysResponded;
+							long totalOutboundScenarioReadyTime;
+							long totalLoggedInTime;
+							float averageWorkTime;
+							std::vector<BreakCodeDetail> breakCodeDetailList;
+							long totalOnSiteOnlineTime;
+							long maxWorkTime;
+							float occupancyRate;
 						};
 						Outbound outbound;
 						Overall overall;

+ 22 - 10
ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h

@@ -95,30 +95,42 @@ namespace AlibabaCloud
 					};
 					struct Overall
 					{
-						long totalReadyTime;
-						long lastCheckoutTime;
-						long totalCalls;
-						long totalBreakTime;
+						struct BreakCodeDetail
+						{
+							std::string breakCode;
+							long duration;
+							long count;
+						};
 						long totalWorkTime;
 						long totalHoldTime;
-						long satisfactionSurveysOffered;
 						float averageHoldTime;
 						float satisfactionIndex;
 						float averageBreakTime;
+						long totalOutboundScenarioTime;
 						long firstCheckInTime;
-						long satisfactionSurveysResponded;
+						long totalOffSiteOnlineTime;
 						long totalTalkTime;
 						float averageReadyTime;
-						long totalLoggedInTime;
 						long maxTalkTime;
-						float averageWorkTime;
 						long maxReadyTime;
 						float satisfactionRate;
-						long maxWorkTime;
 						long maxBreakTime;
-						float occupancyRate;
 						long maxHoldTime;
 						float averageTalkTime;
+						long totalReadyTime;
+						long lastCheckoutTime;
+						long totalCalls;
+						long totalBreakTime;
+						long satisfactionSurveysOffered;
+						long totalOfficePhoneOnlineTime;
+						long satisfactionSurveysResponded;
+						long totalOutboundScenarioReadyTime;
+						long totalLoggedInTime;
+						float averageWorkTime;
+						std::vector<BreakCodeDetail> breakCodeDetailList;
+						long totalOnSiteOnlineTime;
+						long maxWorkTime;
+						float occupancyRate;
 					};
 					Outbound outbound;
 					Overall overall;

+ 4 - 0
ccc/src/model/ListAgentStateLogsResult.cc

@@ -53,6 +53,10 @@ void ListAgentStateLogsResult::parse(const std::string &payload)
 			dataObject.state = valueDataDataItem["State"].asString();
 		if(!valueDataDataItem["OutboundScenario"].isNull())
 			dataObject.outboundScenario = valueDataDataItem["OutboundScenario"].asString() == "true";
+		if(!valueDataDataItem["BreakCode"].isNull())
+			dataObject.breakCode = valueDataDataItem["BreakCode"].asString();
+		if(!valueDataDataItem["WorkMode"].isNull())
+			dataObject.workMode = valueDataDataItem["WorkMode"].asString();
 		data_.push_back(dataObject);
 	}
 	if(!value["Code"].isNull())

+ 26 - 0
ccc/src/model/ListHistoricalAgentReportResult.cc

@@ -213,6 +213,32 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
 			itemsObject.overall.maxTalkTime = std::stol(overallNode["MaxTalkTime"].asString());
 		if(!overallNode["TotalCalls"].isNull())
 			itemsObject.overall.totalCalls = std::stol(overallNode["TotalCalls"].asString());
+		if(!overallNode["TotalOnSiteOnlineTime"].isNull())
+			itemsObject.overall.totalOnSiteOnlineTime = std::stol(overallNode["TotalOnSiteOnlineTime"].asString());
+		if(!overallNode["TotalOffSiteOnlineTime"].isNull())
+			itemsObject.overall.totalOffSiteOnlineTime = std::stol(overallNode["TotalOffSiteOnlineTime"].asString());
+		if(!overallNode["TotalOfficePhoneOnlineTime"].isNull())
+			itemsObject.overall.totalOfficePhoneOnlineTime = std::stol(overallNode["TotalOfficePhoneOnlineTime"].asString());
+		if(!overallNode["FirstCheckInTime"].isNull())
+			itemsObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString());
+		if(!overallNode["LastCheckOutTime"].isNull())
+			itemsObject.overall.lastCheckOutTime = std::stol(overallNode["LastCheckOutTime"].asString());
+		if(!overallNode["TotalOutboundScenarioTime"].isNull())
+			itemsObject.overall.totalOutboundScenarioTime = std::stol(overallNode["TotalOutboundScenarioTime"].asString());
+		if(!overallNode["TotalOutboundScenarioReadyTime"].isNull())
+			itemsObject.overall.totalOutboundScenarioReadyTime = std::stol(overallNode["TotalOutboundScenarioReadyTime"].asString());
+		auto allBreakCodeDetailListNode = overallNode["BreakCodeDetailList"]["BreakCodeDetail"];
+		for (auto overallNodeBreakCodeDetailListBreakCodeDetail : allBreakCodeDetailListNode)
+		{
+			Data::Items::Overall::BreakCodeDetail breakCodeDetailObject;
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].isNull())
+				breakCodeDetailObject.breakCode = overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].asString();
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["Count"].isNull())
+				breakCodeDetailObject.count = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Count"].asString());
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].isNull())
+				breakCodeDetailObject.duration = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].asString());
+			itemsObject.overall.breakCodeDetailList.push_back(breakCodeDetailObject);
+		}
 		data_.list.push_back(itemsObject);
 	}
 	if(!value["Code"].isNull())

+ 24 - 2
ccc/src/model/ListIntervalAgentReportResult.cc

@@ -192,8 +192,6 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
 		if(!overallNode["SatisfactionSurveysOffered"].isNull())
 			dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
-		if(!overallNode["FirstCheckInTime"].isNull())
-			dataObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString());
 		if(!overallNode["SatisfactionSurveysResponded"].isNull())
 			dataObject.overall.satisfactionSurveysResponded = std::stol(overallNode["SatisfactionSurveysResponded"].asString());
 		if(!overallNode["AverageHoldTime"].isNull())
@@ -202,6 +200,30 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
 			dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
 		if(!overallNode["TotalBreakTime"].isNull())
 			dataObject.overall.totalBreakTime = std::stol(overallNode["TotalBreakTime"].asString());
+		if(!overallNode["TotalOnSiteOnlineTime"].isNull())
+			dataObject.overall.totalOnSiteOnlineTime = std::stol(overallNode["TotalOnSiteOnlineTime"].asString());
+		if(!overallNode["TotalOffSiteOnlineTime"].isNull())
+			dataObject.overall.totalOffSiteOnlineTime = std::stol(overallNode["TotalOffSiteOnlineTime"].asString());
+		if(!overallNode["TotalOfficePhoneOnlineTime"].isNull())
+			dataObject.overall.totalOfficePhoneOnlineTime = std::stol(overallNode["TotalOfficePhoneOnlineTime"].asString());
+		if(!overallNode["TotalOutboundScenarioTime"].isNull())
+			dataObject.overall.totalOutboundScenarioTime = std::stol(overallNode["TotalOutboundScenarioTime"].asString());
+		if(!overallNode["TotalOutboundScenarioReadyTime"].isNull())
+			dataObject.overall.totalOutboundScenarioReadyTime = std::stol(overallNode["TotalOutboundScenarioReadyTime"].asString());
+		if(!overallNode["FirstCheckInTime"].isNull())
+			dataObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString());
+		auto allBreakCodeDetailListNode = overallNode["BreakCodeDetailList"]["BreakCodeDetail"];
+		for (auto overallNodeBreakCodeDetailListBreakCodeDetail : allBreakCodeDetailListNode)
+		{
+			DataItem::Overall::BreakCodeDetail breakCodeDetailObject;
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].isNull())
+				breakCodeDetailObject.breakCode = overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].asString();
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["Count"].isNull())
+				breakCodeDetailObject.count = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Count"].asString());
+			if(!overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].isNull())
+				breakCodeDetailObject.duration = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].asString());
+			dataObject.overall.breakCodeDetailList.push_back(breakCodeDetailObject);
+		}
 		data_.push_back(dataObject);
 	}
 	if(!value["Code"].isNull())