purecloud 0.28.0 → 0.29.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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/config-ruby.json +1 -1
  3. data/lib/purecloud.rb +119 -110
  4. data/lib/purecloud/api/alerting_api.rb +609 -0
  5. data/lib/purecloud/api/analytics_api.rb +0 -618
  6. data/lib/purecloud/api/authorization_api.rb +32 -26
  7. data/lib/purecloud/api/callbacks_api.rb +5 -5
  8. data/lib/purecloud/api/calls_api.rb +5 -5
  9. data/lib/purecloud/api/chats_api.rb +5 -5
  10. data/lib/purecloud/api/configuration_api.rb +325 -4514
  11. data/lib/purecloud/api/conversations_api.rb +30 -157
  12. data/lib/purecloud/api/emails_api.rb +5 -5
  13. data/lib/purecloud/api/groups_api.rb +120 -0
  14. data/lib/purecloud/api/integrations_api.rb +6 -0
  15. data/lib/purecloud/api/integrations_workforce_management_api.rb +73 -0
  16. data/lib/purecloud/api/languages_api.rb +181 -0
  17. data/lib/purecloud/api/organization_api.rb +243 -0
  18. data/lib/purecloud/api/outbound_api.rb +13 -380
  19. data/lib/purecloud/api/presence_api.rb +20 -222
  20. data/lib/purecloud/api/quality_api.rb +30 -0
  21. data/lib/purecloud/api/recording_api.rb +12 -0
  22. data/lib/purecloud/api/routing_api.rb +211 -8
  23. data/lib/purecloud/api/scripts_api.rb +8 -2
  24. data/lib/purecloud/api/search_api.rb +315 -13
  25. data/lib/purecloud/api/socials_api.rb +5 -5
  26. data/lib/purecloud/api/telephony_providers_edge_api.rb +4594 -698
  27. data/lib/purecloud/api/users_api.rb +303 -44
  28. data/lib/purecloud/api/utilities_api.rb +0 -58
  29. data/lib/purecloud/api/videos_api.rb +5 -5
  30. data/lib/purecloud/models/address.rb +49 -51
  31. data/lib/purecloud/models/address_listing.rb +12 -12
  32. data/lib/purecloud/models/agent_activity_entity_listing.rb +11 -11
  33. data/lib/purecloud/models/{analytics_segment.rb → analytics_conversation_segment.rb} +8 -8
  34. data/lib/purecloud/models/analytics_query_predicate.rb +1 -1
  35. data/lib/purecloud/models/analytics_session.rb +1 -1
  36. data/lib/purecloud/models/attribute_entity_listing.rb +11 -11
  37. data/lib/purecloud/models/{primary_user_presence_source.rb → audit_entity.rb} +12 -24
  38. data/lib/purecloud/models/{facet.rb → audit_facet.rb} +1 -1
  39. data/lib/purecloud/models/audit_filter.rb +178 -0
  40. data/lib/purecloud/models/audit_message.rb +2 -2
  41. data/lib/purecloud/models/{facet_group.rb → audit_user.rb} +18 -20
  42. data/lib/purecloud/models/automate_queue_member_entity_listing.rb +11 -11
  43. data/lib/purecloud/models/available_additional_service_listing.rb +11 -11
  44. data/lib/purecloud/models/available_topic_entity_listing.rb +11 -11
  45. data/lib/purecloud/models/{chat_search_item.rb → billing_address.rb} +37 -27
  46. data/lib/purecloud/models/calibration_entity_listing.rb +11 -11
  47. data/lib/purecloud/models/call.rb +16 -4
  48. data/lib/purecloud/models/call_conversation.rb +1 -1
  49. data/lib/purecloud/models/{chat_search_listing.rb → call_conversation_entity_listing.rb} +13 -13
  50. data/lib/purecloud/models/{call_participant.rb → call_media_participant.rb} +1 -1
  51. data/lib/purecloud/models/callable_time.rb +1 -1
  52. data/lib/purecloud/models/callable_time_set_entity_listing.rb +11 -11
  53. data/lib/purecloud/models/callback_conversation.rb +1 -1
  54. data/lib/purecloud/models/callback_conversation_entity_listing.rb +238 -0
  55. data/lib/purecloud/models/{callback_participant.rb → callback_media_participant.rb} +1 -1
  56. data/lib/purecloud/models/campaign.rb +219 -17
  57. data/lib/purecloud/models/campaign_entity_listing.rb +11 -11
  58. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +11 -11
  59. data/lib/purecloud/models/{facet_item.rb → campaign_time_slot.rb} +20 -20
  60. data/lib/purecloud/models/carrier_entity_listing.rb +11 -11
  61. data/lib/purecloud/models/certificate_authority_entity_listing.rb +11 -11
  62. data/lib/purecloud/models/change.rb +1 -1
  63. data/lib/purecloud/models/channel_entity_listing.rb +11 -11
  64. data/lib/purecloud/models/channel_topic_entity_listing.rb +11 -11
  65. data/lib/purecloud/models/chat_conversation.rb +1 -1
  66. data/lib/purecloud/models/{rule_entity_listing.rb → chat_conversation_entity_listing.rb} +13 -13
  67. data/lib/purecloud/models/{chat_participant.rb → chat_media_participant.rb} +1 -1
  68. data/lib/purecloud/models/command_status_entity_listing.rb +11 -11
  69. data/lib/purecloud/models/common_audit_request.rb +2 -2
  70. data/lib/purecloud/models/{template.rb → composer_template.rb} +2 -2
  71. data/lib/purecloud/models/consumed_resources_entity_listing.rb +11 -11
  72. data/lib/purecloud/models/consuming_resources_entity_listing.rb +11 -11
  73. data/lib/purecloud/models/{client_transform_model.rb → contact_address.rb} +42 -36
  74. data/lib/purecloud/models/contact_list.rb +111 -1
  75. data/lib/purecloud/models/contact_list_entity_listing.rb +11 -11
  76. data/lib/purecloud/models/contact_listing.rb +11 -11
  77. data/lib/purecloud/models/{dialer_disposition_call_command.rb → contact_phone_number_column.rb} +20 -20
  78. data/lib/purecloud/models/{facet_filter_item.rb → content_filter_item.rb} +1 -1
  79. data/lib/purecloud/models/{transform_progress.rb → conversation_chat.rb} +91 -82
  80. data/lib/purecloud/models/conversation_entity_listing.rb +11 -11
  81. data/lib/purecloud/models/create_share_request.rb +2 -2
  82. data/lib/purecloud/models/create_share_request_member.rb +1 -1
  83. data/lib/purecloud/models/customer_account.rb +1 -1
  84. data/lib/purecloud/models/deleted_resource_consumer_entity_listing.rb +11 -11
  85. data/lib/purecloud/models/dependency_object_entity_listing.rb +11 -11
  86. data/lib/purecloud/models/dependency_type_entity_listing.rb +11 -11
  87. data/lib/purecloud/models/{action.rb → dialer_action.rb} +1 -1
  88. data/lib/purecloud/models/dialer_audit_request.rb +2 -2
  89. data/lib/purecloud/models/{transform_model.rb → dialer_contact.rb} +42 -28
  90. data/lib/purecloud/models/{rule.rb → dialer_rule.rb} +2 -2
  91. data/lib/purecloud/models/did.rb +1 -1
  92. data/lib/purecloud/models/did_entity_listing.rb +11 -11
  93. data/lib/purecloud/models/did_pool.rb +1 -1
  94. data/lib/purecloud/models/did_pool_entity_listing.rb +11 -11
  95. data/lib/purecloud/models/{metric_threshold.rb → disconnect_reason.rb} +29 -19
  96. data/lib/purecloud/models/dnc_list_entity_listing.rb +11 -11
  97. data/lib/purecloud/models/document_audit_entity_listing.rb +11 -11
  98. data/lib/purecloud/models/document_entity_listing.rb +11 -11
  99. data/lib/purecloud/models/domain_billing_period_entity_listing.rb +11 -11
  100. data/lib/purecloud/models/domain_certificate_authority.rb +1 -1
  101. data/lib/purecloud/models/domain_entity_listing.rb +11 -11
  102. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +11 -11
  103. data/lib/purecloud/models/domain_entity_listing_query_result.rb +11 -11
  104. data/lib/purecloud/models/domain_invoice_entity_listing.rb +11 -11
  105. data/lib/purecloud/models/domain_logical_interface.rb +28 -2
  106. data/lib/purecloud/models/{dialer_place_call_command.rb → domain_role.rb} +16 -14
  107. data/lib/purecloud/models/domain_third_party_account_entity_listing.rb +11 -11
  108. data/lib/purecloud/models/domain_third_party_subscription_entity_listing.rb +11 -11
  109. data/lib/purecloud/models/domain_voice_rate_extended_response_item_entity_listing.rb +11 -11
  110. data/lib/purecloud/models/domain_voice_rate_international_response_item_entity_listing.rb +11 -11
  111. data/lib/purecloud/models/domain_voice_rate_response_item_entity_listing.rb +11 -11
  112. data/lib/purecloud/models/edge.rb +1 -1
  113. data/lib/purecloud/models/edge_entity_listing.rb +11 -11
  114. data/lib/purecloud/models/edge_group.rb +1 -1
  115. data/lib/purecloud/models/edge_group_entity_listing.rb +11 -11
  116. data/lib/purecloud/models/edge_line.rb +1 -1
  117. data/lib/purecloud/models/edge_line_entity_listing.rb +11 -11
  118. data/lib/purecloud/models/email_conversation.rb +1 -1
  119. data/lib/purecloud/models/{user_presence_entity_listing.rb → email_conversation_entity_listing.rb} +13 -13
  120. data/lib/purecloud/models/{email_participant.rb → email_media_participant.rb} +1 -1
  121. data/lib/purecloud/models/email_message.rb +56 -26
  122. data/lib/purecloud/models/email_message_listing.rb +11 -11
  123. data/lib/purecloud/models/encryption_key_entity_listing.rb +11 -11
  124. data/lib/purecloud/models/endpoint.rb +2 -2
  125. data/lib/purecloud/models/endpoint_entity_listing.rb +11 -11
  126. data/lib/purecloud/models/entity.rb +20 -10
  127. data/lib/purecloud/models/evaluation_entity_listing.rb +11 -11
  128. data/lib/purecloud/models/evaluation_form_entity_listing.rb +11 -11
  129. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +11 -11
  130. data/lib/purecloud/models/extension.rb +1 -1
  131. data/lib/purecloud/models/extension_entity_listing.rb +11 -11
  132. data/lib/purecloud/models/extension_pool.rb +1 -1
  133. data/lib/purecloud/models/extension_pool_entity_listing.rb +11 -11
  134. data/lib/purecloud/models/external_contact.rb +1 -1
  135. data/lib/purecloud/models/external_organization.rb +1 -1
  136. data/lib/purecloud/models/external_organization_listing.rb +11 -11
  137. data/lib/purecloud/models/fax_document_entity_listing.rb +11 -11
  138. data/lib/purecloud/models/flow_body.rb +1 -1
  139. data/lib/purecloud/models/flow_config_meta_data_entity_listing.rb +11 -11
  140. data/lib/purecloud/models/flow_entity_listing.rb +11 -11
  141. data/lib/purecloud/models/flow_history_result_item_entity_listing.rb +11 -11
  142. data/lib/purecloud/models/flow_search_request.rb +222 -0
  143. data/lib/purecloud/models/flow_version_config_meta_data_entity_listing.rb +11 -11
  144. data/lib/purecloud/models/flow_version_entity_listing.rb +11 -11
  145. data/lib/purecloud/models/group.rb +42 -36
  146. data/lib/purecloud/models/group_entity_listing.rb +11 -11
  147. data/lib/purecloud/models/groups_search_response.rb +230 -0
  148. data/lib/purecloud/models/hardware_rate_listing.rb +11 -11
  149. data/lib/purecloud/models/health_check_info.rb +1 -31
  150. data/lib/purecloud/models/inbound_domain_entity_listing.rb +11 -11
  151. data/lib/purecloud/models/inbound_route_entity_listing.rb +11 -11
  152. data/lib/purecloud/models/integration_type_entity_listing.rb +11 -11
  153. data/lib/purecloud/models/interaction_stats_alert.rb +373 -0
  154. data/lib/purecloud/models/interaction_stats_alert_container.rb +238 -0
  155. data/lib/purecloud/models/{alert.rb → interaction_stats_rule.rb} +111 -80
  156. data/lib/purecloud/models/interaction_stats_rule_container.rb +238 -0
  157. data/lib/purecloud/models/ivr.rb +1 -1
  158. data/lib/purecloud/models/ivr_entity_listing.rb +11 -11
  159. data/lib/purecloud/models/json_node.rb +395 -0
  160. data/lib/purecloud/models/json_node_search_response.rb +228 -0
  161. data/lib/purecloud/models/language_entity_listing.rb +11 -11
  162. data/lib/purecloud/models/library_entity_listing.rb +11 -11
  163. data/lib/purecloud/models/line.rb +2 -2
  164. data/lib/purecloud/models/line_base.rb +1 -1
  165. data/lib/purecloud/models/line_base_entity_listing.rb +11 -11
  166. data/lib/purecloud/models/line_entity_listing.rb +11 -11
  167. data/lib/purecloud/models/{body_1.rb → line_properties.rb} +1 -1
  168. data/lib/purecloud/models/linked_entity_listing_flow_details.rb +11 -11
  169. data/lib/purecloud/models/linked_entity_listing_work_item_search_details.rb +11 -11
  170. data/lib/purecloud/models/location_entity_listing.rb +11 -11
  171. data/lib/purecloud/models/logical_interface_entity_listing.rb +11 -11
  172. data/lib/purecloud/models/media_participant_request.rb +232 -0
  173. data/lib/purecloud/models/{inline_response_200.rb → member_entity.rb} +13 -3
  174. data/lib/purecloud/models/note_listing.rb +11 -11
  175. data/lib/purecloud/models/number_plan.rb +1 -1
  176. data/lib/purecloud/models/o_auth_client.rb +1 -1
  177. data/lib/purecloud/models/o_auth_client_entity_listing.rb +11 -11
  178. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +11 -11
  179. data/lib/purecloud/models/organization.rb +2 -22
  180. data/lib/purecloud/models/organization_presence_entity_listing.rb +11 -11
  181. data/lib/purecloud/models/organization_role_entity_listing.rb +11 -11
  182. data/lib/purecloud/models/orphan_recording_listing.rb +11 -11
  183. data/lib/purecloud/models/outbound_route.rb +1 -1
  184. data/lib/purecloud/models/outbound_route_entity_listing.rb +11 -11
  185. data/lib/purecloud/models/page.rb +2 -2
  186. data/lib/purecloud/models/participant.rb +1 -1
  187. data/lib/purecloud/models/participant_request.rb +7 -0
  188. data/lib/purecloud/models/payment_method_listing.rb +11 -11
  189. data/lib/purecloud/models/permission_collection_entity_listing.rb +11 -11
  190. data/lib/purecloud/models/phone.rb +2 -2
  191. data/lib/purecloud/models/phone_base.rb +1 -1
  192. data/lib/purecloud/models/phone_base_entity_listing.rb +11 -11
  193. data/lib/purecloud/models/phone_entity_listing.rb +11 -11
  194. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +11 -11
  195. data/lib/purecloud/models/physical_interface_entity_listing.rb +11 -11
  196. data/lib/purecloud/models/policy_entity_listing.rb +11 -11
  197. data/lib/purecloud/models/prompt_asset.rb +25 -1
  198. data/lib/purecloud/models/prompt_asset_entity_listing.rb +11 -11
  199. data/lib/purecloud/models/prompt_entity_listing.rb +11 -11
  200. data/lib/purecloud/models/quality_audit_page.rb +11 -11
  201. data/lib/purecloud/models/query_request.rb +1 -1
  202. data/lib/purecloud/models/queue.rb +1 -1
  203. data/lib/purecloud/models/queue_entity_listing.rb +11 -11
  204. data/lib/purecloud/models/queues_entity_listing.rb +11 -11
  205. data/lib/purecloud/models/quote_charge.rb +1 -1
  206. data/lib/purecloud/models/quote_listing.rb +11 -11
  207. data/lib/purecloud/models/recording.rb +13 -2
  208. data/lib/purecloud/models/{preview.rb → recording_email_message.rb} +72 -57
  209. data/lib/purecloud/models/relationship_listing.rb +11 -11
  210. data/lib/purecloud/models/report_meta_data_entity_listing.rb +11 -11
  211. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +11 -11
  212. data/lib/purecloud/models/report_schedule.rb +1 -1
  213. data/lib/purecloud/models/report_schedule_entity_listing.rb +11 -11
  214. data/lib/purecloud/models/resource_permission_policy.rb +1 -11
  215. data/lib/purecloud/models/response.rb +84 -14
  216. data/lib/purecloud/models/response_entity_list.rb +11 -11
  217. data/lib/purecloud/models/response_entity_listing.rb +11 -11
  218. data/lib/purecloud/models/{filter.rb → response_filter.rb} +1 -1
  219. data/lib/purecloud/models/response_query_request.rb +1 -1
  220. data/lib/purecloud/models/response_set_entity_listing.rb +11 -11
  221. data/lib/purecloud/models/rule_set.rb +1 -1
  222. data/lib/purecloud/models/rule_set_entity_listing.rb +11 -11
  223. data/lib/purecloud/models/schedule.rb +1 -1
  224. data/lib/purecloud/models/schedule_entity_listing.rb +11 -11
  225. data/lib/purecloud/models/schedule_group.rb +1 -1
  226. data/lib/purecloud/models/schedule_group_entity_listing.rb +11 -11
  227. data/lib/purecloud/models/schema_category_entity_listing.rb +11 -11
  228. data/lib/purecloud/models/schema_reference_entity_listing.rb +11 -11
  229. data/lib/purecloud/models/script_entity_listing.rb +11 -11
  230. data/lib/purecloud/models/{occurrence.rb → search_aggregation.rb} +19 -9
  231. data/lib/purecloud/models/{conversation_historical_query_request_filter.rb → search_criteria.rb} +83 -24
  232. data/lib/purecloud/models/search_request.rb +73 -50
  233. data/lib/purecloud/models/security_profile_entity_listing.rb +11 -11
  234. data/lib/purecloud/models/service_entity_listing.rb +11 -11
  235. data/lib/purecloud/models/share_entity_listing.rb +11 -11
  236. data/lib/purecloud/models/{group_images.rb → shared_entity.rb} +8 -10
  237. data/lib/purecloud/models/site.rb +1 -1
  238. data/lib/purecloud/models/site_entity_listing.rb +11 -11
  239. data/lib/purecloud/models/skill_entity_listing.rb +11 -11
  240. data/lib/purecloud/models/social_conversation.rb +1 -1
  241. data/lib/purecloud/models/social_conversation_entity_listing.rb +238 -0
  242. data/lib/purecloud/models/{social_participant.rb → social_media_participant.rb} +1 -1
  243. data/lib/purecloud/models/spreadsheet_transform_entity_listing.rb +11 -11
  244. data/lib/purecloud/models/station.rb +11 -1
  245. data/lib/purecloud/models/station_entity_listing.rb +11 -11
  246. data/lib/purecloud/models/{facets.rb → subscriber_response.rb} +16 -16
  247. data/lib/purecloud/models/system_prompt_asset.rb +25 -1
  248. data/lib/purecloud/models/system_prompt_asset_entity_listing.rb +11 -11
  249. data/lib/purecloud/models/system_prompt_entity_listing.rb +11 -11
  250. data/lib/purecloud/models/tag_value_entity_listing.rb +11 -11
  251. data/lib/purecloud/models/template_entity_listing.rb +12 -12
  252. data/lib/purecloud/models/text_table_transform_entity_listing.rb +11 -11
  253. data/lib/purecloud/models/time_slot.rb +3 -0
  254. data/lib/purecloud/models/time_zone_entity_listing.rb +11 -11
  255. data/lib/purecloud/models/trunk_base.rb +2 -2
  256. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +11 -11
  257. data/lib/purecloud/models/unread_metric.rb +1 -0
  258. data/lib/purecloud/models/unread_status.rb +149 -0
  259. data/lib/purecloud/models/user.rb +7 -7
  260. data/lib/purecloud/models/user_action_category_entity_listing.rb +11 -11
  261. data/lib/purecloud/models/user_action_metadata_entity_listing.rb +11 -11
  262. data/lib/purecloud/models/user_authorization.rb +7 -37
  263. data/lib/purecloud/models/user_entity_listing.rb +11 -11
  264. data/lib/purecloud/models/user_me.rb +375 -0
  265. data/lib/purecloud/models/user_presence.rb +14 -32
  266. data/lib/purecloud/models/user_queue.rb +1 -1
  267. data/lib/purecloud/models/user_queue_entity_listing.rb +11 -11
  268. data/lib/purecloud/models/user_recording_entity_listing.rb +11 -11
  269. data/lib/purecloud/models/user_skill_entity_listing.rb +11 -11
  270. data/lib/purecloud/models/users_entity_listing.rb +11 -11
  271. data/lib/purecloud/models/users_search_response.rb +230 -0
  272. data/lib/purecloud/models/validate_address_response.rb +1 -1
  273. data/lib/purecloud/models/video_conversation.rb +1 -1
  274. data/lib/purecloud/models/{alert_entity_listing.rb → video_conversation_entity_listing.rb} +13 -13
  275. data/lib/purecloud/models/{video_participant.rb → video_media_participant.rb} +1 -1
  276. data/lib/purecloud/models/voice_rate_international_entity_listing.rb +11 -11
  277. data/lib/purecloud/models/voice_xml_operation_entity_listing.rb +11 -11
  278. data/lib/purecloud/models/voicemail_message_entity_listing.rb +11 -11
  279. data/lib/purecloud/models/workspace_entity_listing.rb +11 -11
  280. data/lib/purecloud/models/workspace_member_entity_listing.rb +11 -11
  281. data/lib/purecloud/models/wrapup_code_entity_listing.rb +11 -11
  282. data/lib/purecloud/version.rb +1 -1
  283. data/newVersion.md +1 -1
  284. data/swagger.json +1 -1
  285. data/version.json +1 -1
  286. metadata +54 -45
  287. data/lib/purecloud/api/architect_api.rb +0 -3285
  288. data/lib/purecloud/models/chat_search_request.rb +0 -244
  289. data/lib/purecloud/models/conversation_historical_query_request_body.rb +0 -185
  290. data/lib/purecloud/models/conversation_query_response.rb +0 -366
  291. data/lib/purecloud/models/dialer_call.rb +0 -156
  292. data/lib/purecloud/models/penetration_rate.rb +0 -176
  293. data/lib/purecloud/models/penetration_rate_id.rb +0 -156
  294. data/lib/purecloud/models/progress_model.rb +0 -169
@@ -0,0 +1,238 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class InteractionStatsAlertContainer
5
+ attr_accessor :page_size
6
+
7
+ attr_accessor :page_number
8
+
9
+ attr_accessor :total
10
+
11
+ attr_accessor :entities
12
+
13
+ attr_accessor :self_uri
14
+
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
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+
29
+ :'page_size' => :'pageSize',
30
+
31
+ :'page_number' => :'pageNumber',
32
+
33
+ :'total' => :'total',
34
+
35
+ :'entities' => :'entities',
36
+
37
+ :'self_uri' => :'selfUri',
38
+
39
+ :'first_uri' => :'firstUri',
40
+
41
+ :'previous_uri' => :'previousUri',
42
+
43
+ :'next_uri' => :'nextUri',
44
+
45
+ :'last_uri' => :'lastUri',
46
+
47
+ :'page_count' => :'pageCount'
48
+
49
+ }
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.swagger_types
54
+ {
55
+ :'page_size' => :'Integer',
56
+ :'page_number' => :'Integer',
57
+ :'total' => :'Integer',
58
+ :'entities' => :'Array<InteractionStatsAlert>',
59
+ :'self_uri' => :'String',
60
+ :'first_uri' => :'String',
61
+ :'previous_uri' => :'String',
62
+ :'next_uri' => :'String',
63
+ :'last_uri' => :'String',
64
+ :'page_count' => :'Integer'
65
+
66
+ }
67
+ end
68
+
69
+ def initialize(attributes = {})
70
+ return unless attributes.is_a?(Hash)
71
+
72
+ # convert string to symbol for hash key
73
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
74
+
75
+
76
+ if attributes[:'pageSize']
77
+ self.page_size = attributes[:'pageSize']
78
+ end
79
+
80
+ if attributes[:'pageNumber']
81
+ self.page_number = attributes[:'pageNumber']
82
+ end
83
+
84
+ if attributes[:'total']
85
+ self.total = attributes[:'total']
86
+ end
87
+
88
+ if attributes[:'entities']
89
+ if (value = attributes[:'entities']).is_a?(Array)
90
+ self.entities = value
91
+ end
92
+ end
93
+
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']
104
+ end
105
+
106
+ if attributes[:'nextUri']
107
+ self.next_uri = attributes[:'nextUri']
108
+ end
109
+
110
+ if attributes[:'lastUri']
111
+ self.last_uri = attributes[:'lastUri']
112
+ end
113
+
114
+ if attributes[:'pageCount']
115
+ self.page_count = attributes[:'pageCount']
116
+ end
117
+
118
+ end
119
+
120
+ # Check equality by comparing each attribute.
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ 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
134
+ end
135
+
136
+ # @see the `==` method
137
+ def eql?(o)
138
+ self == o
139
+ end
140
+
141
+ # Calculate hash code according to all attributes.
142
+ def hash
143
+ [page_size, page_number, total, entities, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
144
+ end
145
+
146
+ # build the object from hash
147
+ def build_from_hash(attributes)
148
+ return nil unless attributes.is_a?(Hash)
149
+ self.class.swagger_types.each_pair do |key, type|
150
+ if type =~ /^Array<(.*)>/i
151
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
152
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
153
+ else
154
+ #TODO show warning in debug mode
155
+ end
156
+ elsif !attributes[self.class.attribute_map[key]].nil?
157
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
158
+ else
159
+ # data not found in attributes(hash), not an issue as the data can be optional
160
+ end
161
+ end
162
+
163
+ self
164
+ end
165
+
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(value)
170
+ when :Date
171
+ Date.parse(value)
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BOOLEAN
179
+ if value =~ /^(true|t|yes|y|1)$/i
180
+ true
181
+ else
182
+ false
183
+ end
184
+ when /\AArray<(?<inner_type>.+)>\z/
185
+ inner_type = Regexp.last_match[:inner_type]
186
+ value.map { |v| _deserialize(inner_type, v) }
187
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
188
+ k_type = Regexp.last_match[:k_type]
189
+ v_type = Regexp.last_match[:v_type]
190
+ {}.tap do |hash|
191
+ value.each do |k, v|
192
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
193
+ end
194
+ end
195
+ else # model
196
+ _model = Object.const_get("PureCloud").const_get(type).new
197
+ _model.build_from_hash(value)
198
+ end
199
+ end
200
+
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_body (backward compatibility))
206
+ def to_body
207
+ to_hash
208
+ end
209
+
210
+ # return the object in the form of hash
211
+ def to_hash
212
+ hash = {}
213
+ self.class.attribute_map.each_pair do |attr, param|
214
+ value = self.send(attr)
215
+ next if value.nil?
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ hash
219
+ end
220
+
221
+ # Method to output non-array value in the form of hash
222
+ # For object, use to_hash. Otherwise, just return the value
223
+ def _to_hash(value)
224
+ if value.is_a?(Array)
225
+ value.compact.map{ |v| _to_hash(v) }
226
+ elsif value.is_a?(Hash)
227
+ {}.tap do |hash|
228
+ value.each { |k, v| hash[k] = _to_hash(v) }
229
+ end
230
+ elsif value.respond_to? :to_hash
231
+ value.to_hash
232
+ else
233
+ value
234
+ end
235
+ end
236
+
237
+ end
238
+ end
@@ -1,37 +1,45 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- class Alert
4
+ class InteractionStatsRule
5
5
  # The globally unique identifier for the object.
6
6
  attr_accessor :id
7
7
 
8
+ # Name of the rule
8
9
  attr_accessor :name
9
10
 
10
- attr_accessor :title
11
+ # The dimension of concern.
12
+ attr_accessor :dimension
11
13
 
12
- attr_accessor :description
13
-
14
- attr_accessor :unread
15
-
16
- attr_accessor :entity
14
+ # The value of the dimension.
15
+ attr_accessor :dimension_value
17
16
 
17
+ # The metric to be assessed.
18
18
  attr_accessor :metric
19
19
 
20
- attr_accessor :metric_thresholds
20
+ # The media type.
21
+ attr_accessor :media_type
21
22
 
22
- attr_accessor :metric_value
23
+ # The comparison descriptor used against the metric's value.
24
+ attr_accessor :numeric_range
23
25
 
24
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
25
- attr_accessor :start_time
26
+ # The statistic of concern for the metric.
27
+ attr_accessor :statistic
26
28
 
27
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
28
- attr_accessor :end_time
29
+ # The threshold value.
30
+ attr_accessor :value
29
31
 
30
- attr_accessor :media_type
32
+ # Indicates if the rule is enabled.
33
+ attr_accessor :enabled
31
34
 
32
- attr_accessor :statistic
35
+ # Indicates if the rule is in alarm state.
36
+ attr_accessor :in_alarm
33
37
 
34
- attr_accessor :rule_uri
38
+ # The ids of users who will be notified of alarm state change.
39
+ attr_accessor :notification_users
40
+
41
+ # A collection of notification methods. = ['SMS', 'DEVICE', 'EMAIL']
42
+ attr_accessor :alert_types
35
43
 
36
44
  # The URI for this object
37
45
  attr_accessor :self_uri
@@ -44,29 +52,27 @@ module PureCloud
44
52
 
45
53
  :'name' => :'name',
46
54
 
47
- :'title' => :'title',
48
-
49
- :'description' => :'description',
50
-
51
- :'unread' => :'unread',
55
+ :'dimension' => :'dimension',
52
56
 
53
- :'entity' => :'entity',
57
+ :'dimension_value' => :'dimensionValue',
54
58
 
55
59
  :'metric' => :'metric',
56
60
 
57
- :'metric_thresholds' => :'metricThresholds',
61
+ :'media_type' => :'mediaType',
58
62
 
59
- :'metric_value' => :'metricValue',
63
+ :'numeric_range' => :'numericRange',
60
64
 
61
- :'start_time' => :'startTime',
65
+ :'statistic' => :'statistic',
62
66
 
63
- :'end_time' => :'endTime',
67
+ :'value' => :'value',
64
68
 
65
- :'media_type' => :'mediaType',
69
+ :'enabled' => :'enabled',
66
70
 
67
- :'statistic' => :'statistic',
71
+ :'in_alarm' => :'inAlarm',
72
+
73
+ :'notification_users' => :'notificationUsers',
68
74
 
69
- :'rule_uri' => :'ruleUri',
75
+ :'alert_types' => :'alertTypes',
70
76
 
71
77
  :'self_uri' => :'selfUri'
72
78
 
@@ -78,18 +84,17 @@ module PureCloud
78
84
  {
79
85
  :'id' => :'String',
80
86
  :'name' => :'String',
81
- :'title' => :'String',
82
- :'description' => :'String',
83
- :'unread' => :'BOOLEAN',
84
- :'entity' => :'Entity',
87
+ :'dimension' => :'String',
88
+ :'dimension_value' => :'String',
85
89
  :'metric' => :'String',
86
- :'metric_thresholds' => :'Array<MetricThreshold>',
87
- :'metric_value' => :'Float',
88
- :'start_time' => :'DateTime',
89
- :'end_time' => :'DateTime',
90
90
  :'media_type' => :'String',
91
+ :'numeric_range' => :'String',
91
92
  :'statistic' => :'String',
92
- :'rule_uri' => :'String',
93
+ :'value' => :'Float',
94
+ :'enabled' => :'BOOLEAN',
95
+ :'in_alarm' => :'BOOLEAN',
96
+ :'notification_users' => :'Array<User>',
97
+ :'alert_types' => :'Array<String>',
93
98
  :'self_uri' => :'String'
94
99
 
95
100
  }
@@ -110,56 +115,56 @@ module PureCloud
110
115
  self.name = attributes[:'name']
111
116
  end
112
117
 
113
- if attributes[:'title']
114
- self.title = attributes[:'title']
115
- end
116
-
117
- if attributes[:'description']
118
- self.description = attributes[:'description']
118
+ if attributes[:'dimension']
119
+ self.dimension = attributes[:'dimension']
119
120
  end
120
121
 
121
- if attributes[:'unread']
122
- self.unread = attributes[:'unread']
123
- else
124
- self.unread = false
125
- end
126
-
127
- if attributes[:'entity']
128
- self.entity = attributes[:'entity']
122
+ if attributes[:'dimensionValue']
123
+ self.dimension_value = attributes[:'dimensionValue']
129
124
  end
130
125
 
131
126
  if attributes[:'metric']
132
127
  self.metric = attributes[:'metric']
133
128
  end
134
129
 
135
- if attributes[:'metricThresholds']
136
- if (value = attributes[:'metricThresholds']).is_a?(Array)
137
- self.metric_thresholds = value
138
- end
130
+ if attributes[:'mediaType']
131
+ self.media_type = attributes[:'mediaType']
132
+ end
133
+
134
+ if attributes[:'numericRange']
135
+ self.numeric_range = attributes[:'numericRange']
139
136
  end
140
137
 
141
- if attributes[:'metricValue']
142
- self.metric_value = attributes[:'metricValue']
138
+ if attributes[:'statistic']
139
+ self.statistic = attributes[:'statistic']
143
140
  end
144
141
 
145
- if attributes[:'startTime']
146
- self.start_time = attributes[:'startTime']
142
+ if attributes[:'value']
143
+ self.value = attributes[:'value']
147
144
  end
148
145
 
149
- if attributes[:'endTime']
150
- self.end_time = attributes[:'endTime']
146
+ if attributes[:'enabled']
147
+ self.enabled = attributes[:'enabled']
148
+ else
149
+ self.enabled = false
151
150
  end
152
151
 
153
- if attributes[:'mediaType']
154
- self.media_type = attributes[:'mediaType']
152
+ if attributes[:'inAlarm']
153
+ self.in_alarm = attributes[:'inAlarm']
154
+ else
155
+ self.in_alarm = false
155
156
  end
156
157
 
157
- if attributes[:'statistic']
158
- self.statistic = attributes[:'statistic']
158
+ if attributes[:'notificationUsers']
159
+ if (value = attributes[:'notificationUsers']).is_a?(Array)
160
+ self.notification_users = value
161
+ end
159
162
  end
160
163
 
161
- if attributes[:'ruleUri']
162
- self.rule_uri = attributes[:'ruleUri']
164
+ if attributes[:'alertTypes']
165
+ if (value = attributes[:'alertTypes']).is_a?(Array)
166
+ self.alert_types = value
167
+ end
163
168
  end
164
169
 
165
170
  if attributes[:'selfUri']
@@ -168,18 +173,45 @@ module PureCloud
168
173
 
169
174
  end
170
175
 
176
+ # Custom attribute writer method checking allowed values (enum).
177
+ def dimension=(dimension)
178
+ allowed_values = ["queueId", "userId"]
179
+ if dimension && !allowed_values.include?(dimension)
180
+ fail "invalid value for 'dimension', must be one of #{allowed_values}"
181
+ end
182
+ @dimension = dimension
183
+ end
184
+
185
+ # Custom attribute writer method checking allowed values (enum).
186
+ def metric=(metric)
187
+ allowed_values = ["tAbandon", "tAnswered", "tTalk", "nOffered", "tHandle", "nTransferred", "oServiceLevel", "tWait", "tHeld", "tAcw"]
188
+ if metric && !allowed_values.include?(metric)
189
+ fail "invalid value for 'metric', must be one of #{allowed_values}"
190
+ end
191
+ @metric = metric
192
+ end
193
+
171
194
  # Custom attribute writer method checking allowed values (enum).
172
195
  def media_type=(media_type)
173
- allowed_values = ["VOICE", "CHAT"]
196
+ allowed_values = ["voice", "chat", "email"]
174
197
  if media_type && !allowed_values.include?(media_type)
175
198
  fail "invalid value for 'media_type', must be one of #{allowed_values}"
176
199
  end
177
200
  @media_type = media_type
178
201
  end
179
202
 
203
+ # Custom attribute writer method checking allowed values (enum).
204
+ def numeric_range=(numeric_range)
205
+ allowed_values = ["gt", "gte", "lt", "lte", "eq", "ne"]
206
+ if numeric_range && !allowed_values.include?(numeric_range)
207
+ fail "invalid value for 'numeric_range', must be one of #{allowed_values}"
208
+ end
209
+ @numeric_range = numeric_range
210
+ end
211
+
180
212
  # Custom attribute writer method checking allowed values (enum).
181
213
  def statistic=(statistic)
182
- allowed_values = ["COUNT", "SUM", "AVG", "RATIO"]
214
+ allowed_values = ["count", "min", "ratio", "max"]
183
215
  if statistic && !allowed_values.include?(statistic)
184
216
  fail "invalid value for 'statistic', must be one of #{allowed_values}"
185
217
  end
@@ -192,18 +224,17 @@ module PureCloud
192
224
  self.class == o.class &&
193
225
  id == o.id &&
194
226
  name == o.name &&
195
- title == o.title &&
196
- description == o.description &&
197
- unread == o.unread &&
198
- entity == o.entity &&
227
+ dimension == o.dimension &&
228
+ dimension_value == o.dimension_value &&
199
229
  metric == o.metric &&
200
- metric_thresholds == o.metric_thresholds &&
201
- metric_value == o.metric_value &&
202
- start_time == o.start_time &&
203
- end_time == o.end_time &&
204
230
  media_type == o.media_type &&
231
+ numeric_range == o.numeric_range &&
205
232
  statistic == o.statistic &&
206
- rule_uri == o.rule_uri &&
233
+ value == o.value &&
234
+ enabled == o.enabled &&
235
+ in_alarm == o.in_alarm &&
236
+ notification_users == o.notification_users &&
237
+ alert_types == o.alert_types &&
207
238
  self_uri == o.self_uri
208
239
  end
209
240
 
@@ -214,7 +245,7 @@ module PureCloud
214
245
 
215
246
  # Calculate hash code according to all attributes.
216
247
  def hash
217
- [id, name, title, description, unread, entity, metric, metric_thresholds, metric_value, start_time, end_time, media_type, statistic, rule_uri, self_uri].hash
248
+ [id, name, dimension, dimension_value, metric, media_type, numeric_range, statistic, value, enabled, in_alarm, notification_users, alert_types, self_uri].hash
218
249
  end
219
250
 
220
251
  # build the object from hash