purecloudplatformclientv2 95.0.0 → 96.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsProposedAgent.md +14 -0
  4. data/docs/AnalyticsSession.md +2 -0
  5. data/docs/ArrayNode.md +4 -4
  6. data/docs/AuditApi.md +60 -0
  7. data/docs/BuAgentSchedulesQueryResponse.md +1 -0
  8. data/docs/CoachingApi.md +80 -2
  9. data/docs/CoachingAppointmentAggregateRequest.md +16 -0
  10. data/docs/CoachingAppointmentAggregateResponse.md +13 -0
  11. data/docs/CoachingAppointmentResponse.md +1 -0
  12. data/docs/ConversationMetrics.md +15 -0
  13. data/docs/ExternalOrganizationTrustorLink.md +1 -2
  14. data/docs/GenericSAML.md +1 -1
  15. data/docs/JsonNode.md +4 -4
  16. data/docs/OAuthClient.md +1 -0
  17. data/docs/OAuthClientListing.md +1 -0
  18. data/docs/OAuthClientRequest.md +1 -0
  19. data/docs/OrgOAuthClient.md +1 -0
  20. data/docs/Permissions.md +0 -2
  21. data/docs/QueryRequestClause.md +14 -0
  22. data/docs/QueryRequestFilter.md +14 -0
  23. data/docs/QueryRequestPredicate.md +14 -0
  24. data/docs/QueryResponseData.md +14 -0
  25. data/docs/QueryResponseGroupedData.md +14 -0
  26. data/docs/QueryResponseMetric.md +14 -0
  27. data/docs/QueryResponseStats.md +13 -0
  28. data/docs/ReportingDataExportTopicDataExportNotification.md +1 -0
  29. data/docs/ReportingExportJobResponse.md +1 -0
  30. data/docs/RoutingApi.md +1 -1
  31. data/docs/SearchApi.md +2 -1
  32. data/docs/SpeechTextAnalyticsApi.md +66 -0
  33. data/docs/StatEventFlowOutcomeTopicDatum.md +14 -0
  34. data/docs/StatEventFlowOutcomeTopicMetric.md +15 -0
  35. data/docs/StatEventFlowOutcomeTopicStatsNotification.md +14 -0
  36. data/docs/StatEventFlowTopicDatum.md +14 -0
  37. data/docs/StatEventFlowTopicMetric.md +15 -0
  38. data/docs/StatEventFlowTopicStatsNotification.md +14 -0
  39. data/docs/StatEventWrapUpCodeTopicDatum.md +14 -0
  40. data/docs/StatEventWrapUpCodeTopicMetric.md +15 -0
  41. data/docs/StatEventWrapUpCodeTopicStatsNotification.md +14 -0
  42. data/docs/UserScheduleAdherence.md +1 -0
  43. data/docs/UserSearchRequest.md +1 -0
  44. data/docs/UsersApi.md +2 -1
  45. data/docs/WemCoachingAppointmentTopicCoachingAppointmentNotification.md +1 -0
  46. data/docs/WfmBusinessUnitReference.md +1 -1
  47. data/docs/WfmScheduleReference.md +3 -3
  48. data/docs/WfmUserScheduleAdherenceUpdatedMuTopicUriReference.md +14 -0
  49. data/docs/WfmUserScheduleAdherenceUpdatedMuTopicUserScheduleAdherenceUpdate.md +1 -0
  50. data/docs/WfmUserScheduleAdherenceUpdatedTeamTopicQueueReference.md +13 -0
  51. data/docs/WfmUserScheduleAdherenceUpdatedTeamTopicUriReference.md +14 -0
  52. data/docs/WfmUserScheduleAdherenceUpdatedTeamTopicUserReference.md +13 -0
  53. data/docs/WfmUserScheduleAdherenceUpdatedTeamTopicUserScheduleAdherenceUpdate.md +28 -0
  54. data/docs/WfmUserScheduleAdherenceUpdatedTopicUriReference.md +14 -0
  55. data/docs/WfmUserScheduleAdherenceUpdatedTopicUserScheduleAdherenceUpdate.md +1 -0
  56. data/lib/purecloudplatformclientv2.rb +26 -0
  57. data/lib/purecloudplatformclientv2/api/audit_api.rb +55 -0
  58. data/lib/purecloudplatformclientv2/api/coaching_api.rb +127 -0
  59. data/lib/purecloudplatformclientv2/api/routing_api.rb +2 -2
  60. data/lib/purecloudplatformclientv2/api/speech_text_analytics_api.rb +65 -0
  61. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  62. data/lib/purecloudplatformclientv2/models/acw_settings.rb +2 -2
  63. data/lib/purecloudplatformclientv2/models/analytics_proposed_agent.rb +228 -0
  64. data/lib/purecloudplatformclientv2/models/analytics_session.rb +58 -4
  65. data/lib/purecloudplatformclientv2/models/array_node.rb +54 -54
  66. data/lib/purecloudplatformclientv2/models/audit_log_message.rb +6 -6
  67. data/lib/purecloudplatformclientv2/models/audit_query_entity.rb +2 -2
  68. data/lib/purecloudplatformclientv2/models/audit_query_execution_status_response.rb +2 -2
  69. data/lib/purecloudplatformclientv2/models/audit_query_request.rb +2 -2
  70. data/lib/purecloudplatformclientv2/models/audit_query_service.rb +2 -2
  71. data/lib/purecloudplatformclientv2/models/audit_realtime_query_request.rb +2 -2
  72. data/lib/purecloudplatformclientv2/models/bu_agent_schedules_query_response.rb +30 -4
  73. data/lib/purecloudplatformclientv2/models/coaching_appointment_aggregate_request.rb +294 -0
  74. data/lib/purecloudplatformclientv2/models/coaching_appointment_aggregate_response.rb +204 -0
  75. data/lib/purecloudplatformclientv2/models/coaching_appointment_response.rb +27 -1
  76. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +2 -2
  77. data/lib/purecloudplatformclientv2/models/conversation_event_topic_message.rb +2 -2
  78. data/lib/purecloudplatformclientv2/models/conversation_message_event_topic_message_media_participant.rb +2 -2
  79. data/lib/purecloudplatformclientv2/models/conversation_metrics.rb +254 -0
  80. data/lib/purecloudplatformclientv2/models/create_outbound_messaging_conversation_request.rb +2 -2
  81. data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
  82. data/lib/purecloudplatformclientv2/models/external_organization_trustor_link.rb +8 -34
  83. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +2 -2
  84. data/lib/purecloudplatformclientv2/models/generic_saml.rb +12 -12
  85. data/lib/purecloudplatformclientv2/models/ip_address_range.rb +2 -2
  86. data/lib/purecloudplatformclientv2/models/journey_aggregate_query_predicate.rb +2 -2
  87. data/lib/purecloudplatformclientv2/models/json_node.rb +54 -54
  88. data/lib/purecloudplatformclientv2/models/message.rb +2 -2
  89. data/lib/purecloudplatformclientv2/models/message_data.rb +2 -2
  90. data/lib/purecloudplatformclientv2/models/message_media_participant.rb +2 -2
  91. data/lib/purecloudplatformclientv2/models/messaging_integration.rb +2 -2
  92. data/lib/purecloudplatformclientv2/models/messaging_sticker.rb +2 -2
  93. data/lib/purecloudplatformclientv2/models/o_auth_client.rb +27 -1
  94. data/lib/purecloudplatformclientv2/models/o_auth_client_listing.rb +27 -1
  95. data/lib/purecloudplatformclientv2/models/o_auth_client_request.rb +30 -4
  96. data/lib/purecloudplatformclientv2/models/org_o_auth_client.rb +27 -1
  97. data/lib/purecloudplatformclientv2/models/participant.rb +2 -2
  98. data/lib/purecloudplatformclientv2/models/participant_basic.rb +2 -2
  99. data/lib/purecloudplatformclientv2/models/permissions.rb +1 -52
  100. data/lib/purecloudplatformclientv2/models/query_request_clause.rb +254 -0
  101. data/lib/purecloudplatformclientv2/models/query_request_filter.rb +254 -0
  102. data/lib/purecloudplatformclientv2/models/query_request_predicate.rb +252 -0
  103. data/lib/purecloudplatformclientv2/models/query_response_data.rb +230 -0
  104. data/lib/purecloudplatformclientv2/models/query_response_grouped_data.rb +232 -0
  105. data/lib/purecloudplatformclientv2/models/query_response_metric.rb +242 -0
  106. data/lib/purecloudplatformclientv2/models/query_response_stats.rb +202 -0
  107. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_message.rb +2 -2
  108. data/lib/purecloudplatformclientv2/models/queue_conversation_message_event_topic_message_media_participant.rb +2 -2
  109. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_message.rb +2 -2
  110. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_message.rb +2 -2
  111. data/lib/purecloudplatformclientv2/models/recipient.rb +2 -2
  112. data/lib/purecloudplatformclientv2/models/reporting_data_export_topic_data_export_notification.rb +26 -1
  113. data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +32 -1
  114. data/lib/purecloudplatformclientv2/models/segment_detail_query_predicate.rb +2 -2
  115. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_request.rb +2 -2
  116. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_response.rb +2 -2
  117. data/lib/purecloudplatformclientv2/models/stat_event_flow_outcome_topic_datum.rb +228 -0
  118. data/lib/purecloudplatformclientv2/models/stat_event_flow_outcome_topic_metric.rb +253 -0
  119. data/lib/purecloudplatformclientv2/models/stat_event_flow_outcome_topic_stats_notification.rb +230 -0
  120. data/lib/purecloudplatformclientv2/models/stat_event_flow_topic_datum.rb +228 -0
  121. data/lib/purecloudplatformclientv2/models/stat_event_flow_topic_metric.rb +253 -0
  122. data/lib/purecloudplatformclientv2/models/stat_event_flow_topic_stats_notification.rb +230 -0
  123. data/lib/purecloudplatformclientv2/models/stat_event_wrap_up_code_topic_datum.rb +228 -0
  124. data/lib/purecloudplatformclientv2/models/stat_event_wrap_up_code_topic_metric.rb +253 -0
  125. data/lib/purecloudplatformclientv2/models/stat_event_wrap_up_code_topic_stats_notification.rb +230 -0
  126. data/lib/purecloudplatformclientv2/models/user_schedule_adherence.rb +27 -1
  127. data/lib/purecloudplatformclientv2/models/user_search_request.rb +30 -4
  128. data/lib/purecloudplatformclientv2/models/wem_coaching_appointment_topic_coaching_appointment_notification.rb +29 -4
  129. data/lib/purecloudplatformclientv2/models/wfm_business_unit_reference.rb +6 -1
  130. data/lib/purecloudplatformclientv2/models/wfm_schedule_reference.rb +16 -1
  131. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_mu_topic_uri_reference.rb +226 -0
  132. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_mu_topic_user_schedule_adherence_update.rb +26 -1
  133. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_team_topic_queue_reference.rb +201 -0
  134. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_team_topic_uri_reference.rb +226 -0
  135. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_team_topic_user_reference.rb +201 -0
  136. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_team_topic_user_schedule_adherence_update.rb +606 -0
  137. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_topic_uri_reference.rb +226 -0
  138. data/lib/purecloudplatformclientv2/models/wfm_user_schedule_adherence_updated_topic_user_schedule_adherence_update.rb +26 -1
  139. data/lib/purecloudplatformclientv2/version.rb +1 -1
  140. metadata +55 -3
@@ -195,7 +195,7 @@ module PureCloud
195
195
 
196
196
 
197
197
 
198
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentAssistantId", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "journeySegmentScope", "mediaBridgeId", "mediaCount", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remote", "remoteNameDisplayable", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "teamId", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "usedRouting", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
198
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentAssistantId", "agentRank", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "journeySegmentScope", "mediaBridgeId", "mediaCount", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "proposedAgentId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remote", "remoteNameDisplayable", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "teamId", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "usedRouting", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
199
199
  if @dimension && !allowed_values.include?(@dimension)
200
200
  return false
201
201
  end
@@ -262,7 +262,7 @@ module PureCloud
262
262
  # Custom attribute writer method checking allowed values (enum).
263
263
  # @param [Object] dimension Object to be assigned
264
264
  def dimension=(dimension)
265
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentAssistantId", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "journeySegmentScope", "mediaBridgeId", "mediaCount", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remote", "remoteNameDisplayable", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "teamId", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "usedRouting", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
265
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentAssistantId", "agentRank", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "journeySegmentScope", "mediaBridgeId", "mediaCount", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "proposedAgentId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remote", "remoteNameDisplayable", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "teamId", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "usedRouting", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
266
266
  if dimension && !allowed_values.include?(dimension)
267
267
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
268
268
  end
@@ -145,7 +145,7 @@ module PureCloud
145
145
 
146
146
 
147
147
 
148
- allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
148
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp", "webmessaging"]
149
149
  if @to_address_messenger_type && !allowed_values.include?(@to_address_messenger_type)
150
150
  return false
151
151
  end
@@ -178,7 +178,7 @@ module PureCloud
178
178
  # Custom attribute writer method checking allowed values (enum).
179
179
  # @param [Object] to_address_messenger_type Object to be assigned
180
180
  def to_address_messenger_type=(to_address_messenger_type)
181
- allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
181
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp", "webmessaging"]
182
182
  if to_address_messenger_type && !allowed_values.include?(to_address_messenger_type)
183
183
  fail ArgumentError, "invalid value for 'to_address_messenger_type', must be one of #{allowed_values}."
184
184
  end
@@ -218,7 +218,7 @@ module PureCloud
218
218
 
219
219
 
220
220
 
221
- allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
221
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp", "webmessaging"]
222
222
  if @messenger_type && !allowed_values.include?(@messenger_type)
223
223
  return false
224
224
  end
@@ -268,7 +268,7 @@ module PureCloud
268
268
  # Custom attribute writer method checking allowed values (enum).
269
269
  # @param [Object] messenger_type Object to be assigned
270
270
  def messenger_type=(messenger_type)
271
- allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
271
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp", "webmessaging"]
272
272
  if messenger_type && !allowed_values.include?(messenger_type)
273
273
  fail ArgumentError, "invalid value for 'messenger_type', must be one of #{allowed_values}."
274
274
  end
@@ -0,0 +1,228 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class StatEventFlowOutcomeTopicDatum
21
+ attr_accessor :interval
22
+
23
+ attr_accessor :metrics
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+
29
+ :'interval' => :'interval',
30
+
31
+ :'metrics' => :'metrics'
32
+
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.swagger_types
38
+ {
39
+
40
+ :'interval' => :'String',
41
+
42
+ :'metrics' => :'Array<StatEventFlowOutcomeTopicMetric>'
43
+
44
+ }
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ return unless attributes.is_a?(Hash)
51
+
52
+ # convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
54
+
55
+
56
+ if attributes.has_key?(:'interval')
57
+
58
+
59
+ self.interval = attributes[:'interval']
60
+
61
+
62
+ end
63
+
64
+
65
+ if attributes.has_key?(:'metrics')
66
+
67
+ if (value = attributes[:'metrics']).is_a?(Array)
68
+ self.metrics = value
69
+ end
70
+
71
+
72
+
73
+ end
74
+
75
+
76
+ end
77
+
78
+ # Show invalid properties with the reasons. Usually used together with valid?
79
+ # @return Array for valid properies with the reasons
80
+ def list_invalid_properties
81
+ invalid_properties = Array.new
82
+
83
+
84
+ return invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ end
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ interval == o.interval &&
118
+ metrics == o.metrics
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(o)
124
+ self == o
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Fixnum] Hash code
129
+ def hash
130
+ [interval, metrics].hash
131
+ end
132
+
133
+ # build the object from hash
134
+ def build_from_hash(attributes)
135
+ return nil unless attributes.is_a?(Hash)
136
+ self.class.swagger_types.each_pair do |key, type|
137
+ if type =~ /^Array<(.*)>/i
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
140
+ else
141
+ #TODO show warning in debug mode
142
+ end
143
+ elsif !attributes[self.class.attribute_map[key]].nil?
144
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
+ else
146
+ # data not found in attributes(hash), not an issue as the data can be optional
147
+ end
148
+ end
149
+
150
+ self
151
+ end
152
+
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :BOOLEAN
166
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ _model = Object.const_get("PureCloud").const_get(type).new
187
+ _model.build_from_hash(value)
188
+ end
189
+ end
190
+
191
+ def to_s
192
+ to_hash.to_s
193
+ end
194
+
195
+ # to_body is an alias to to_body (backward compatibility))
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # return the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ next if value.nil?
206
+ hash[param] = _to_hash(value)
207
+ end
208
+ hash
209
+ end
210
+
211
+ # Method to output non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map{ |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end
226
+
227
+ end
228
+ end
@@ -0,0 +1,253 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class StatEventFlowOutcomeTopicMetric
21
+ attr_accessor :metric
22
+
23
+ attr_accessor :qualifier
24
+
25
+ attr_accessor :stats
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'metric' => :'metric',
32
+
33
+ :'qualifier' => :'qualifier',
34
+
35
+ :'stats' => :'stats'
36
+
37
+ }
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.swagger_types
42
+ {
43
+
44
+ :'metric' => :'String',
45
+
46
+ :'qualifier' => :'String',
47
+
48
+ :'stats' => :'Hash<String, Float>'
49
+
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ return unless attributes.is_a?(Hash)
57
+
58
+ # convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
60
+
61
+
62
+ if attributes.has_key?(:'metric')
63
+
64
+
65
+ self.metric = attributes[:'metric']
66
+
67
+
68
+ end
69
+
70
+
71
+ if attributes.has_key?(:'qualifier')
72
+
73
+
74
+ self.qualifier = attributes[:'qualifier']
75
+
76
+
77
+ end
78
+
79
+
80
+ if attributes.has_key?(:'stats')
81
+
82
+ if (value = attributes[:'stats']).is_a?(Array)
83
+ self.stats = value
84
+ end
85
+
86
+
87
+
88
+ end
89
+
90
+
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properies with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+
98
+
99
+ return invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+ end
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ # Checks equality by comparing each attribute.
137
+ # @param [Object] Object to be compared
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ metric == o.metric &&
142
+ qualifier == o.qualifier &&
143
+ stats == o.stats
144
+ end
145
+
146
+ # @see the `==` method
147
+ # @param [Object] Object to be compared
148
+ def eql?(o)
149
+ self == o
150
+ end
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Fixnum] Hash code
154
+ def hash
155
+ [metric, qualifier, stats].hash
156
+ end
157
+
158
+ # build the object from hash
159
+ def build_from_hash(attributes)
160
+ return nil unless attributes.is_a?(Hash)
161
+ self.class.swagger_types.each_pair do |key, type|
162
+ if type =~ /^Array<(.*)>/i
163
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
164
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
165
+ else
166
+ #TODO show warning in debug mode
167
+ end
168
+ elsif !attributes[self.class.attribute_map[key]].nil?
169
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
170
+ else
171
+ # data not found in attributes(hash), not an issue as the data can be optional
172
+ end
173
+ end
174
+
175
+ self
176
+ end
177
+
178
+ def _deserialize(type, value)
179
+ case type.to_sym
180
+ when :DateTime
181
+ DateTime.parse(value)
182
+ when :Date
183
+ Date.parse(value)
184
+ when :String
185
+ value.to_s
186
+ when :Integer
187
+ value.to_i
188
+ when :Float
189
+ value.to_f
190
+ when :BOOLEAN
191
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
192
+ true
193
+ else
194
+ false
195
+ end
196
+ when :Object
197
+ # generic object (usually a Hash), return directly
198
+ value
199
+ when /\AArray<(?<inner_type>.+)>\z/
200
+ inner_type = Regexp.last_match[:inner_type]
201
+ value.map { |v| _deserialize(inner_type, v) }
202
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
203
+ k_type = Regexp.last_match[:k_type]
204
+ v_type = Regexp.last_match[:v_type]
205
+ {}.tap do |hash|
206
+ value.each do |k, v|
207
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
208
+ end
209
+ end
210
+ else # model
211
+ _model = Object.const_get("PureCloud").const_get(type).new
212
+ _model.build_from_hash(value)
213
+ end
214
+ end
215
+
216
+ def to_s
217
+ to_hash.to_s
218
+ end
219
+
220
+ # to_body is an alias to to_body (backward compatibility))
221
+ def to_body
222
+ to_hash
223
+ end
224
+
225
+ # return the object in the form of hash
226
+ def to_hash
227
+ hash = {}
228
+ self.class.attribute_map.each_pair do |attr, param|
229
+ value = self.send(attr)
230
+ next if value.nil?
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ # Method to output non-array value in the form of hash
237
+ # For object, use to_hash. Otherwise, just return the value
238
+ def _to_hash(value)
239
+ if value.is_a?(Array)
240
+ value.compact.map{ |v| _to_hash(v) }
241
+ elsif value.is_a?(Hash)
242
+ {}.tap do |hash|
243
+ value.each { |k, v| hash[k] = _to_hash(v) }
244
+ end
245
+ elsif value.respond_to? :to_hash
246
+ value.to_hash
247
+ else
248
+ value
249
+ end
250
+ end
251
+
252
+ end
253
+ end