purecloud 0.27.0 → 0.28.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 (269) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -0
  3. data/config-ruby.json +1 -1
  4. data/extensions/auth.rb +7 -0
  5. data/lib/purecloud.rb +137 -85
  6. data/lib/purecloud/api/analytics_api.rb +1906 -0
  7. data/lib/purecloud/api/architect_api.rb +51 -51
  8. data/lib/purecloud/api/attributes_api.rb +6 -6
  9. data/lib/purecloud/api/authorization_api.rb +17 -79
  10. data/lib/purecloud/api/callbacks_api.rb +483 -0
  11. data/lib/purecloud/api/calls_api.rb +1088 -0
  12. data/lib/purecloud/api/chats_api.rb +483 -0
  13. data/lib/purecloud/api/compliance_api.rb +2 -2
  14. data/lib/purecloud/api/configuration_api.rb +83 -83
  15. data/lib/purecloud/api/content_management_api.rb +36 -36
  16. data/lib/purecloud/api/conversations_api.rb +3542 -465
  17. data/lib/purecloud/api/downloads_api.rb +2 -2
  18. data/lib/purecloud/api/emails_api.rb +1013 -0
  19. data/lib/purecloud/api/evaluations_api.rb +73 -0
  20. data/lib/purecloud/api/external_contacts_api.rb +26 -26
  21. data/lib/purecloud/api/fax_api.rb +6 -6
  22. data/lib/purecloud/api/faxes_api.rb +73 -0
  23. data/lib/purecloud/api/geolocation_api.rb +4 -4
  24. data/lib/purecloud/api/greetings_api.rb +12 -12
  25. data/lib/purecloud/api/groups_api.rb +3 -3
  26. data/lib/purecloud/api/integrations_api.rb +144 -0
  27. data/lib/purecloud/api/languages_api.rb +2 -2
  28. data/lib/purecloud/api/licensing_api.rb +7 -7
  29. data/lib/purecloud/api/locations_api.rb +2 -2
  30. data/lib/purecloud/api/notifications_api.rb +7 -7
  31. data/lib/purecloud/api/o_auth_api.rb +22 -22
  32. data/lib/purecloud/api/outbound_api.rb +69 -81
  33. data/lib/purecloud/api/presence_api.rb +10 -10
  34. data/lib/purecloud/api/quality_api.rb +41 -93
  35. data/lib/purecloud/api/recording_api.rb +20 -29
  36. data/lib/purecloud/api/response_management_api.rb +11 -11
  37. data/lib/purecloud/api/routing_api.rb +333 -189
  38. data/lib/purecloud/api/scripts_api.rb +11 -11
  39. data/lib/purecloud/api/search_api.rb +1 -1
  40. data/lib/purecloud/api/socials_api.rb +483 -0
  41. data/lib/purecloud/api/stations_api.rb +3 -3
  42. data/lib/purecloud/api/telephony_providers_edge_api.rb +38 -38
  43. data/lib/purecloud/api/tokens_api.rb +1 -1
  44. data/lib/purecloud/api/user_recordings_api.rb +6 -6
  45. data/lib/purecloud/api/users_api.rb +403 -95
  46. data/lib/purecloud/api/utilities_api.rb +4 -60
  47. data/lib/purecloud/api/videos_api.rb +483 -0
  48. data/lib/purecloud/api/voicemail_api.rb +11 -11
  49. data/lib/purecloud/models/address.rb +47 -25
  50. data/lib/purecloud/models/address_listing.rb +11 -11
  51. data/lib/purecloud/models/agent_activity_entity_listing.rb +11 -11
  52. data/lib/purecloud/models/aggregate_data_container.rb +161 -0
  53. data/lib/purecloud/models/aggregate_metric_data.rb +175 -0
  54. data/lib/purecloud/models/{session_request.rb → aggregate_query_response.rb} +10 -8
  55. data/lib/purecloud/models/{domain_license_entity_listing.rb → aggregation_query.rb} +49 -79
  56. data/lib/purecloud/models/{tag.rb → aggregation_range.rb} +16 -16
  57. data/lib/purecloud/models/aggregation_result.rb +199 -0
  58. data/lib/purecloud/models/aggregation_result_entry.rb +179 -0
  59. data/lib/purecloud/models/alert_entity_listing.rb +11 -11
  60. data/lib/purecloud/models/analytics_conversation.rb +181 -0
  61. data/lib/purecloud/models/analytics_conversation_query_response.rb +160 -0
  62. data/lib/purecloud/models/{queue_member_entity_listing.rb → analytics_evaluation.rb} +62 -64
  63. data/lib/purecloud/models/analytics_participant.rb +158 -0
  64. data/lib/purecloud/models/analytics_property.rb +178 -0
  65. data/lib/purecloud/models/analytics_query_aggregation.rb +202 -0
  66. data/lib/purecloud/models/analytics_query_clause.rb +168 -0
  67. data/lib/purecloud/models/analytics_query_filter.rb +181 -0
  68. data/lib/purecloud/models/analytics_query_predicate.rb +269 -0
  69. data/lib/purecloud/models/analytics_segment.rb +607 -0
  70. data/lib/purecloud/models/{put_management_unit.rb → analytics_session.rb} +27 -25
  71. data/lib/purecloud/models/attribute_entity_listing.rb +11 -11
  72. data/lib/purecloud/models/audit_entity_reference.rb +1 -1
  73. data/lib/purecloud/models/automate_queue_member_entity_listing.rb +11 -11
  74. data/lib/purecloud/models/available_additional_service_listing.rb +11 -11
  75. data/lib/purecloud/models/available_topic_entity_listing.rb +11 -11
  76. data/lib/purecloud/models/calibration_entity_listing.rb +11 -11
  77. data/lib/purecloud/models/call.rb +2 -22
  78. data/lib/purecloud/models/call_conversation.rb +213 -0
  79. data/lib/purecloud/models/call_participant.rb +527 -0
  80. data/lib/purecloud/models/callable_time_set_entity_listing.rb +11 -11
  81. data/lib/purecloud/models/callback_conversation.rb +194 -0
  82. data/lib/purecloud/models/callback_participant.rb +456 -0
  83. data/lib/purecloud/models/campaign.rb +17 -219
  84. data/lib/purecloud/models/campaign_entity_listing.rb +11 -11
  85. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +11 -11
  86. data/lib/purecloud/models/carrier_entity_listing.rb +11 -11
  87. data/lib/purecloud/models/certificate_authority_entity_listing.rb +11 -11
  88. data/lib/purecloud/models/channel_entity_listing.rb +11 -11
  89. data/lib/purecloud/models/channel_topic_entity_listing.rb +11 -11
  90. data/lib/purecloud/models/{domain_license.rb → chat_conversation.rb} +19 -25
  91. data/lib/purecloud/models/chat_participant.rb +270 -12
  92. data/lib/purecloud/models/chat_search_listing.rb +11 -11
  93. data/lib/purecloud/models/command_status_entity_listing.rb +11 -11
  94. data/lib/purecloud/models/consumed_resources_entity_listing.rb +11 -11
  95. data/lib/purecloud/models/consuming_resources_entity_listing.rb +11 -11
  96. data/lib/purecloud/models/contact.rb +41 -73
  97. data/lib/purecloud/models/contact_list_entity_listing.rb +11 -11
  98. data/lib/purecloud/models/contact_listing.rb +11 -11
  99. data/lib/purecloud/models/contact_sales.rb +1 -21
  100. data/lib/purecloud/models/conversation_entity_listing.rb +11 -11
  101. data/lib/purecloud/models/{evaluation_query_request.rb → conversation_query.rb} +77 -90
  102. data/lib/purecloud/models/conversation_query_response.rb +11 -11
  103. data/lib/purecloud/models/{session_entity_listing.rb → create_call_request.rb} +71 -68
  104. data/lib/purecloud/models/{conversation_response.rb → create_call_response.rb} +1 -1
  105. data/lib/purecloud/models/create_user.rb +219 -0
  106. data/lib/purecloud/models/data_item.rb +19 -23
  107. data/lib/purecloud/models/deleted_resource_consumer_entity_listing.rb +11 -11
  108. data/lib/purecloud/models/dependency_object_entity_listing.rb +11 -11
  109. data/lib/purecloud/models/dependency_type_entity_listing.rb +11 -11
  110. data/lib/purecloud/models/destination.rb +1 -21
  111. data/lib/purecloud/models/did_entity_listing.rb +11 -11
  112. data/lib/purecloud/models/did_pool_entity_listing.rb +11 -11
  113. data/lib/purecloud/models/dnc_list_entity_listing.rb +11 -11
  114. data/lib/purecloud/models/document_audit_entity_listing.rb +11 -11
  115. data/lib/purecloud/models/document_entity_listing.rb +11 -11
  116. data/lib/purecloud/models/domain_billing_period_entity_listing.rb +11 -11
  117. data/lib/purecloud/models/domain_entity_listing.rb +11 -11
  118. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +11 -11
  119. data/lib/purecloud/models/domain_entity_listing_query_result.rb +11 -11
  120. data/lib/purecloud/models/domain_invoice_entity_listing.rb +11 -11
  121. data/lib/purecloud/models/domain_organization_role.rb +1 -23
  122. data/lib/purecloud/models/domain_permission.rb +1 -13
  123. data/lib/purecloud/models/domain_third_party_account_entity_listing.rb +11 -11
  124. data/lib/purecloud/models/domain_third_party_subscription_entity_listing.rb +11 -11
  125. data/lib/purecloud/models/domain_voice_rate_extended_response_item_entity_listing.rb +11 -11
  126. data/lib/purecloud/models/domain_voice_rate_international_response_item_entity_listing.rb +11 -11
  127. data/lib/purecloud/models/domain_voice_rate_response_item_entity_listing.rb +11 -11
  128. data/lib/purecloud/models/edge_entity_listing.rb +11 -11
  129. data/lib/purecloud/models/edge_group_entity_listing.rb +11 -11
  130. data/lib/purecloud/models/edge_line_entity_listing.rb +11 -11
  131. data/lib/purecloud/models/email_conversation.rb +194 -0
  132. data/lib/purecloud/models/email_message_listing.rb +11 -11
  133. data/lib/purecloud/models/email_participant.rb +424 -0
  134. data/lib/purecloud/models/encryption_key_entity_listing.rb +11 -11
  135. data/lib/purecloud/models/endpoint_entity_listing.rb +11 -11
  136. data/lib/purecloud/models/entity.rb +10 -20
  137. data/lib/purecloud/models/evaluation.rb +1 -0
  138. data/lib/purecloud/models/evaluation_entity_listing.rb +11 -11
  139. data/lib/purecloud/models/evaluation_form_entity_listing.rb +11 -11
  140. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +11 -11
  141. data/lib/purecloud/models/extension_entity_listing.rb +11 -11
  142. data/lib/purecloud/models/extension_pool_entity_listing.rb +11 -11
  143. data/lib/purecloud/models/external_organization_listing.rb +11 -11
  144. data/lib/purecloud/models/fax_document_entity_listing.rb +11 -11
  145. data/lib/purecloud/models/filter.rb +14 -11
  146. data/lib/purecloud/models/flow_config_meta_data_entity_listing.rb +11 -11
  147. data/lib/purecloud/models/flow_entity_listing.rb +11 -11
  148. data/lib/purecloud/models/flow_history_result_item_entity_listing.rb +11 -11
  149. data/lib/purecloud/models/flow_version_config_meta_data_entity_listing.rb +11 -11
  150. data/lib/purecloud/models/flow_version_entity_listing.rb +11 -11
  151. data/lib/purecloud/models/group_entity_listing.rb +11 -11
  152. data/lib/purecloud/models/hardware_rate_listing.rb +11 -11
  153. data/lib/purecloud/models/inbound_domain_entity_listing.rb +11 -11
  154. data/lib/purecloud/models/inbound_route_entity_listing.rb +11 -11
  155. data/lib/purecloud/models/integration_type_entity_listing.rb +11 -11
  156. data/lib/purecloud/models/ivr_entity_listing.rb +11 -11
  157. data/lib/purecloud/models/language_entity_listing.rb +11 -11
  158. data/lib/purecloud/models/library_entity_listing.rb +11 -11
  159. data/lib/purecloud/models/line_base_entity_listing.rb +11 -11
  160. data/lib/purecloud/models/line_entity_listing.rb +11 -11
  161. data/lib/purecloud/models/linked_entity_listing_flow_details.rb +11 -11
  162. data/lib/purecloud/models/linked_entity_listing_work_item_search_details.rb +11 -11
  163. data/lib/purecloud/models/location_entity_listing.rb +11 -11
  164. data/lib/purecloud/models/logical_interface_entity_listing.rb +11 -11
  165. data/lib/purecloud/models/management_unit.rb +26 -14
  166. data/lib/purecloud/models/media_result.rb +1 -11
  167. data/lib/purecloud/models/media_summary.rb +2 -2
  168. data/lib/purecloud/models/media_summary_detail.rb +156 -0
  169. data/lib/purecloud/models/note_listing.rb +11 -11
  170. data/lib/purecloud/models/numeric_range.rb +180 -0
  171. data/lib/purecloud/models/o_auth_client.rb +21 -14
  172. data/lib/purecloud/models/o_auth_client_entity_listing.rb +11 -11
  173. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +11 -11
  174. data/lib/purecloud/models/observation_data_container.rb +161 -0
  175. data/lib/purecloud/models/observation_query.rb +160 -0
  176. data/lib/purecloud/models/observation_query_response.rb +148 -0
  177. data/lib/purecloud/models/okta.rb +11 -11
  178. data/lib/purecloud/models/one_login.rb +11 -11
  179. data/lib/purecloud/models/organization_presence_entity_listing.rb +11 -11
  180. data/lib/purecloud/models/organization_role_entity_listing.rb +11 -11
  181. data/lib/purecloud/models/orphan_recording_listing.rb +11 -11
  182. data/lib/purecloud/models/outbound_route_entity_listing.rb +11 -11
  183. data/lib/purecloud/models/paging_spec.rb +158 -0
  184. data/lib/purecloud/models/participant.rb +1 -13
  185. data/lib/purecloud/models/payment_method_listing.rb +11 -11
  186. data/lib/purecloud/models/permission_collection_entity_listing.rb +11 -11
  187. data/lib/purecloud/models/phone_base_entity_listing.rb +11 -11
  188. data/lib/purecloud/models/phone_entity_listing.rb +11 -11
  189. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +11 -11
  190. data/lib/purecloud/models/physical_interface_entity_listing.rb +11 -11
  191. data/lib/purecloud/models/policy_entity_listing.rb +11 -11
  192. data/lib/purecloud/models/presence_query_response.rb +161 -0
  193. data/lib/purecloud/models/prompt_asset_entity_listing.rb +11 -11
  194. data/lib/purecloud/models/prompt_entity_listing.rb +11 -11
  195. data/lib/purecloud/models/property_index_request.rb +182 -0
  196. data/lib/purecloud/models/quality_audit_page.rb +11 -11
  197. data/lib/purecloud/models/queue.rb +1 -23
  198. data/lib/purecloud/models/queue_entity_listing.rb +11 -11
  199. data/lib/purecloud/models/queues_entity_listing.rb +11 -11
  200. data/lib/purecloud/models/quote.rb +1 -37
  201. data/lib/purecloud/models/quote_listing.rb +11 -11
  202. data/lib/purecloud/models/recording.rb +13 -34
  203. data/lib/purecloud/models/relationship_listing.rb +11 -11
  204. data/lib/purecloud/models/report_meta_data_entity_listing.rb +11 -11
  205. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +11 -11
  206. data/lib/purecloud/models/report_schedule_entity_listing.rb +11 -11
  207. data/lib/purecloud/models/response.rb +14 -84
  208. data/lib/purecloud/models/response_entity_list.rb +11 -11
  209. data/lib/purecloud/models/response_entity_listing.rb +11 -11
  210. data/lib/purecloud/models/response_set_entity_listing.rb +11 -11
  211. data/lib/purecloud/models/{user_status.rb → routing_skill.rb} +35 -25
  212. data/lib/purecloud/models/rule_entity_listing.rb +11 -11
  213. data/lib/purecloud/models/rule_set_entity_listing.rb +11 -11
  214. data/lib/purecloud/models/salesforce.rb +11 -11
  215. data/lib/purecloud/models/schedule_entity_listing.rb +11 -11
  216. data/lib/purecloud/models/schedule_group_entity_listing.rb +11 -11
  217. data/lib/purecloud/models/schema_category_entity_listing.rb +11 -11
  218. data/lib/purecloud/models/schema_reference_entity_listing.rb +11 -11
  219. data/lib/purecloud/models/script_entity_listing.rb +11 -11
  220. data/lib/purecloud/models/security_profile_entity_listing.rb +11 -11
  221. data/lib/purecloud/models/service_entity_listing.rb +11 -11
  222. data/lib/purecloud/models/share_entity_listing.rb +11 -11
  223. data/lib/purecloud/models/site_entity_listing.rb +11 -11
  224. data/lib/purecloud/models/skill_entity_listing.rb +12 -12
  225. data/lib/purecloud/models/social_conversation.rb +194 -0
  226. data/lib/purecloud/models/social_participant.rb +446 -0
  227. data/lib/purecloud/models/spreadsheet_transform_entity_listing.rb +11 -11
  228. data/lib/purecloud/models/station_entity_listing.rb +11 -11
  229. data/lib/purecloud/models/statistical_response.rb +158 -0
  230. data/lib/purecloud/models/statistical_summary.rb +226 -0
  231. data/lib/purecloud/models/system_prompt_asset_entity_listing.rb +11 -11
  232. data/lib/purecloud/models/system_prompt_entity_listing.rb +11 -11
  233. data/lib/purecloud/models/tag_value_entity_listing.rb +11 -11
  234. data/lib/purecloud/models/template_entity_listing.rb +11 -11
  235. data/lib/purecloud/models/text_table_transform_entity_listing.rb +11 -11
  236. data/lib/purecloud/models/time_zone.rb +1 -11
  237. data/lib/purecloud/models/time_zone_entity_listing.rb +11 -11
  238. data/lib/purecloud/models/transfer_request.rb +193 -0
  239. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +11 -11
  240. data/lib/purecloud/models/user.rb +96 -129
  241. data/lib/purecloud/models/user_action_category_entity_listing.rb +11 -11
  242. data/lib/purecloud/models/user_action_metadata_entity_listing.rb +11 -11
  243. data/lib/purecloud/models/user_authorization.rb +1 -13
  244. data/lib/purecloud/models/user_entity_listing.rb +11 -11
  245. data/lib/purecloud/models/user_presence_entity_listing.rb +11 -11
  246. data/lib/purecloud/models/user_queue.rb +1 -23
  247. data/lib/purecloud/models/user_queue_entity_listing.rb +11 -11
  248. data/lib/purecloud/models/user_recording_entity_listing.rb +11 -11
  249. data/lib/purecloud/models/{session.rb → user_routing_skill.rb} +26 -41
  250. data/lib/purecloud/models/user_skill_entity_listing.rb +12 -12
  251. data/lib/purecloud/models/user_station.rb +178 -0
  252. data/lib/purecloud/models/user_stations.rb +180 -0
  253. data/lib/purecloud/models/users_entity_listing.rb +11 -11
  254. data/lib/purecloud/models/utilization.rb +4 -36
  255. data/lib/purecloud/models/video_conversation.rb +194 -0
  256. data/lib/purecloud/models/video_participant.rb +463 -0
  257. data/lib/purecloud/models/voice_rate_international_entity_listing.rb +11 -11
  258. data/lib/purecloud/models/voice_xml_operation_entity_listing.rb +11 -11
  259. data/lib/purecloud/models/voicemail_message_entity_listing.rb +11 -11
  260. data/lib/purecloud/models/workspace_entity_listing.rb +11 -11
  261. data/lib/purecloud/models/workspace_member_entity_listing.rb +11 -11
  262. data/lib/purecloud/models/wrapup_code_entity_listing.rb +11 -11
  263. data/lib/purecloud/version.rb +1 -1
  264. data/newVersion.md +1 -1
  265. data/swagger.json +1 -1
  266. data/version.json +1 -1
  267. metadata +60 -15
  268. data/lib/purecloud/models/skill.rb +0 -269
  269. data/lib/purecloud/models/user_skill.rb +0 -290
@@ -12,12 +12,12 @@ module PureCloud
12
12
 
13
13
  attr_accessor :self_uri
14
14
 
15
+ attr_accessor :next_uri
16
+
15
17
  attr_accessor :first_uri
16
18
 
17
19
  attr_accessor :previous_uri
18
20
 
19
- attr_accessor :next_uri
20
-
21
21
  attr_accessor :last_uri
22
22
 
23
23
  attr_accessor :page_count
@@ -36,12 +36,12 @@ module PureCloud
36
36
 
37
37
  :'self_uri' => :'selfUri',
38
38
 
39
+ :'next_uri' => :'nextUri',
40
+
39
41
  :'first_uri' => :'firstUri',
40
42
 
41
43
  :'previous_uri' => :'previousUri',
42
44
 
43
- :'next_uri' => :'nextUri',
44
-
45
45
  :'last_uri' => :'lastUri',
46
46
 
47
47
  :'page_count' => :'pageCount'
@@ -57,9 +57,9 @@ module PureCloud
57
57
  :'total' => :'Integer',
58
58
  :'entities' => :'Array<TimeZone>',
59
59
  :'self_uri' => :'String',
60
+ :'next_uri' => :'String',
60
61
  :'first_uri' => :'String',
61
62
  :'previous_uri' => :'String',
62
- :'next_uri' => :'String',
63
63
  :'last_uri' => :'String',
64
64
  :'page_count' => :'Integer'
65
65
 
@@ -95,6 +95,10 @@ module PureCloud
95
95
  self.self_uri = attributes[:'selfUri']
96
96
  end
97
97
 
98
+ if attributes[:'nextUri']
99
+ self.next_uri = attributes[:'nextUri']
100
+ end
101
+
98
102
  if attributes[:'firstUri']
99
103
  self.first_uri = attributes[:'firstUri']
100
104
  end
@@ -103,10 +107,6 @@ module PureCloud
103
107
  self.previous_uri = attributes[:'previousUri']
104
108
  end
105
109
 
106
- if attributes[:'nextUri']
107
- self.next_uri = attributes[:'nextUri']
108
- end
109
-
110
110
  if attributes[:'lastUri']
111
111
  self.last_uri = attributes[:'lastUri']
112
112
  end
@@ -126,9 +126,9 @@ module PureCloud
126
126
  total == o.total &&
127
127
  entities == o.entities &&
128
128
  self_uri == o.self_uri &&
129
+ next_uri == o.next_uri &&
129
130
  first_uri == o.first_uri &&
130
131
  previous_uri == o.previous_uri &&
131
- next_uri == o.next_uri &&
132
132
  last_uri == o.last_uri &&
133
133
  page_count == o.page_count
134
134
  end
@@ -140,7 +140,7 @@ module PureCloud
140
140
 
141
141
  # Calculate hash code according to all attributes.
142
142
  def hash
143
- [page_size, page_number, total, entities, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
143
+ [page_size, page_number, total, entities, self_uri, next_uri, first_uri, previous_uri, last_uri, page_count].hash
144
144
  end
145
145
 
146
146
  # build the object from hash
@@ -0,0 +1,193 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class TransferRequest
5
+ # The user ID of the transfer target.
6
+ attr_accessor :user_id
7
+
8
+ # The phone number or address of the transfer target.
9
+ attr_accessor :address
10
+
11
+ # The user name of the transfer target.
12
+ attr_accessor :user_name
13
+
14
+ # The queue ID of the transfer target.
15
+ attr_accessor :queue_id
16
+
17
+ # If true, then transfer to the user's voicemail.
18
+ attr_accessor :voicemail
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+
24
+ :'user_id' => :'userId',
25
+
26
+ :'address' => :'address',
27
+
28
+ :'user_name' => :'userName',
29
+
30
+ :'queue_id' => :'queueId',
31
+
32
+ :'voicemail' => :'voicemail'
33
+
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ :'user_id' => :'String',
41
+ :'address' => :'String',
42
+ :'user_name' => :'String',
43
+ :'queue_id' => :'String',
44
+ :'voicemail' => :'BOOLEAN'
45
+
46
+ }
47
+ end
48
+
49
+ def initialize(attributes = {})
50
+ return unless attributes.is_a?(Hash)
51
+
52
+ # convert string to symbol for hash key
53
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
54
+
55
+
56
+ if attributes[:'userId']
57
+ self.user_id = attributes[:'userId']
58
+ end
59
+
60
+ if attributes[:'address']
61
+ self.address = attributes[:'address']
62
+ end
63
+
64
+ if attributes[:'userName']
65
+ self.user_name = attributes[:'userName']
66
+ end
67
+
68
+ if attributes[:'queueId']
69
+ self.queue_id = attributes[:'queueId']
70
+ end
71
+
72
+ if attributes[:'voicemail']
73
+ self.voicemail = attributes[:'voicemail']
74
+ else
75
+ self.voicemail = false
76
+ end
77
+
78
+ end
79
+
80
+ # Check equality by comparing each attribute.
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ user_id == o.user_id &&
85
+ address == o.address &&
86
+ user_name == o.user_name &&
87
+ queue_id == o.queue_id &&
88
+ voicemail == o.voicemail
89
+ end
90
+
91
+ # @see the `==` method
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculate hash code according to all attributes.
97
+ def hash
98
+ [user_id, address, user_name, queue_id, voicemail].hash
99
+ end
100
+
101
+ # build the object from hash
102
+ def build_from_hash(attributes)
103
+ return nil unless attributes.is_a?(Hash)
104
+ self.class.swagger_types.each_pair do |key, type|
105
+ if type =~ /^Array<(.*)>/i
106
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
107
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
108
+ else
109
+ #TODO show warning in debug mode
110
+ end
111
+ elsif !attributes[self.class.attribute_map[key]].nil?
112
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
113
+ else
114
+ # data not found in attributes(hash), not an issue as the data can be optional
115
+ end
116
+ end
117
+
118
+ self
119
+ end
120
+
121
+ def _deserialize(type, value)
122
+ case type.to_sym
123
+ when :DateTime
124
+ DateTime.parse(value)
125
+ when :Date
126
+ Date.parse(value)
127
+ when :String
128
+ value.to_s
129
+ when :Integer
130
+ value.to_i
131
+ when :Float
132
+ value.to_f
133
+ when :BOOLEAN
134
+ if value =~ /^(true|t|yes|y|1)$/i
135
+ true
136
+ else
137
+ false
138
+ end
139
+ when /\AArray<(?<inner_type>.+)>\z/
140
+ inner_type = Regexp.last_match[:inner_type]
141
+ value.map { |v| _deserialize(inner_type, v) }
142
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
143
+ k_type = Regexp.last_match[:k_type]
144
+ v_type = Regexp.last_match[:v_type]
145
+ {}.tap do |hash|
146
+ value.each do |k, v|
147
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
148
+ end
149
+ end
150
+ else # model
151
+ _model = Object.const_get("PureCloud").const_get(type).new
152
+ _model.build_from_hash(value)
153
+ end
154
+ end
155
+
156
+ def to_s
157
+ to_hash.to_s
158
+ end
159
+
160
+ # to_body is an alias to to_body (backward compatibility))
161
+ def to_body
162
+ to_hash
163
+ end
164
+
165
+ # return the object in the form of hash
166
+ def to_hash
167
+ hash = {}
168
+ self.class.attribute_map.each_pair do |attr, param|
169
+ value = self.send(attr)
170
+ next if value.nil?
171
+ hash[param] = _to_hash(value)
172
+ end
173
+ hash
174
+ end
175
+
176
+ # Method to output non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ def _to_hash(value)
179
+ if value.is_a?(Array)
180
+ value.compact.map{ |v| _to_hash(v) }
181
+ elsif value.is_a?(Hash)
182
+ {}.tap do |hash|
183
+ value.each { |k, v| hash[k] = _to_hash(v) }
184
+ end
185
+ elsif value.respond_to? :to_hash
186
+ value.to_hash
187
+ else
188
+ value
189
+ end
190
+ end
191
+
192
+ end
193
+ end
@@ -12,12 +12,12 @@ module PureCloud
12
12
 
13
13
  attr_accessor :self_uri
14
14
 
15
+ attr_accessor :next_uri
16
+
15
17
  attr_accessor :first_uri
16
18
 
17
19
  attr_accessor :previous_uri
18
20
 
19
- attr_accessor :next_uri
20
-
21
21
  attr_accessor :last_uri
22
22
 
23
23
  attr_accessor :page_count
@@ -36,12 +36,12 @@ module PureCloud
36
36
 
37
37
  :'self_uri' => :'selfUri',
38
38
 
39
+ :'next_uri' => :'nextUri',
40
+
39
41
  :'first_uri' => :'firstUri',
40
42
 
41
43
  :'previous_uri' => :'previousUri',
42
44
 
43
- :'next_uri' => :'nextUri',
44
-
45
45
  :'last_uri' => :'lastUri',
46
46
 
47
47
  :'page_count' => :'pageCount'
@@ -57,9 +57,9 @@ module PureCloud
57
57
  :'total' => :'Integer',
58
58
  :'entities' => :'Array<Metabase>',
59
59
  :'self_uri' => :'String',
60
+ :'next_uri' => :'String',
60
61
  :'first_uri' => :'String',
61
62
  :'previous_uri' => :'String',
62
- :'next_uri' => :'String',
63
63
  :'last_uri' => :'String',
64
64
  :'page_count' => :'Integer'
65
65
 
@@ -95,6 +95,10 @@ module PureCloud
95
95
  self.self_uri = attributes[:'selfUri']
96
96
  end
97
97
 
98
+ if attributes[:'nextUri']
99
+ self.next_uri = attributes[:'nextUri']
100
+ end
101
+
98
102
  if attributes[:'firstUri']
99
103
  self.first_uri = attributes[:'firstUri']
100
104
  end
@@ -103,10 +107,6 @@ module PureCloud
103
107
  self.previous_uri = attributes[:'previousUri']
104
108
  end
105
109
 
106
- if attributes[:'nextUri']
107
- self.next_uri = attributes[:'nextUri']
108
- end
109
-
110
110
  if attributes[:'lastUri']
111
111
  self.last_uri = attributes[:'lastUri']
112
112
  end
@@ -126,9 +126,9 @@ module PureCloud
126
126
  total == o.total &&
127
127
  entities == o.entities &&
128
128
  self_uri == o.self_uri &&
129
+ next_uri == o.next_uri &&
129
130
  first_uri == o.first_uri &&
130
131
  previous_uri == o.previous_uri &&
131
- next_uri == o.next_uri &&
132
132
  last_uri == o.last_uri &&
133
133
  page_count == o.page_count
134
134
  end
@@ -140,7 +140,7 @@ module PureCloud
140
140
 
141
141
  # Calculate hash code according to all attributes.
142
142
  def hash
143
- [page_size, page_number, total, entities, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
143
+ [page_size, page_number, total, entities, self_uri, next_uri, first_uri, previous_uri, last_uri, page_count].hash
144
144
  end
145
145
 
146
146
  # build the object from hash
@@ -7,53 +7,53 @@ module PureCloud
7
7
 
8
8
  attr_accessor :name
9
9
 
10
- attr_accessor :username
10
+ attr_accessor :chat
11
11
 
12
- attr_accessor :email
12
+ attr_accessor :department
13
13
 
14
- attr_accessor :display_name
14
+ attr_accessor :email
15
15
 
16
- attr_accessor :phone_number
16
+ # Auto populated from addresses.
17
+ attr_accessor :primary_contact_info
17
18
 
18
- attr_accessor :user_images
19
+ attr_accessor :addresses
19
20
 
20
- attr_accessor :chat
21
+ # The current state for this user.
22
+ attr_accessor :state
21
23
 
22
- attr_accessor :roles
24
+ attr_accessor :title
23
25
 
24
- attr_accessor :voicemail_enabled
26
+ attr_accessor :username
25
27
 
26
- attr_accessor :department
28
+ attr_accessor :images
27
29
 
28
- attr_accessor :title
30
+ # Required when updating. Version must be the current version. Only the system can assign version.
31
+ attr_accessor :version
29
32
 
33
+ # ACD routing status
30
34
  attr_accessor :routing_status
31
35
 
32
- attr_accessor :password
33
-
36
+ # Active presence
34
37
  attr_accessor :primary_presence
35
38
 
36
- attr_accessor :conversations
37
-
39
+ # Summary of conversion statistics for conversation types.
38
40
  attr_accessor :conversation_summary
39
41
 
42
+ # Determine if out of office is enabled
40
43
  attr_accessor :out_of_office
41
44
 
45
+ # Current geolocation position
42
46
  attr_accessor :geolocation
43
47
 
44
- attr_accessor :permissions
48
+ # Effective, default, and last station information
49
+ attr_accessor :station
50
+
51
+ # Roles and permissions assigned to the user
52
+ attr_accessor :authorization
45
53
 
46
54
  # The URI for this object
47
55
  attr_accessor :self_uri
48
56
 
49
- attr_accessor :requested_status
50
-
51
- attr_accessor :default_station_uri
52
-
53
- attr_accessor :station_uri
54
-
55
- attr_accessor :last_station_uri
56
-
57
57
  # Attribute mapping from ruby-style variable name to JSON key.
58
58
  def self.attribute_map
59
59
  {
@@ -62,51 +62,41 @@ module PureCloud
62
62
 
63
63
  :'name' => :'name',
64
64
 
65
- :'username' => :'username',
65
+ :'chat' => :'chat',
66
66
 
67
- :'email' => :'email',
67
+ :'department' => :'department',
68
68
 
69
- :'display_name' => :'displayName',
69
+ :'email' => :'email',
70
70
 
71
- :'phone_number' => :'phoneNumber',
71
+ :'primary_contact_info' => :'primaryContactInfo',
72
72
 
73
- :'user_images' => :'userImages',
73
+ :'addresses' => :'addresses',
74
74
 
75
- :'chat' => :'chat',
75
+ :'state' => :'state',
76
76
 
77
- :'roles' => :'roles',
77
+ :'title' => :'title',
78
78
 
79
- :'voicemail_enabled' => :'voicemailEnabled',
79
+ :'username' => :'username',
80
80
 
81
- :'department' => :'department',
81
+ :'images' => :'images',
82
82
 
83
- :'title' => :'title',
83
+ :'version' => :'version',
84
84
 
85
85
  :'routing_status' => :'routingStatus',
86
86
 
87
- :'password' => :'password',
88
-
89
87
  :'primary_presence' => :'primaryPresence',
90
88
 
91
- :'conversations' => :'conversations',
92
-
93
89
  :'conversation_summary' => :'conversationSummary',
94
90
 
95
91
  :'out_of_office' => :'outOfOffice',
96
92
 
97
93
  :'geolocation' => :'geolocation',
98
94
 
99
- :'permissions' => :'permissions',
100
-
101
- :'self_uri' => :'selfUri',
95
+ :'station' => :'station',
102
96
 
103
- :'requested_status' => :'requestedStatus',
97
+ :'authorization' => :'authorization',
104
98
 
105
- :'default_station_uri' => :'defaultStationUri',
106
-
107
- :'station_uri' => :'stationUri',
108
-
109
- :'last_station_uri' => :'lastStationUri'
99
+ :'self_uri' => :'selfUri'
110
100
 
111
101
  }
112
102
  end
@@ -116,29 +106,24 @@ module PureCloud
116
106
  {
117
107
  :'id' => :'String',
118
108
  :'name' => :'String',
119
- :'username' => :'String',
120
- :'email' => :'String',
121
- :'display_name' => :'String',
122
- :'phone_number' => :'String',
123
- :'user_images' => :'Array<UserImage>',
124
109
  :'chat' => :'Chat',
125
- :'roles' => :'Array<DomainOrganizationRole>',
126
- :'voicemail_enabled' => :'BOOLEAN',
127
110
  :'department' => :'String',
111
+ :'email' => :'String',
112
+ :'primary_contact_info' => :'Array<Contact>',
113
+ :'addresses' => :'Array<Contact>',
114
+ :'state' => :'String',
128
115
  :'title' => :'String',
116
+ :'username' => :'String',
117
+ :'images' => :'Array<UserImage>',
118
+ :'version' => :'String',
129
119
  :'routing_status' => :'RoutingStatus',
130
- :'password' => :'String',
131
120
  :'primary_presence' => :'UserPresence',
132
- :'conversations' => :'UserConversationSummary',
133
121
  :'conversation_summary' => :'UserConversationSummary',
134
122
  :'out_of_office' => :'OutOfOffice',
135
123
  :'geolocation' => :'Geolocation',
136
- :'permissions' => :'Array<String>',
137
- :'self_uri' => :'String',
138
- :'requested_status' => :'UserStatus',
139
- :'default_station_uri' => :'String',
140
- :'station_uri' => :'String',
141
- :'last_station_uri' => :'String'
124
+ :'station' => :'UserStations',
125
+ :'authorization' => :'UserAuthorization',
126
+ :'self_uri' => :'String'
142
127
 
143
128
  }
144
129
  end
@@ -158,68 +143,60 @@ module PureCloud
158
143
  self.name = attributes[:'name']
159
144
  end
160
145
 
161
- if attributes[:'username']
162
- self.username = attributes[:'username']
146
+ if attributes[:'chat']
147
+ self.chat = attributes[:'chat']
163
148
  end
164
149
 
165
- if attributes[:'email']
166
- self.email = attributes[:'email']
150
+ if attributes[:'department']
151
+ self.department = attributes[:'department']
167
152
  end
168
153
 
169
- if attributes[:'displayName']
170
- self.display_name = attributes[:'displayName']
154
+ if attributes[:'email']
155
+ self.email = attributes[:'email']
171
156
  end
172
157
 
173
- if attributes[:'phoneNumber']
174
- self.phone_number = attributes[:'phoneNumber']
158
+ if attributes[:'primaryContactInfo']
159
+ if (value = attributes[:'primaryContactInfo']).is_a?(Array)
160
+ self.primary_contact_info = value
161
+ end
175
162
  end
176
163
 
177
- if attributes[:'userImages']
178
- if (value = attributes[:'userImages']).is_a?(Array)
179
- self.user_images = value
164
+ if attributes[:'addresses']
165
+ if (value = attributes[:'addresses']).is_a?(Array)
166
+ self.addresses = value
180
167
  end
181
168
  end
182
169
 
183
- if attributes[:'chat']
184
- self.chat = attributes[:'chat']
170
+ if attributes[:'state']
171
+ self.state = attributes[:'state']
185
172
  end
186
173
 
187
- if attributes[:'roles']
188
- if (value = attributes[:'roles']).is_a?(Array)
189
- self.roles = value
190
- end
174
+ if attributes[:'title']
175
+ self.title = attributes[:'title']
191
176
  end
192
177
 
193
- if attributes[:'voicemailEnabled']
194
- self.voicemail_enabled = attributes[:'voicemailEnabled']
195
- else
196
- self.voicemail_enabled = false
178
+ if attributes[:'username']
179
+ self.username = attributes[:'username']
197
180
  end
198
181
 
199
- if attributes[:'department']
200
- self.department = attributes[:'department']
182
+ if attributes[:'images']
183
+ if (value = attributes[:'images']).is_a?(Array)
184
+ self.images = value
185
+ end
201
186
  end
202
187
 
203
- if attributes[:'title']
204
- self.title = attributes[:'title']
188
+ if attributes[:'version']
189
+ self.version = attributes[:'version']
205
190
  end
206
191
 
207
192
  if attributes[:'routingStatus']
208
193
  self.routing_status = attributes[:'routingStatus']
209
194
  end
210
195
 
211
- if attributes[:'password']
212
- self.password = attributes[:'password']
213
- end
214
-
215
196
  if attributes[:'primaryPresence']
216
197
  self.primary_presence = attributes[:'primaryPresence']
217
198
  end
218
199
 
219
- if attributes[:'conversations']
220
- self.conversations = attributes[:'conversations']
221
- end
222
-
223
200
  if attributes[:'conversationSummary']
224
201
  self.conversation_summary = attributes[:'conversationSummary']
225
202
  end
@@ -232,32 +209,27 @@ module PureCloud
232
209
  self.geolocation = attributes[:'geolocation']
233
210
  end
234
211
 
235
- if attributes[:'permissions']
236
- if (value = attributes[:'permissions']).is_a?(Array)
237
- self.permissions = value
238
- end
239
- end
240
-
241
- if attributes[:'selfUri']
242
- self.self_uri = attributes[:'selfUri']
243
- end
244
-
245
- if attributes[:'requestedStatus']
246
- self.requested_status = attributes[:'requestedStatus']
212
+ if attributes[:'station']
213
+ self.station = attributes[:'station']
247
214
  end
248
215
 
249
- if attributes[:'defaultStationUri']
250
- self.default_station_uri = attributes[:'defaultStationUri']
216
+ if attributes[:'authorization']
217
+ self.authorization = attributes[:'authorization']
251
218
  end
252
219
 
253
- if attributes[:'stationUri']
254
- self.station_uri = attributes[:'stationUri']
220
+ if attributes[:'selfUri']
221
+ self.self_uri = attributes[:'selfUri']
255
222
  end
256
223
 
257
- if attributes[:'lastStationUri']
258
- self.last_station_uri = attributes[:'lastStationUri']
224
+ end
225
+
226
+ # Custom attribute writer method checking allowed values (enum).
227
+ def state=(state)
228
+ allowed_values = ["ACTIVE", "INACTIVE", "DELETED"]
229
+ if state && !allowed_values.include?(state)
230
+ fail "invalid value for 'state', must be one of #{allowed_values}"
259
231
  end
260
-
232
+ @state = state
261
233
  end
262
234
 
263
235
  # Check equality by comparing each attribute.
@@ -266,29 +238,24 @@ module PureCloud
266
238
  self.class == o.class &&
267
239
  id == o.id &&
268
240
  name == o.name &&
269
- username == o.username &&
270
- email == o.email &&
271
- display_name == o.display_name &&
272
- phone_number == o.phone_number &&
273
- user_images == o.user_images &&
274
241
  chat == o.chat &&
275
- roles == o.roles &&
276
- voicemail_enabled == o.voicemail_enabled &&
277
242
  department == o.department &&
243
+ email == o.email &&
244
+ primary_contact_info == o.primary_contact_info &&
245
+ addresses == o.addresses &&
246
+ state == o.state &&
278
247
  title == o.title &&
248
+ username == o.username &&
249
+ images == o.images &&
250
+ version == o.version &&
279
251
  routing_status == o.routing_status &&
280
- password == o.password &&
281
252
  primary_presence == o.primary_presence &&
282
- conversations == o.conversations &&
283
253
  conversation_summary == o.conversation_summary &&
284
254
  out_of_office == o.out_of_office &&
285
255
  geolocation == o.geolocation &&
286
- permissions == o.permissions &&
287
- self_uri == o.self_uri &&
288
- requested_status == o.requested_status &&
289
- default_station_uri == o.default_station_uri &&
290
- station_uri == o.station_uri &&
291
- last_station_uri == o.last_station_uri
256
+ station == o.station &&
257
+ authorization == o.authorization &&
258
+ self_uri == o.self_uri
292
259
  end
293
260
 
294
261
  # @see the `==` method
@@ -298,7 +265,7 @@ module PureCloud
298
265
 
299
266
  # Calculate hash code according to all attributes.
300
267
  def hash
301
- [id, name, username, email, display_name, phone_number, user_images, chat, roles, voicemail_enabled, department, title, routing_status, password, primary_presence, conversations, conversation_summary, out_of_office, geolocation, permissions, self_uri, requested_status, default_station_uri, station_uri, last_station_uri].hash
268
+ [id, name, chat, department, email, primary_contact_info, addresses, state, title, username, images, version, routing_status, primary_presence, conversation_summary, out_of_office, geolocation, station, authorization, self_uri].hash
302
269
  end
303
270
 
304
271
  # build the object from hash