purecloud 0.28.0 → 0.29.1

Sign up to get free protection for your applications and to get access to all the features.
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