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
@@ -0,0 +1,175 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class AggregateMetricData
5
+ attr_accessor :metric
6
+
7
+ attr_accessor :qualifier
8
+
9
+ attr_accessor :stats
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+
15
+ :'metric' => :'metric',
16
+
17
+ :'qualifier' => :'qualifier',
18
+
19
+ :'stats' => :'stats'
20
+
21
+ }
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.swagger_types
26
+ {
27
+ :'metric' => :'String',
28
+ :'qualifier' => :'String',
29
+ :'stats' => :'StatisticalSummary'
30
+
31
+ }
32
+ end
33
+
34
+ def initialize(attributes = {})
35
+ return unless attributes.is_a?(Hash)
36
+
37
+ # convert string to symbol for hash key
38
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
39
+
40
+
41
+ if attributes[:'metric']
42
+ self.metric = attributes[:'metric']
43
+ end
44
+
45
+ if attributes[:'qualifier']
46
+ self.qualifier = attributes[:'qualifier']
47
+ end
48
+
49
+ if attributes[:'stats']
50
+ self.stats = attributes[:'stats']
51
+ end
52
+
53
+ end
54
+
55
+ # Custom attribute writer method checking allowed values (enum).
56
+ def metric=(metric)
57
+ allowed_values = ["tSegmentDuration", "oTotalCriticalScore", "oTotalScore", "nEvaluations", "tAbandon", "tIvr", "tAnswered", "tAcd", "tTalk", "tHeld", "tTalkComplete", "tHeldComplete", "tAcw", "tHandle", "tWait", "tAgentRoutingStatus", "tOrganizationPresence", "tSystemPresence", "tUserResponseTime", "tAgentResponseTime", "nOffered", "nOverSla", "nTransferred", "nDialerAttempted", "nDialerConnected", "nDialerAbandoned", "nError", "oServiceTarget", "oServiceLevel", "tActive", "tInactive", "oActiveUsers", "oMemberUsers", "oActiveQueues", "oMemberQueues", "oInteracting", "oWaiting"]
58
+ if metric && !allowed_values.include?(metric)
59
+ fail "invalid value for 'metric', must be one of #{allowed_values}"
60
+ end
61
+ @metric = metric
62
+ end
63
+
64
+ # Check equality by comparing each attribute.
65
+ def ==(o)
66
+ return true if self.equal?(o)
67
+ self.class == o.class &&
68
+ metric == o.metric &&
69
+ qualifier == o.qualifier &&
70
+ stats == o.stats
71
+ end
72
+
73
+ # @see the `==` method
74
+ def eql?(o)
75
+ self == o
76
+ end
77
+
78
+ # Calculate hash code according to all attributes.
79
+ def hash
80
+ [metric, qualifier, stats].hash
81
+ end
82
+
83
+ # build the object from hash
84
+ def build_from_hash(attributes)
85
+ return nil unless attributes.is_a?(Hash)
86
+ self.class.swagger_types.each_pair do |key, type|
87
+ if type =~ /^Array<(.*)>/i
88
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
89
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
90
+ else
91
+ #TODO show warning in debug mode
92
+ end
93
+ elsif !attributes[self.class.attribute_map[key]].nil?
94
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
95
+ else
96
+ # data not found in attributes(hash), not an issue as the data can be optional
97
+ end
98
+ end
99
+
100
+ self
101
+ end
102
+
103
+ def _deserialize(type, value)
104
+ case type.to_sym
105
+ when :DateTime
106
+ DateTime.parse(value)
107
+ when :Date
108
+ Date.parse(value)
109
+ when :String
110
+ value.to_s
111
+ when :Integer
112
+ value.to_i
113
+ when :Float
114
+ value.to_f
115
+ when :BOOLEAN
116
+ if value =~ /^(true|t|yes|y|1)$/i
117
+ true
118
+ else
119
+ false
120
+ end
121
+ when /\AArray<(?<inner_type>.+)>\z/
122
+ inner_type = Regexp.last_match[:inner_type]
123
+ value.map { |v| _deserialize(inner_type, v) }
124
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
125
+ k_type = Regexp.last_match[:k_type]
126
+ v_type = Regexp.last_match[:v_type]
127
+ {}.tap do |hash|
128
+ value.each do |k, v|
129
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
130
+ end
131
+ end
132
+ else # model
133
+ _model = Object.const_get("PureCloud").const_get(type).new
134
+ _model.build_from_hash(value)
135
+ end
136
+ end
137
+
138
+ def to_s
139
+ to_hash.to_s
140
+ end
141
+
142
+ # to_body is an alias to to_body (backward compatibility))
143
+ def to_body
144
+ to_hash
145
+ end
146
+
147
+ # return the object in the form of hash
148
+ def to_hash
149
+ hash = {}
150
+ self.class.attribute_map.each_pair do |attr, param|
151
+ value = self.send(attr)
152
+ next if value.nil?
153
+ hash[param] = _to_hash(value)
154
+ end
155
+ hash
156
+ end
157
+
158
+ # Method to output non-array value in the form of hash
159
+ # For object, use to_hash. Otherwise, just return the value
160
+ def _to_hash(value)
161
+ if value.is_a?(Array)
162
+ value.compact.map{ |v| _to_hash(v) }
163
+ elsif value.is_a?(Hash)
164
+ {}.tap do |hash|
165
+ value.each { |k, v| hash[k] = _to_hash(v) }
166
+ end
167
+ elsif value.respond_to? :to_hash
168
+ value.to_hash
169
+ else
170
+ value
171
+ end
172
+ end
173
+
174
+ end
175
+ end
@@ -1,14 +1,14 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- class SessionRequest
5
- attr_accessor :minutes_to_live
4
+ class AggregateQueryResponse
5
+ attr_accessor :results
6
6
 
7
7
  # Attribute mapping from ruby-style variable name to JSON key.
8
8
  def self.attribute_map
9
9
  {
10
10
 
11
- :'minutes_to_live' => :'minutesToLive'
11
+ :'results' => :'results'
12
12
 
13
13
  }
14
14
  end
@@ -16,7 +16,7 @@ module PureCloud
16
16
  # Attribute type mapping.
17
17
  def self.swagger_types
18
18
  {
19
- :'minutes_to_live' => :'Integer'
19
+ :'results' => :'Array<AggregateDataContainer>'
20
20
 
21
21
  }
22
22
  end
@@ -28,8 +28,10 @@ module PureCloud
28
28
  attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
29
29
 
30
30
 
31
- if attributes[:'minutesToLive']
32
- self.minutes_to_live = attributes[:'minutesToLive']
31
+ if attributes[:'results']
32
+ if (value = attributes[:'results']).is_a?(Array)
33
+ self.results = value
34
+ end
33
35
  end
34
36
 
35
37
  end
@@ -38,7 +40,7 @@ module PureCloud
38
40
  def ==(o)
39
41
  return true if self.equal?(o)
40
42
  self.class == o.class &&
41
- minutes_to_live == o.minutes_to_live
43
+ results == o.results
42
44
  end
43
45
 
44
46
  # @see the `==` method
@@ -48,7 +50,7 @@ module PureCloud
48
50
 
49
51
  # Calculate hash code according to all attributes.
50
52
  def hash
51
- [minutes_to_live].hash
53
+ [results].hash
52
54
  end
53
55
 
54
56
  # build the object from hash
@@ -1,50 +1,40 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- class DomainLicenseEntityListing
5
- attr_accessor :page_size
4
+ class AggregationQuery
5
+ # Behaves like one clause in a SQL WHERE. Specifies the date and time range of data being queried. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss
6
+ attr_accessor :interval
6
7
 
7
- attr_accessor :page_number
8
+ # Granularity aggregates metrics into subpartitions within the time interval specified. The default granularity is the same duration as the interval. Periods are represented as an ISO-8601 string. For example: P1D or P1DT12H
9
+ attr_accessor :granularity
8
10
 
9
- attr_accessor :total
11
+ # Behaves like a SQL GROUPBY. Allows for multiple levels of grouping as a list of dimensions. Partitions resulting aggregate computations into distinct named subgroups rather than across the entire result set as if it were one group.
12
+ attr_accessor :group_by
10
13
 
11
- attr_accessor :entities
14
+ # Behaves like a SQL WHERE clause. This is ANDed with the interval parameter. Expresses boolean logical predicates as well as dimensional filters
15
+ attr_accessor :filter
12
16
 
13
- attr_accessor :self_uri
17
+ # Behaves like a SQL SELECT clause. Enables retrieving only named metrics. If omitted, all metrics that are available will be returned (like SELECT *).
18
+ attr_accessor :metrics
14
19
 
15
- attr_accessor :first_uri
16
-
17
- attr_accessor :previous_uri
18
-
19
- attr_accessor :next_uri
20
-
21
- attr_accessor :last_uri
22
-
23
- attr_accessor :page_count
20
+ # Flattens any multivalued dimensions used in response groups (e.g. ['a','b','c']->'a,b,c')
21
+ attr_accessor :flatten_multivalued_dimensions
24
22
 
25
23
  # Attribute mapping from ruby-style variable name to JSON key.
26
24
  def self.attribute_map
27
25
  {
28
26
 
29
- :'page_size' => :'pageSize',
30
-
31
- :'page_number' => :'pageNumber',
27
+ :'interval' => :'interval',
32
28
 
33
- :'total' => :'total',
29
+ :'granularity' => :'granularity',
34
30
 
35
- :'entities' => :'entities',
31
+ :'group_by' => :'groupBy',
36
32
 
37
- :'self_uri' => :'selfUri',
33
+ :'filter' => :'filter',
38
34
 
39
- :'first_uri' => :'firstUri',
35
+ :'metrics' => :'metrics',
40
36
 
41
- :'previous_uri' => :'previousUri',
42
-
43
- :'next_uri' => :'nextUri',
44
-
45
- :'last_uri' => :'lastUri',
46
-
47
- :'page_count' => :'pageCount'
37
+ :'flatten_multivalued_dimensions' => :'flattenMultivaluedDimensions'
48
38
 
49
39
  }
50
40
  end
@@ -52,16 +42,12 @@ module PureCloud
52
42
  # Attribute type mapping.
53
43
  def self.swagger_types
54
44
  {
55
- :'page_size' => :'Integer',
56
- :'page_number' => :'Integer',
57
- :'total' => :'Integer',
58
- :'entities' => :'Array<DomainLicense>',
59
- :'self_uri' => :'String',
60
- :'first_uri' => :'String',
61
- :'previous_uri' => :'String',
62
- :'next_uri' => :'String',
63
- :'last_uri' => :'String',
64
- :'page_count' => :'Integer'
45
+ :'interval' => :'DateTime',
46
+ :'granularity' => :'DateTime',
47
+ :'group_by' => :'Array<String>',
48
+ :'filter' => :'AnalyticsQueryFilter',
49
+ :'metrics' => :'Array<String>',
50
+ :'flatten_multivalued_dimensions' => :'BOOLEAN'
65
51
 
66
52
  }
67
53
  end
@@ -73,46 +59,34 @@ module PureCloud
73
59
  attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
74
60
 
75
61
 
76
- if attributes[:'pageSize']
77
- self.page_size = attributes[:'pageSize']
78
- end
79
-
80
- if attributes[:'pageNumber']
81
- self.page_number = attributes[:'pageNumber']
62
+ if attributes[:'interval']
63
+ self.interval = attributes[:'interval']
82
64
  end
83
65
 
84
- if attributes[:'total']
85
- self.total = attributes[:'total']
66
+ if attributes[:'granularity']
67
+ self.granularity = attributes[:'granularity']
86
68
  end
87
69
 
88
- if attributes[:'entities']
89
- if (value = attributes[:'entities']).is_a?(Array)
90
- self.entities = value
70
+ if attributes[:'groupBy']
71
+ if (value = attributes[:'groupBy']).is_a?(Array)
72
+ self.group_by = value
91
73
  end
92
74
  end
93
75
 
94
- if attributes[:'selfUri']
95
- self.self_uri = attributes[:'selfUri']
96
- end
97
-
98
- if attributes[:'firstUri']
99
- self.first_uri = attributes[:'firstUri']
100
- end
101
-
102
- if attributes[:'previousUri']
103
- self.previous_uri = attributes[:'previousUri']
76
+ if attributes[:'filter']
77
+ self.filter = attributes[:'filter']
104
78
  end
105
79
 
106
- if attributes[:'nextUri']
107
- self.next_uri = attributes[:'nextUri']
108
- end
109
-
110
- if attributes[:'lastUri']
111
- self.last_uri = attributes[:'lastUri']
80
+ if attributes[:'metrics']
81
+ if (value = attributes[:'metrics']).is_a?(Array)
82
+ self.metrics = value
83
+ end
112
84
  end
113
85
 
114
- if attributes[:'pageCount']
115
- self.page_count = attributes[:'pageCount']
86
+ if attributes[:'flattenMultivaluedDimensions']
87
+ self.flatten_multivalued_dimensions = attributes[:'flattenMultivaluedDimensions']
88
+ else
89
+ self.flatten_multivalued_dimensions = false
116
90
  end
117
91
 
118
92
  end
@@ -121,16 +95,12 @@ module PureCloud
121
95
  def ==(o)
122
96
  return true if self.equal?(o)
123
97
  self.class == o.class &&
124
- page_size == o.page_size &&
125
- page_number == o.page_number &&
126
- total == o.total &&
127
- entities == o.entities &&
128
- self_uri == o.self_uri &&
129
- first_uri == o.first_uri &&
130
- previous_uri == o.previous_uri &&
131
- next_uri == o.next_uri &&
132
- last_uri == o.last_uri &&
133
- page_count == o.page_count
98
+ interval == o.interval &&
99
+ granularity == o.granularity &&
100
+ group_by == o.group_by &&
101
+ filter == o.filter &&
102
+ metrics == o.metrics &&
103
+ flatten_multivalued_dimensions == o.flatten_multivalued_dimensions
134
104
  end
135
105
 
136
106
  # @see the `==` method
@@ -140,7 +110,7 @@ module PureCloud
140
110
 
141
111
  # Calculate hash code according to all attributes.
142
112
  def hash
143
- [page_size, page_number, total, entities, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
113
+ [interval, granularity, group_by, filter, metrics, flatten_multivalued_dimensions].hash
144
114
  end
145
115
 
146
116
  # build the object from hash
@@ -1,18 +1,20 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- class Tag
5
- attr_accessor :label
4
+ class AggregationRange
5
+ # Greater than or equal to
6
+ attr_accessor :gte
6
7
 
7
- attr_accessor :interaction_flag
8
+ # Less than
9
+ attr_accessor :lt
8
10
 
9
11
  # Attribute mapping from ruby-style variable name to JSON key.
10
12
  def self.attribute_map
11
13
  {
12
14
 
13
- :'label' => :'label',
15
+ :'gte' => :'gte',
14
16
 
15
- :'interaction_flag' => :'interactionFlag'
17
+ :'lt' => :'lt'
16
18
 
17
19
  }
18
20
  end
@@ -20,8 +22,8 @@ module PureCloud
20
22
  # Attribute type mapping.
21
23
  def self.swagger_types
22
24
  {
23
- :'label' => :'String',
24
- :'interaction_flag' => :'BOOLEAN'
25
+ :'gte' => :'Float',
26
+ :'lt' => :'Float'
25
27
 
26
28
  }
27
29
  end
@@ -33,14 +35,12 @@ module PureCloud
33
35
  attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
34
36
 
35
37
 
36
- if attributes[:'label']
37
- self.label = attributes[:'label']
38
+ if attributes[:'gte']
39
+ self.gte = attributes[:'gte']
38
40
  end
39
41
 
40
- if attributes[:'interactionFlag']
41
- self.interaction_flag = attributes[:'interactionFlag']
42
- else
43
- self.interaction_flag = false
42
+ if attributes[:'lt']
43
+ self.lt = attributes[:'lt']
44
44
  end
45
45
 
46
46
  end
@@ -49,8 +49,8 @@ module PureCloud
49
49
  def ==(o)
50
50
  return true if self.equal?(o)
51
51
  self.class == o.class &&
52
- label == o.label &&
53
- interaction_flag == o.interaction_flag
52
+ gte == o.gte &&
53
+ lt == o.lt
54
54
  end
55
55
 
56
56
  # @see the `==` method
@@ -60,7 +60,7 @@ module PureCloud
60
60
 
61
61
  # Calculate hash code according to all attributes.
62
62
  def hash
63
- [label, interaction_flag].hash
63
+ [gte, lt].hash
64
64
  end
65
65
 
66
66
  # build the object from hash