purecloudplatformclientv2 58.0.0 → 58.0.1

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/ConversationCallEventTopicCallMediaParticipant.md +1 -0
  4. data/docs/ConversationCallEventTopicConversationRoutingData.md +17 -0
  5. data/docs/ConversationCallEventTopicScoredAgent.md +14 -0
  6. data/docs/ConversationCallbackEventTopicCallbackMediaParticipant.md +1 -0
  7. data/docs/ConversationCallbackEventTopicConversationRoutingData.md +17 -0
  8. data/docs/ConversationCallbackEventTopicScoredAgent.md +14 -0
  9. data/docs/ConversationChatEventTopicChatMediaParticipant.md +1 -0
  10. data/docs/ConversationChatEventTopicConversationRoutingData.md +17 -0
  11. data/docs/ConversationChatEventTopicScoredAgent.md +14 -0
  12. data/docs/ConversationCobrowseEventTopicCobrowseMediaParticipant.md +1 -0
  13. data/docs/ConversationCobrowseEventTopicConversationRoutingData.md +17 -0
  14. data/docs/ConversationCobrowseEventTopicScoredAgent.md +14 -0
  15. data/docs/ConversationEmailEventTopicConversationRoutingData.md +17 -0
  16. data/docs/ConversationEmailEventTopicEmailMediaParticipant.md +1 -0
  17. data/docs/ConversationEmailEventTopicScoredAgent.md +14 -0
  18. data/docs/ConversationEventTopicConversationRoutingData.md +17 -0
  19. data/docs/ConversationEventTopicParticipant.md +1 -0
  20. data/docs/ConversationEventTopicScoredAgent.md +14 -0
  21. data/docs/ConversationEventTopicUriReference.md +14 -0
  22. data/docs/ConversationMessageEventTopicConversationRoutingData.md +17 -0
  23. data/docs/ConversationMessageEventTopicMessageMediaParticipant.md +1 -0
  24. data/docs/ConversationMessageEventTopicScoredAgent.md +14 -0
  25. data/docs/ConversationScreenShareEventTopicConversationRoutingData.md +17 -0
  26. data/docs/ConversationScreenShareEventTopicScoredAgent.md +14 -0
  27. data/docs/ConversationScreenShareEventTopicScreenShareMediaParticipant.md +1 -0
  28. data/docs/ConversationSocialExpressionEventTopicConversationRoutingData.md +17 -0
  29. data/docs/ConversationSocialExpressionEventTopicScoredAgent.md +14 -0
  30. data/docs/ConversationSocialExpressionEventTopicSocialMediaParticipant.md +1 -0
  31. data/docs/ConversationVideoEventTopicConversationRoutingData.md +17 -0
  32. data/docs/ConversationVideoEventTopicScoredAgent.md +14 -0
  33. data/docs/ConversationVideoEventTopicVideoMediaParticipant.md +1 -0
  34. data/docs/QueueConversationCallEventTopicCallMediaParticipant.md +1 -0
  35. data/docs/QueueConversationCallEventTopicConversationRoutingData.md +17 -0
  36. data/docs/QueueConversationCallEventTopicScoredAgent.md +14 -0
  37. data/docs/QueueConversationCallbackEventTopicCallbackMediaParticipant.md +1 -0
  38. data/docs/QueueConversationCallbackEventTopicConversationRoutingData.md +17 -0
  39. data/docs/QueueConversationCallbackEventTopicScoredAgent.md +14 -0
  40. data/docs/QueueConversationChatEventTopicChatMediaParticipant.md +1 -0
  41. data/docs/QueueConversationChatEventTopicConversationRoutingData.md +17 -0
  42. data/docs/QueueConversationChatEventTopicScoredAgent.md +14 -0
  43. data/docs/QueueConversationCobrowseEventTopicCobrowseMediaParticipant.md +1 -0
  44. data/docs/QueueConversationCobrowseEventTopicConversationRoutingData.md +17 -0
  45. data/docs/QueueConversationCobrowseEventTopicScoredAgent.md +14 -0
  46. data/docs/QueueConversationEmailEventTopicConversationRoutingData.md +17 -0
  47. data/docs/QueueConversationEmailEventTopicEmailMediaParticipant.md +1 -0
  48. data/docs/QueueConversationEmailEventTopicScoredAgent.md +14 -0
  49. data/docs/QueueConversationEventTopicConversationRoutingData.md +17 -0
  50. data/docs/QueueConversationEventTopicParticipant.md +1 -0
  51. data/docs/QueueConversationEventTopicScoredAgent.md +14 -0
  52. data/docs/QueueConversationEventTopicUriReference.md +14 -0
  53. data/docs/QueueConversationMessageEventTopicConversationRoutingData.md +17 -0
  54. data/docs/QueueConversationMessageEventTopicMessageMediaParticipant.md +1 -0
  55. data/docs/QueueConversationMessageEventTopicScoredAgent.md +14 -0
  56. data/docs/QueueConversationScreenShareEventTopicConversationRoutingData.md +17 -0
  57. data/docs/QueueConversationScreenShareEventTopicScoredAgent.md +14 -0
  58. data/docs/QueueConversationScreenShareEventTopicScreenShareMediaParticipant.md +1 -0
  59. data/docs/QueueConversationSocialExpressionEventTopicConversationRoutingData.md +17 -0
  60. data/docs/QueueConversationSocialExpressionEventTopicParticipant.md +1 -0
  61. data/docs/QueueConversationSocialExpressionEventTopicScoredAgent.md +14 -0
  62. data/docs/QueueConversationSocialExpressionEventTopicUriReference.md +14 -0
  63. data/docs/QueueConversationVideoEventTopicConversationRoutingData.md +17 -0
  64. data/docs/QueueConversationVideoEventTopicParticipant.md +1 -0
  65. data/docs/QueueConversationVideoEventTopicScoredAgent.md +14 -0
  66. data/docs/QueueConversationVideoEventTopicUriReference.md +14 -0
  67. data/lib/purecloudplatformclientv2.rb +44 -0
  68. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  69. data/lib/purecloudplatformclientv2/models/conversation_call_event_topic_call_media_participant.rb +26 -1
  70. data/lib/purecloudplatformclientv2/models/conversation_call_event_topic_conversation_routing_data.rb +305 -0
  71. data/lib/purecloudplatformclientv2/models/conversation_call_event_topic_scored_agent.rb +226 -0
  72. data/lib/purecloudplatformclientv2/models/conversation_callback_event_topic_callback_media_participant.rb +26 -1
  73. data/lib/purecloudplatformclientv2/models/conversation_callback_event_topic_conversation_routing_data.rb +305 -0
  74. data/lib/purecloudplatformclientv2/models/conversation_callback_event_topic_scored_agent.rb +226 -0
  75. data/lib/purecloudplatformclientv2/models/conversation_chat_event_topic_chat_media_participant.rb +26 -1
  76. data/lib/purecloudplatformclientv2/models/conversation_chat_event_topic_conversation_routing_data.rb +305 -0
  77. data/lib/purecloudplatformclientv2/models/conversation_chat_event_topic_scored_agent.rb +226 -0
  78. data/lib/purecloudplatformclientv2/models/conversation_cobrowse_event_topic_cobrowse_media_participant.rb +26 -1
  79. data/lib/purecloudplatformclientv2/models/conversation_cobrowse_event_topic_conversation_routing_data.rb +305 -0
  80. data/lib/purecloudplatformclientv2/models/conversation_cobrowse_event_topic_scored_agent.rb +226 -0
  81. data/lib/purecloudplatformclientv2/models/conversation_email_event_topic_conversation_routing_data.rb +305 -0
  82. data/lib/purecloudplatformclientv2/models/conversation_email_event_topic_email_media_participant.rb +26 -1
  83. data/lib/purecloudplatformclientv2/models/conversation_email_event_topic_scored_agent.rb +226 -0
  84. data/lib/purecloudplatformclientv2/models/conversation_event_topic_conversation_routing_data.rb +305 -0
  85. data/lib/purecloudplatformclientv2/models/conversation_event_topic_participant.rb +26 -1
  86. data/lib/purecloudplatformclientv2/models/conversation_event_topic_scored_agent.rb +226 -0
  87. data/lib/purecloudplatformclientv2/models/conversation_event_topic_uri_reference.rb +226 -0
  88. data/lib/purecloudplatformclientv2/models/conversation_message_event_topic_conversation_routing_data.rb +305 -0
  89. data/lib/purecloudplatformclientv2/models/conversation_message_event_topic_message_media_participant.rb +26 -1
  90. data/lib/purecloudplatformclientv2/models/conversation_message_event_topic_scored_agent.rb +226 -0
  91. data/lib/purecloudplatformclientv2/models/conversation_screen_share_event_topic_conversation_routing_data.rb +305 -0
  92. data/lib/purecloudplatformclientv2/models/conversation_screen_share_event_topic_scored_agent.rb +226 -0
  93. data/lib/purecloudplatformclientv2/models/conversation_screen_share_event_topic_screen_share_media_participant.rb +26 -1
  94. data/lib/purecloudplatformclientv2/models/conversation_social_expression_event_topic_conversation_routing_data.rb +305 -0
  95. data/lib/purecloudplatformclientv2/models/conversation_social_expression_event_topic_scored_agent.rb +226 -0
  96. data/lib/purecloudplatformclientv2/models/conversation_social_expression_event_topic_social_media_participant.rb +26 -1
  97. data/lib/purecloudplatformclientv2/models/conversation_video_event_topic_conversation_routing_data.rb +305 -0
  98. data/lib/purecloudplatformclientv2/models/conversation_video_event_topic_scored_agent.rb +226 -0
  99. data/lib/purecloudplatformclientv2/models/conversation_video_event_topic_video_media_participant.rb +26 -1
  100. data/lib/purecloudplatformclientv2/models/queue_conversation_call_event_topic_call_media_participant.rb +26 -1
  101. data/lib/purecloudplatformclientv2/models/queue_conversation_call_event_topic_conversation_routing_data.rb +305 -0
  102. data/lib/purecloudplatformclientv2/models/queue_conversation_call_event_topic_scored_agent.rb +226 -0
  103. data/lib/purecloudplatformclientv2/models/queue_conversation_callback_event_topic_callback_media_participant.rb +26 -1
  104. data/lib/purecloudplatformclientv2/models/queue_conversation_callback_event_topic_conversation_routing_data.rb +305 -0
  105. data/lib/purecloudplatformclientv2/models/queue_conversation_callback_event_topic_scored_agent.rb +226 -0
  106. data/lib/purecloudplatformclientv2/models/queue_conversation_chat_event_topic_chat_media_participant.rb +26 -1
  107. data/lib/purecloudplatformclientv2/models/queue_conversation_chat_event_topic_conversation_routing_data.rb +305 -0
  108. data/lib/purecloudplatformclientv2/models/queue_conversation_chat_event_topic_scored_agent.rb +226 -0
  109. data/lib/purecloudplatformclientv2/models/queue_conversation_cobrowse_event_topic_cobrowse_media_participant.rb +26 -1
  110. data/lib/purecloudplatformclientv2/models/queue_conversation_cobrowse_event_topic_conversation_routing_data.rb +305 -0
  111. data/lib/purecloudplatformclientv2/models/queue_conversation_cobrowse_event_topic_scored_agent.rb +226 -0
  112. data/lib/purecloudplatformclientv2/models/queue_conversation_email_event_topic_conversation_routing_data.rb +305 -0
  113. data/lib/purecloudplatformclientv2/models/queue_conversation_email_event_topic_email_media_participant.rb +26 -1
  114. data/lib/purecloudplatformclientv2/models/queue_conversation_email_event_topic_scored_agent.rb +226 -0
  115. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_conversation_routing_data.rb +305 -0
  116. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_participant.rb +26 -1
  117. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_scored_agent.rb +226 -0
  118. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_uri_reference.rb +226 -0
  119. data/lib/purecloudplatformclientv2/models/queue_conversation_message_event_topic_conversation_routing_data.rb +305 -0
  120. data/lib/purecloudplatformclientv2/models/queue_conversation_message_event_topic_message_media_participant.rb +26 -1
  121. data/lib/purecloudplatformclientv2/models/queue_conversation_message_event_topic_scored_agent.rb +226 -0
  122. data/lib/purecloudplatformclientv2/models/queue_conversation_screen_share_event_topic_conversation_routing_data.rb +305 -0
  123. data/lib/purecloudplatformclientv2/models/queue_conversation_screen_share_event_topic_scored_agent.rb +226 -0
  124. data/lib/purecloudplatformclientv2/models/queue_conversation_screen_share_event_topic_screen_share_media_participant.rb +26 -1
  125. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_conversation_routing_data.rb +305 -0
  126. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_participant.rb +26 -1
  127. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_scored_agent.rb +226 -0
  128. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_uri_reference.rb +226 -0
  129. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_conversation_routing_data.rb +305 -0
  130. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_participant.rb +26 -1
  131. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_scored_agent.rb +226 -0
  132. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_uri_reference.rb +226 -0
  133. data/lib/purecloudplatformclientv2/models/reporting_data_export_topic_data_export_notification.rb +2 -2
  134. data/lib/purecloudplatformclientv2/version.rb +1 -1
  135. metadata +90 -2
@@ -0,0 +1,226 @@
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 QueueConversationChatEventTopicScoredAgent
21
+ attr_accessor :agent
22
+
23
+ attr_accessor :score
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+
29
+ :'agent' => :'agent',
30
+
31
+ :'score' => :'score'
32
+
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.swagger_types
38
+ {
39
+
40
+ :'agent' => :'QueueConversationChatEventTopicUriReference',
41
+
42
+ :'score' => :'Integer'
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?(:'agent')
57
+
58
+
59
+ self.agent = attributes[:'agent']
60
+
61
+
62
+ end
63
+
64
+
65
+ if attributes.has_key?(:'score')
66
+
67
+
68
+ self.score = attributes[:'score']
69
+
70
+
71
+ end
72
+
73
+
74
+ end
75
+
76
+ # Show invalid properties with the reasons. Usually used together with valid?
77
+ # @return Array for valid properies with the reasons
78
+ def list_invalid_properties
79
+ invalid_properties = Array.new
80
+
81
+
82
+ return invalid_properties
83
+ end
84
+
85
+ # Check to see if the all the properties in the model are valid
86
+ # @return true if the model is valid
87
+ def valid?
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ end
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] Object to be compared
112
+ def ==(o)
113
+ return true if self.equal?(o)
114
+ self.class == o.class &&
115
+ agent == o.agent &&
116
+ score == o.score
117
+ end
118
+
119
+ # @see the `==` method
120
+ # @param [Object] Object to be compared
121
+ def eql?(o)
122
+ self == o
123
+ end
124
+
125
+ # Calculates hash code according to all attributes.
126
+ # @return [Fixnum] Hash code
127
+ def hash
128
+ [agent, score].hash
129
+ end
130
+
131
+ # build the object from hash
132
+ def build_from_hash(attributes)
133
+ return nil unless attributes.is_a?(Hash)
134
+ self.class.swagger_types.each_pair do |key, type|
135
+ if type =~ /^Array<(.*)>/i
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
138
+ else
139
+ #TODO show warning in debug mode
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ else
144
+ # data not found in attributes(hash), not an issue as the data can be optional
145
+ end
146
+ end
147
+
148
+ self
149
+ end
150
+
151
+ def _deserialize(type, value)
152
+ case type.to_sym
153
+ when :DateTime
154
+ DateTime.parse(value)
155
+ when :Date
156
+ Date.parse(value)
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :BOOLEAN
164
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else # model
184
+ _model = Object.const_get("PureCloud").const_get(type).new
185
+ _model.build_from_hash(value)
186
+ end
187
+ end
188
+
189
+ def to_s
190
+ to_hash.to_s
191
+ end
192
+
193
+ # to_body is an alias to to_body (backward compatibility))
194
+ def to_body
195
+ to_hash
196
+ end
197
+
198
+ # return the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ next if value.nil?
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Method to output non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ def _to_hash(value)
212
+ if value.is_a?(Array)
213
+ value.compact.map{ |v| _to_hash(v) }
214
+ elsif value.is_a?(Hash)
215
+ {}.tap do |hash|
216
+ value.each { |k, v| hash[k] = _to_hash(v) }
217
+ end
218
+ elsif value.respond_to? :to_hash
219
+ value.to_hash
220
+ else
221
+ value
222
+ end
223
+ end
224
+
225
+ end
226
+ end
@@ -70,6 +70,8 @@ module PureCloud
70
70
 
71
71
  attr_accessor :wrapup
72
72
 
73
+ attr_accessor :conversation_routing_data
74
+
73
75
  attr_accessor :peer
74
76
 
75
77
  attr_accessor :screen_recording_state
@@ -144,6 +146,8 @@ module PureCloud
144
146
 
145
147
  :'wrapup' => :'wrapup',
146
148
 
149
+ :'conversation_routing_data' => :'conversationRoutingData',
150
+
147
151
  :'peer' => :'peer',
148
152
 
149
153
  :'screen_recording_state' => :'screenRecordingState',
@@ -221,6 +225,8 @@ module PureCloud
221
225
 
222
226
  :'wrapup' => :'QueueConversationCobrowseEventTopicWrapup',
223
227
 
228
+ :'conversation_routing_data' => :'QueueConversationCobrowseEventTopicConversationRoutingData',
229
+
224
230
  :'peer' => :'String',
225
231
 
226
232
  :'screen_recording_state' => :'String',
@@ -487,6 +493,15 @@ module PureCloud
487
493
  end
488
494
 
489
495
 
496
+ if attributes.has_key?(:'conversationRoutingData')
497
+
498
+
499
+ self.conversation_routing_data = attributes[:'conversationRoutingData']
500
+
501
+
502
+ end
503
+
504
+
490
505
  if attributes.has_key?(:'peer')
491
506
 
492
507
 
@@ -709,6 +724,10 @@ module PureCloud
709
724
 
710
725
 
711
726
 
727
+
728
+
729
+
730
+
712
731
 
713
732
 
714
733
 
@@ -910,6 +929,11 @@ module PureCloud
910
929
 
911
930
 
912
931
 
932
+
933
+
934
+
935
+
936
+
913
937
 
914
938
 
915
939
 
@@ -990,6 +1014,7 @@ module PureCloud
990
1014
  external_contact == o.external_contact &&
991
1015
  external_organization == o.external_organization &&
992
1016
  wrapup == o.wrapup &&
1017
+ conversation_routing_data == o.conversation_routing_data &&
993
1018
  peer == o.peer &&
994
1019
  screen_recording_state == o.screen_recording_state &&
995
1020
  flagged_reason == o.flagged_reason &&
@@ -1010,7 +1035,7 @@ module PureCloud
1010
1035
  # Calculates hash code according to all attributes.
1011
1036
  # @return [Fixnum] Hash code
1012
1037
  def hash
1013
- [id, name, address, start_time, connected_time, end_time, start_hold_time, purpose, state, direction, disconnect_type, held, wrapup_required, wrapup_prompt, user, queue, attributes, error_info, script, wrapup_timeout_ms, wrapup_skipped, alerting_timeout_ms, provider, external_contact, external_organization, wrapup, peer, screen_recording_state, flagged_reason, journey_context, cobrowse_session_id, cobrowse_role, viewer_url, provider_event_time, controlling].hash
1038
+ [id, name, address, start_time, connected_time, end_time, start_hold_time, purpose, state, direction, disconnect_type, held, wrapup_required, wrapup_prompt, user, queue, attributes, error_info, script, wrapup_timeout_ms, wrapup_skipped, alerting_timeout_ms, provider, external_contact, external_organization, wrapup, conversation_routing_data, peer, screen_recording_state, flagged_reason, journey_context, cobrowse_session_id, cobrowse_role, viewer_url, provider_event_time, controlling].hash
1014
1039
  end
1015
1040
 
1016
1041
  # build the object from hash
@@ -0,0 +1,305 @@
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 QueueConversationCobrowseEventTopicConversationRoutingData
21
+ attr_accessor :queue
22
+
23
+ attr_accessor :language
24
+
25
+ attr_accessor :priority
26
+
27
+ attr_accessor :skills
28
+
29
+ attr_accessor :scored_agents
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+
35
+ :'queue' => :'queue',
36
+
37
+ :'language' => :'language',
38
+
39
+ :'priority' => :'priority',
40
+
41
+ :'skills' => :'skills',
42
+
43
+ :'scored_agents' => :'scoredAgents'
44
+
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+
52
+ :'queue' => :'QueueConversationCobrowseEventTopicUriReference',
53
+
54
+ :'language' => :'QueueConversationCobrowseEventTopicUriReference',
55
+
56
+ :'priority' => :'Integer',
57
+
58
+ :'skills' => :'Array<QueueConversationCobrowseEventTopicUriReference>',
59
+
60
+ :'scored_agents' => :'Array<QueueConversationCobrowseEventTopicScoredAgent>'
61
+
62
+ }
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ return unless attributes.is_a?(Hash)
69
+
70
+ # convert string to symbol for hash key
71
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
72
+
73
+
74
+ if attributes.has_key?(:'queue')
75
+
76
+
77
+ self.queue = attributes[:'queue']
78
+
79
+
80
+ end
81
+
82
+
83
+ if attributes.has_key?(:'language')
84
+
85
+
86
+ self.language = attributes[:'language']
87
+
88
+
89
+ end
90
+
91
+
92
+ if attributes.has_key?(:'priority')
93
+
94
+
95
+ self.priority = attributes[:'priority']
96
+
97
+
98
+ end
99
+
100
+
101
+ if attributes.has_key?(:'skills')
102
+
103
+ if (value = attributes[:'skills']).is_a?(Array)
104
+ self.skills = value
105
+ end
106
+
107
+
108
+
109
+ end
110
+
111
+
112
+ if attributes.has_key?(:'scoredAgents')
113
+
114
+ if (value = attributes[:'scoredAgents']).is_a?(Array)
115
+ self.scored_agents = value
116
+ end
117
+
118
+
119
+
120
+ end
121
+
122
+
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properies with the reasons
127
+ def list_invalid_properties
128
+ invalid_properties = Array.new
129
+
130
+
131
+ return invalid_properties
132
+ end
133
+
134
+ # Check to see if the all the properties in the model are valid
135
+ # @return true if the model is valid
136
+ def valid?
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+ end
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+ # Checks equality by comparing each attribute.
187
+ # @param [Object] Object to be compared
188
+ def ==(o)
189
+ return true if self.equal?(o)
190
+ self.class == o.class &&
191
+ queue == o.queue &&
192
+ language == o.language &&
193
+ priority == o.priority &&
194
+ skills == o.skills &&
195
+ scored_agents == o.scored_agents
196
+ end
197
+
198
+ # @see the `==` method
199
+ # @param [Object] Object to be compared
200
+ def eql?(o)
201
+ self == o
202
+ end
203
+
204
+ # Calculates hash code according to all attributes.
205
+ # @return [Fixnum] Hash code
206
+ def hash
207
+ [queue, language, priority, skills, scored_agents].hash
208
+ end
209
+
210
+ # build the object from hash
211
+ def build_from_hash(attributes)
212
+ return nil unless attributes.is_a?(Hash)
213
+ self.class.swagger_types.each_pair do |key, type|
214
+ if type =~ /^Array<(.*)>/i
215
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
216
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
217
+ else
218
+ #TODO show warning in debug mode
219
+ end
220
+ elsif !attributes[self.class.attribute_map[key]].nil?
221
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
222
+ else
223
+ # data not found in attributes(hash), not an issue as the data can be optional
224
+ end
225
+ end
226
+
227
+ self
228
+ end
229
+
230
+ def _deserialize(type, value)
231
+ case type.to_sym
232
+ when :DateTime
233
+ DateTime.parse(value)
234
+ when :Date
235
+ Date.parse(value)
236
+ when :String
237
+ value.to_s
238
+ when :Integer
239
+ value.to_i
240
+ when :Float
241
+ value.to_f
242
+ when :BOOLEAN
243
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
244
+ true
245
+ else
246
+ false
247
+ end
248
+ when :Object
249
+ # generic object (usually a Hash), return directly
250
+ value
251
+ when /\AArray<(?<inner_type>.+)>\z/
252
+ inner_type = Regexp.last_match[:inner_type]
253
+ value.map { |v| _deserialize(inner_type, v) }
254
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
255
+ k_type = Regexp.last_match[:k_type]
256
+ v_type = Regexp.last_match[:v_type]
257
+ {}.tap do |hash|
258
+ value.each do |k, v|
259
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
260
+ end
261
+ end
262
+ else # model
263
+ _model = Object.const_get("PureCloud").const_get(type).new
264
+ _model.build_from_hash(value)
265
+ end
266
+ end
267
+
268
+ def to_s
269
+ to_hash.to_s
270
+ end
271
+
272
+ # to_body is an alias to to_body (backward compatibility))
273
+ def to_body
274
+ to_hash
275
+ end
276
+
277
+ # return the object in the form of hash
278
+ def to_hash
279
+ hash = {}
280
+ self.class.attribute_map.each_pair do |attr, param|
281
+ value = self.send(attr)
282
+ next if value.nil?
283
+ hash[param] = _to_hash(value)
284
+ end
285
+ hash
286
+ end
287
+
288
+ # Method to output non-array value in the form of hash
289
+ # For object, use to_hash. Otherwise, just return the value
290
+ def _to_hash(value)
291
+ if value.is_a?(Array)
292
+ value.compact.map{ |v| _to_hash(v) }
293
+ elsif value.is_a?(Hash)
294
+ {}.tap do |hash|
295
+ value.each { |k, v| hash[k] = _to_hash(v) }
296
+ end
297
+ elsif value.respond_to? :to_hash
298
+ value.to_hash
299
+ else
300
+ value
301
+ end
302
+ end
303
+
304
+ end
305
+ end