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
@@ -0,0 +1,204 @@
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 CoachingAppointmentAggregateResponse
21
+ # The results of the query
22
+ attr_accessor :results
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+
28
+ :'results' => :'results'
29
+
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.swagger_types
35
+ {
36
+
37
+ :'results' => :'Array<QueryResponseGroupedData>'
38
+
39
+ }
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ return unless attributes.is_a?(Hash)
46
+
47
+ # convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
49
+
50
+
51
+ if attributes.has_key?(:'results')
52
+
53
+ if (value = attributes[:'results']).is_a?(Array)
54
+ self.results = value
55
+ end
56
+
57
+
58
+
59
+ end
60
+
61
+
62
+ end
63
+
64
+ # Show invalid properties with the reasons. Usually used together with valid?
65
+ # @return Array for valid properies with the reasons
66
+ def list_invalid_properties
67
+ invalid_properties = Array.new
68
+
69
+
70
+ return invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+
77
+
78
+
79
+
80
+
81
+ end
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ results == o.results
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Fixnum] Hash code
105
+ def hash
106
+ [results].hash
107
+ end
108
+
109
+ # build the object from hash
110
+ def build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ self.class.swagger_types.each_pair do |key, type|
113
+ if type =~ /^Array<(.*)>/i
114
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
115
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
116
+ else
117
+ #TODO show warning in debug mode
118
+ end
119
+ elsif !attributes[self.class.attribute_map[key]].nil?
120
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
121
+ else
122
+ # data not found in attributes(hash), not an issue as the data can be optional
123
+ end
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ def _deserialize(type, value)
130
+ case type.to_sym
131
+ when :DateTime
132
+ DateTime.parse(value)
133
+ when :Date
134
+ Date.parse(value)
135
+ when :String
136
+ value.to_s
137
+ when :Integer
138
+ value.to_i
139
+ when :Float
140
+ value.to_f
141
+ when :BOOLEAN
142
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
143
+ true
144
+ else
145
+ false
146
+ end
147
+ when :Object
148
+ # generic object (usually a Hash), return directly
149
+ value
150
+ when /\AArray<(?<inner_type>.+)>\z/
151
+ inner_type = Regexp.last_match[:inner_type]
152
+ value.map { |v| _deserialize(inner_type, v) }
153
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
154
+ k_type = Regexp.last_match[:k_type]
155
+ v_type = Regexp.last_match[:v_type]
156
+ {}.tap do |hash|
157
+ value.each do |k, v|
158
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
159
+ end
160
+ end
161
+ else # model
162
+ _model = Object.const_get("PureCloud").const_get(type).new
163
+ _model.build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # to_body is an alias to to_body (backward compatibility))
172
+ def to_body
173
+ to_hash
174
+ end
175
+
176
+ # return the object in the form of hash
177
+ def to_hash
178
+ hash = {}
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = self.send(attr)
181
+ next if value.nil?
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ # Method to output non-array value in the form of hash
188
+ # For object, use to_hash. Otherwise, just return the value
189
+ def _to_hash(value)
190
+ if value.is_a?(Array)
191
+ value.compact.map{ |v| _to_hash(v) }
192
+ elsif value.is_a?(Hash)
193
+ {}.tap do |hash|
194
+ value.each { |k, v| hash[k] = _to_hash(v) }
195
+ end
196
+ elsif value.respond_to? :to_hash
197
+ value.to_hash
198
+ else
199
+ value
200
+ end
201
+ end
202
+
203
+ end
204
+ end
@@ -61,6 +61,9 @@ module PureCloud
61
61
  # The list of documents associated with coaching appointment.
62
62
  attr_accessor :documents
63
63
 
64
+ # Whether the appointment is overdue.
65
+ attr_accessor :is_overdue
66
+
64
67
  # The URI for this object
65
68
  attr_accessor :self_uri
66
69
 
@@ -96,6 +99,8 @@ module PureCloud
96
99
 
97
100
  :'documents' => :'documents',
98
101
 
102
+ :'is_overdue' => :'isOverdue',
103
+
99
104
  :'self_uri' => :'selfUri'
100
105
 
101
106
  }
@@ -133,6 +138,8 @@ module PureCloud
133
138
 
134
139
  :'documents' => :'Array<DocumentReference>',
135
140
 
141
+ :'is_overdue' => :'BOOLEAN',
142
+
136
143
  :'self_uri' => :'String'
137
144
 
138
145
  }
@@ -279,6 +286,15 @@ module PureCloud
279
286
  end
280
287
 
281
288
 
289
+ if attributes.has_key?(:'isOverdue')
290
+
291
+
292
+ self.is_overdue = attributes[:'isOverdue']
293
+
294
+
295
+ end
296
+
297
+
282
298
  if attributes.has_key?(:'selfUri')
283
299
 
284
300
 
@@ -363,6 +379,10 @@ module PureCloud
363
379
 
364
380
 
365
381
 
382
+
383
+
384
+
385
+
366
386
 
367
387
 
368
388
 
@@ -449,6 +469,11 @@ module PureCloud
449
469
 
450
470
 
451
471
 
472
+
473
+
474
+
475
+
476
+
452
477
 
453
478
 
454
479
 
@@ -474,6 +499,7 @@ module PureCloud
474
499
  date_modified == o.date_modified &&
475
500
  conversations == o.conversations &&
476
501
  documents == o.documents &&
502
+ is_overdue == o.is_overdue &&
477
503
  self_uri == o.self_uri
478
504
  end
479
505
 
@@ -486,7 +512,7 @@ module PureCloud
486
512
  # Calculates hash code according to all attributes.
487
513
  # @return [Fixnum] Hash code
488
514
  def hash
489
- [id, name, description, date_start, length_in_minutes, status, facilitator, attendees, created_by, date_created, modified_by, date_modified, conversations, documents, self_uri].hash
515
+ [id, name, description, date_start, length_in_minutes, status, facilitator, attendees, created_by, date_created, modified_by, date_modified, conversations, documents, is_overdue, self_uri].hash
490
516
  end
491
517
 
492
518
  # build the object from hash
@@ -147,7 +147,7 @@ module PureCloud
147
147
 
148
148
 
149
149
 
150
- allowed_values = ["addressFrom", "addressTo", "agentAssistantId", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalContactId", "externalMediaCount", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaCount", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "stationId", "teamId", "usedRouting", "userId", "wrapUpCode"]
150
+ allowed_values = ["addressFrom", "addressTo", "agentAssistantId", "agentRank", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalContactId", "externalMediaCount", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaCount", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "proposedAgentId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "stationId", "teamId", "usedRouting", "userId", "wrapUpCode"]
151
151
  if @dimension && !allowed_values.include?(@dimension)
152
152
  return false
153
153
  end
@@ -192,7 +192,7 @@ module PureCloud
192
192
  # Custom attribute writer method checking allowed values (enum).
193
193
  # @param [Object] dimension Object to be assigned
194
194
  def dimension=(dimension)
195
- allowed_values = ["addressFrom", "addressTo", "agentAssistantId", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalContactId", "externalMediaCount", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaCount", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "stationId", "teamId", "usedRouting", "userId", "wrapUpCode"]
195
+ allowed_values = ["addressFrom", "addressTo", "agentAssistantId", "agentRank", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalContactId", "externalMediaCount", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaCount", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "proposedAgentId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRouting", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "selectedAgentId", "selectedAgentRank", "sessionDnis", "sessionId", "stationId", "teamId", "usedRouting", "userId", "wrapUpCode"]
196
196
  if dimension && !allowed_values.include?(dimension)
197
197
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
198
198
  end
@@ -445,7 +445,7 @@ module PureCloud
445
445
 
446
446
 
447
447
 
448
- allowed_values = ["SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO"]
448
+ allowed_values = ["UNKNOWN", "SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO", "WEBMESSAGING"]
449
449
  if @type && !allowed_values.include?(@type)
450
450
  return false
451
451
  end
@@ -572,7 +572,7 @@ module PureCloud
572
572
  # Custom attribute writer method checking allowed values (enum).
573
573
  # @param [Object] type Object to be assigned
574
574
  def type=(type)
575
- allowed_values = ["SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO"]
575
+ allowed_values = ["UNKNOWN", "SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO", "WEBMESSAGING"]
576
576
  if type && !allowed_values.include?(type)
577
577
  fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
578
578
  end
@@ -792,7 +792,7 @@ module PureCloud
792
792
 
793
793
 
794
794
 
795
- allowed_values = ["SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO"]
795
+ allowed_values = ["UNKNOWN", "SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO", "WEBMESSAGING"]
796
796
  if @type && !allowed_values.include?(@type)
797
797
  return false
798
798
  end
@@ -1025,7 +1025,7 @@ module PureCloud
1025
1025
  # Custom attribute writer method checking allowed values (enum).
1026
1026
  # @param [Object] type Object to be assigned
1027
1027
  def type=(type)
1028
- allowed_values = ["SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO"]
1028
+ allowed_values = ["UNKNOWN", "SMS", "TWITTER", "FACEBOOK", "LINE", "VIBER", "WECHAT", "WHATSAPP", "TELEGRAM", "KAKAO", "WEBMESSAGING"]
1029
1029
  if type && !allowed_values.include?(type)
1030
1030
  fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
1031
1031
  end
@@ -0,0 +1,254 @@
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 ConversationMetrics
21
+ # The Conversation Reference
22
+ attr_accessor :conversation
23
+
24
+ # The Sentiment Score
25
+ attr_accessor :sentiment_score
26
+
27
+ # The Sentiment Trend
28
+ attr_accessor :sentiment_trend
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+
34
+ :'conversation' => :'conversation',
35
+
36
+ :'sentiment_score' => :'sentimentScore',
37
+
38
+ :'sentiment_trend' => :'sentimentTrend'
39
+
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+
47
+ :'conversation' => :'AddressableEntityRef',
48
+
49
+ :'sentiment_score' => :'Float',
50
+
51
+ :'sentiment_trend' => :'Float'
52
+
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
63
+
64
+
65
+ if attributes.has_key?(:'conversation')
66
+
67
+
68
+ self.conversation = attributes[:'conversation']
69
+
70
+
71
+ end
72
+
73
+
74
+ if attributes.has_key?(:'sentimentScore')
75
+
76
+
77
+ self.sentiment_score = attributes[:'sentimentScore']
78
+
79
+
80
+ end
81
+
82
+
83
+ if attributes.has_key?(:'sentimentTrend')
84
+
85
+
86
+ self.sentiment_trend = attributes[:'sentimentTrend']
87
+
88
+
89
+ end
90
+
91
+
92
+ end
93
+
94
+ # Show invalid properties with the reasons. Usually used together with valid?
95
+ # @return Array for valid properies with the reasons
96
+ def list_invalid_properties
97
+ invalid_properties = Array.new
98
+
99
+
100
+ return invalid_properties
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ def valid?
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ end
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ # Checks equality by comparing each attribute.
138
+ # @param [Object] Object to be compared
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ conversation == o.conversation &&
143
+ sentiment_score == o.sentiment_score &&
144
+ sentiment_trend == o.sentiment_trend
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Fixnum] Hash code
155
+ def hash
156
+ [conversation, sentiment_score, sentiment_trend].hash
157
+ end
158
+
159
+ # build the object from hash
160
+ def build_from_hash(attributes)
161
+ return nil unless attributes.is_a?(Hash)
162
+ self.class.swagger_types.each_pair do |key, type|
163
+ if type =~ /^Array<(.*)>/i
164
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
165
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
166
+ else
167
+ #TODO show warning in debug mode
168
+ end
169
+ elsif !attributes[self.class.attribute_map[key]].nil?
170
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
171
+ else
172
+ # data not found in attributes(hash), not an issue as the data can be optional
173
+ end
174
+ end
175
+
176
+ self
177
+ end
178
+
179
+ def _deserialize(type, value)
180
+ case type.to_sym
181
+ when :DateTime
182
+ DateTime.parse(value)
183
+ when :Date
184
+ Date.parse(value)
185
+ when :String
186
+ value.to_s
187
+ when :Integer
188
+ value.to_i
189
+ when :Float
190
+ value.to_f
191
+ when :BOOLEAN
192
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
193
+ true
194
+ else
195
+ false
196
+ end
197
+ when :Object
198
+ # generic object (usually a Hash), return directly
199
+ value
200
+ when /\AArray<(?<inner_type>.+)>\z/
201
+ inner_type = Regexp.last_match[:inner_type]
202
+ value.map { |v| _deserialize(inner_type, v) }
203
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
204
+ k_type = Regexp.last_match[:k_type]
205
+ v_type = Regexp.last_match[:v_type]
206
+ {}.tap do |hash|
207
+ value.each do |k, v|
208
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
209
+ end
210
+ end
211
+ else # model
212
+ _model = Object.const_get("PureCloud").const_get(type).new
213
+ _model.build_from_hash(value)
214
+ end
215
+ end
216
+
217
+ def to_s
218
+ to_hash.to_s
219
+ end
220
+
221
+ # to_body is an alias to to_body (backward compatibility))
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # return the object in the form of hash
227
+ def to_hash
228
+ hash = {}
229
+ self.class.attribute_map.each_pair do |attr, param|
230
+ value = self.send(attr)
231
+ next if value.nil?
232
+ hash[param] = _to_hash(value)
233
+ end
234
+ hash
235
+ end
236
+
237
+ # Method to output non-array value in the form of hash
238
+ # For object, use to_hash. Otherwise, just return the value
239
+ def _to_hash(value)
240
+ if value.is_a?(Array)
241
+ value.compact.map{ |v| _to_hash(v) }
242
+ elsif value.is_a?(Hash)
243
+ {}.tap do |hash|
244
+ value.each { |k, v| hash[k] = _to_hash(v) }
245
+ end
246
+ elsif value.respond_to? :to_hash
247
+ value.to_hash
248
+ else
249
+ value
250
+ end
251
+ end
252
+
253
+ end
254
+ end