purecloudplatformclientv2 20.0.0 → 21.0.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AdherenceSettings.md +18 -0
  4. data/docs/AgentManagementUnitReference.md +14 -0
  5. data/docs/AnalyticsSession.md +1 -0
  6. data/docs/AnalyticsView.md +1 -1
  7. data/docs/ArchitectApi.md +19 -15
  8. data/docs/CallForwarding.md +4 -2
  9. data/docs/CallMediaParticipant.md +1 -0
  10. data/docs/CallRoute.md +14 -0
  11. data/docs/CallTarget.md +14 -0
  12. data/docs/Contact.md +1 -1
  13. data/docs/ConversationNotificationMessage.md +3 -0
  14. data/docs/ConversationNotificationMessageDetails.md +2 -0
  15. data/docs/ConversationNotificationMessages.md +2 -0
  16. data/docs/ConversationNotificationMessages1.md +3 -0
  17. data/docs/ConversationsApi.md +196 -0
  18. data/docs/CreateEmailRequest.md +2 -0
  19. data/docs/CreateQueueRequest.md +2 -0
  20. data/docs/CreateSecureSession.md +16 -0
  21. data/docs/ExternalContact.md +1 -0
  22. data/docs/ImportScriptStatusResponse.md +15 -0
  23. data/docs/InboundRoute.md +1 -0
  24. data/docs/JsonNode.md +1 -1
  25. data/docs/ManagementUnit.md +5 -3
  26. data/docs/ManagementUnitReference.md +14 -0
  27. data/docs/ManagementUnitSettings.md +19 -0
  28. data/docs/Message.md +3 -0
  29. data/docs/MessageConversationNotificationMessageDetails.md +2 -0
  30. data/docs/MessageConversationNotificationMessageMediaParticipant.md +3 -0
  31. data/docs/MessageConversationNotificationMessages.md +2 -0
  32. data/docs/MessageConversationNotificationParticipants.md +3 -0
  33. data/docs/MessageDetails.md +2 -0
  34. data/docs/QualityApi.md +3 -1
  35. data/docs/Queue.md +2 -0
  36. data/docs/SchedulingSettings.md +14 -0
  37. data/docs/ScriptsApi.md +64 -0
  38. data/docs/SecureSession.md +19 -0
  39. data/docs/SecureSessionEntityListing.md +13 -0
  40. data/docs/ShortTermForecastingSettings.md +13 -0
  41. data/docs/SignedData.md +13 -0
  42. data/docs/SignedDataApi.md +73 -0
  43. data/docs/TimeOffRequestSettings.md +15 -0
  44. data/docs/UpdateUser.md +2 -2
  45. data/docs/UserConversationSummaryNotification.md +1 -0
  46. data/docs/UserQueue.md +2 -0
  47. data/docs/UserReference.md +14 -0
  48. data/docs/WorkforceManagementApi.md +61 -0
  49. data/lib/purecloudplatformclientv2.rb +16 -0
  50. data/lib/purecloudplatformclientv2/api/architect_api.rb +24 -6
  51. data/lib/purecloudplatformclientv2/api/conversations_api.rb +243 -0
  52. data/lib/purecloudplatformclientv2/api/quality_api.rb +9 -0
  53. data/lib/purecloudplatformclientv2/api/scripts_api.rb +74 -0
  54. data/lib/purecloudplatformclientv2/api/signed_data_api.rb +90 -0
  55. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +63 -0
  56. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  57. data/lib/purecloudplatformclientv2/models/adherence_settings.rb +335 -0
  58. data/lib/purecloudplatformclientv2/models/agent_management_unit_reference.rb +229 -0
  59. data/lib/purecloudplatformclientv2/models/aggregate_metric_data.rb +2 -2
  60. data/lib/purecloudplatformclientv2/models/analytics_conversation_segment.rb +2 -2
  61. data/lib/purecloudplatformclientv2/models/analytics_query_predicate.rb +4 -4
  62. data/lib/purecloudplatformclientv2/models/analytics_session.rb +41 -1
  63. data/lib/purecloudplatformclientv2/models/analytics_view.rb +1 -1
  64. data/lib/purecloudplatformclientv2/models/call_forwarding.rb +71 -1
  65. data/lib/purecloudplatformclientv2/models/call_media_participant.rb +30 -4
  66. data/lib/purecloudplatformclientv2/models/call_route.rb +230 -0
  67. data/lib/purecloudplatformclientv2/models/call_target.rb +242 -0
  68. data/lib/purecloudplatformclientv2/models/contact.rb +1 -1
  69. data/lib/purecloudplatformclientv2/models/conversation_notification_message.rb +90 -1
  70. data/lib/purecloudplatformclientv2/models/conversation_notification_message_details.rb +68 -4
  71. data/lib/purecloudplatformclientv2/models/conversation_notification_messages.rb +68 -4
  72. data/lib/purecloudplatformclientv2/models/conversation_notification_messages_1.rb +90 -1
  73. data/lib/purecloudplatformclientv2/models/create_email_request.rb +56 -4
  74. data/lib/purecloudplatformclientv2/models/create_queue_request.rb +53 -1
  75. data/lib/purecloudplatformclientv2/models/create_secure_session.rb +290 -0
  76. data/lib/purecloudplatformclientv2/models/dependency.rb +2 -2
  77. data/lib/purecloudplatformclientv2/models/dependency_object.rb +2 -2
  78. data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
  79. data/lib/purecloudplatformclientv2/models/external_contact.rb +26 -1
  80. data/lib/purecloudplatformclientv2/models/import_script_status_response.rb +251 -0
  81. data/lib/purecloudplatformclientv2/models/inbound_route.rb +27 -1
  82. data/lib/purecloudplatformclientv2/models/interaction_stat_alert_notification.rb +2 -2
  83. data/lib/purecloudplatformclientv2/models/interaction_stat_rule_notification.rb +2 -2
  84. data/lib/purecloudplatformclientv2/models/interaction_stats_alert.rb +2 -2
  85. data/lib/purecloudplatformclientv2/models/interaction_stats_rule.rb +2 -2
  86. data/lib/purecloudplatformclientv2/models/intraday_data_group.rb +2 -2
  87. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_intraday_data_group.rb +2 -2
  88. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_intraday_data_groupings.rb +2 -2
  89. data/lib/purecloudplatformclientv2/models/json_node.rb +17 -17
  90. data/lib/purecloudplatformclientv2/models/management_unit.rb +59 -7
  91. data/lib/purecloudplatformclientv2/models/management_unit_reference.rb +229 -0
  92. data/lib/purecloudplatformclientv2/models/management_unit_settings.rb +364 -0
  93. data/lib/purecloudplatformclientv2/models/message.rb +93 -1
  94. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_details.rb +68 -4
  95. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_media_participant.rb +93 -4
  96. data/lib/purecloudplatformclientv2/models/message_conversation_notification_messages.rb +68 -4
  97. data/lib/purecloudplatformclientv2/models/message_conversation_notification_participants.rb +93 -4
  98. data/lib/purecloudplatformclientv2/models/message_details.rb +67 -1
  99. data/lib/purecloudplatformclientv2/models/participant.rb +2 -2
  100. data/lib/purecloudplatformclientv2/models/participant_basic.rb +2 -2
  101. data/lib/purecloudplatformclientv2/models/queue.rb +53 -1
  102. data/lib/purecloudplatformclientv2/models/scheduling_settings.rb +229 -0
  103. data/lib/purecloudplatformclientv2/models/secure_session.rb +382 -0
  104. data/lib/purecloudplatformclientv2/models/secure_session_entity_listing.rb +203 -0
  105. data/lib/purecloudplatformclientv2/models/short_term_forecasting_settings.rb +203 -0
  106. data/lib/purecloudplatformclientv2/models/signed_data.rb +201 -0
  107. data/lib/purecloudplatformclientv2/models/time_off_request_settings.rb +255 -0
  108. data/lib/purecloudplatformclientv2/models/update_user.rb +2 -1
  109. data/lib/purecloudplatformclientv2/models/user_conversation_summary_notification.rb +26 -1
  110. data/lib/purecloudplatformclientv2/models/user_queue.rb +53 -1
  111. data/lib/purecloudplatformclientv2/models/user_reference.rb +228 -0
  112. data/lib/purecloudplatformclientv2/version.rb +1 -1
  113. metadata +34 -2
@@ -1011,6 +1011,7 @@ module PureCloud
1011
1011
  # @option opts [BOOLEAN] :agent_has_read agent has the evaluation
1012
1012
  # @option opts [BOOLEAN] :expand_answer_total_scores get the total scores for evaluations
1013
1013
  # @option opts [Integer] :maximum maximum
1014
+ # @option opts [String] :sort_order sort order options for agentUserId or evaluatorUserId query. Valid options are 'a', 'asc', 'ascending', 'd', 'desc', 'descending'
1014
1015
  # @return [EvaluationEntityListing]
1015
1016
  def get_quality_evaluations_query(opts = {})
1016
1017
  data, _status_code, _headers = get_quality_evaluations_query_with_http_info(opts)
@@ -1037,6 +1038,7 @@ module PureCloud
1037
1038
  # @option opts [BOOLEAN] :agent_has_read agent has the evaluation
1038
1039
  # @option opts [BOOLEAN] :expand_answer_total_scores get the total scores for evaluations
1039
1040
  # @option opts [Integer] :maximum maximum
1041
+ # @option opts [String] :sort_order sort order options for agentUserId or evaluatorUserId query. Valid options are 'a', 'asc', 'ascending', 'd', 'desc', 'descending'
1040
1042
  # @return [Array<(EvaluationEntityListing, Fixnum, Hash)>] EvaluationEntityListing data, response status code and response headers
1041
1043
  def get_quality_evaluations_query_with_http_info(opts = {})
1042
1044
  if @api_client.config.debugging
@@ -1138,6 +1140,12 @@ module PureCloud
1138
1140
 
1139
1141
 
1140
1142
 
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1141
1149
 
1142
1150
 
1143
1151
 
@@ -1167,6 +1175,7 @@ module PureCloud
1167
1175
  query_params[:'agentHasRead'] = opts[:'agent_has_read'] if opts[:'agent_has_read']
1168
1176
  query_params[:'expandAnswerTotalScores'] = opts[:'expand_answer_total_scores'] if opts[:'expand_answer_total_scores']
1169
1177
  query_params[:'maximum'] = opts[:'maximum'] if opts[:'maximum']
1178
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
1170
1179
 
1171
1180
  # header parameters
1172
1181
  header_params = {}
@@ -860,5 +860,79 @@ module PureCloud
860
860
  end
861
861
  return data, status_code, headers
862
862
  end
863
+
864
+ # Get the upload status of an imported script
865
+ #
866
+ # @param upload_id Upload ID
867
+ # @param [Hash] opts the optional parameters
868
+ # @option opts [BOOLEAN] :long_poll Enable longPolling endpoint (default to false)
869
+ # @return [ImportScriptStatusResponse]
870
+ def get_scripts_upload_status(upload_id, opts = {})
871
+ data, _status_code, _headers = get_scripts_upload_status_with_http_info(upload_id, opts)
872
+ return data
873
+ end
874
+
875
+ # Get the upload status of an imported script
876
+ #
877
+ # @param upload_id Upload ID
878
+ # @param [Hash] opts the optional parameters
879
+ # @option opts [BOOLEAN] :long_poll Enable longPolling endpoint
880
+ # @return [Array<(ImportScriptStatusResponse, Fixnum, Hash)>] ImportScriptStatusResponse data, response status code and response headers
881
+ def get_scripts_upload_status_with_http_info(upload_id, opts = {})
882
+ if @api_client.config.debugging
883
+ @api_client.config.logger.debug "Calling API: ScriptsApi.get_scripts_upload_status ..."
884
+ end
885
+
886
+
887
+ # verify the required parameter 'upload_id' is set
888
+ fail ArgumentError, "Missing the required parameter 'upload_id' when calling ScriptsApi.get_scripts_upload_status" if upload_id.nil?
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+ # resource path
901
+ local_var_path = "/api/v2/scripts/uploads/{uploadId}/status".sub('{format}','json').sub('{' + 'uploadId' + '}', upload_id.to_s)
902
+
903
+ # query parameters
904
+ query_params = {}
905
+ query_params[:'longPoll'] = opts[:'long_poll'] if opts[:'long_poll']
906
+
907
+ # header parameters
908
+ header_params = {}
909
+
910
+ # HTTP header 'Accept' (if needed)
911
+ local_header_accept = ['application/json']
912
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
913
+
914
+ # HTTP header 'Content-Type'
915
+ local_header_content_type = ['application/json']
916
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
917
+
918
+ # form parameters
919
+ form_params = {}
920
+
921
+ # http body (model)
922
+ post_body = nil
923
+
924
+ auth_names = ['PureCloud Auth']
925
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
926
+ :header_params => header_params,
927
+ :query_params => query_params,
928
+ :form_params => form_params,
929
+ :body => post_body,
930
+ :auth_names => auth_names,
931
+ :return_type => 'ImportScriptStatusResponse')
932
+ if @api_client.config.debugging
933
+ @api_client.config.logger.debug "API called: ScriptsApi#get_scripts_upload_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
934
+ end
935
+ return data, status_code, headers
936
+ end
863
937
  end
864
938
  end
@@ -0,0 +1,90 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require "uri"
18
+
19
+ module PureCloud
20
+ class SignedDataApi
21
+ attr_accessor :api_client
22
+
23
+ def initialize(api_client = ApiClient.default)
24
+ @api_client = api_client
25
+ end
26
+
27
+ # Sign identifying information
28
+ #
29
+ # @param [Hash] opts the optional parameters
30
+ # @option opts [Object] :body
31
+ # @return [SignedData]
32
+ def post_signeddata(opts = {})
33
+ data, _status_code, _headers = post_signeddata_with_http_info(opts)
34
+ return data
35
+ end
36
+
37
+ # Sign identifying information
38
+ #
39
+ # @param [Hash] opts the optional parameters
40
+ # @option opts [Object] :body
41
+ # @return [Array<(SignedData, Fixnum, Hash)>] SignedData data, response status code and response headers
42
+ def post_signeddata_with_http_info(opts = {})
43
+ if @api_client.config.debugging
44
+ @api_client.config.logger.debug "Calling API: SignedDataApi.post_signeddata ..."
45
+ end
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ # resource path
54
+ local_var_path = "/api/v2/signeddata".sub('{format}','json')
55
+
56
+ # query parameters
57
+ query_params = {}
58
+
59
+ # header parameters
60
+ header_params = {}
61
+
62
+ # HTTP header 'Accept' (if needed)
63
+ local_header_accept = ['application/json']
64
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
65
+
66
+ # HTTP header 'Content-Type'
67
+ local_header_content_type = ['application/json']
68
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
69
+
70
+ # form parameters
71
+ form_params = {}
72
+
73
+ # http body (model)
74
+ post_body = @api_client.object_to_http_body(opts[:'body'])
75
+
76
+ auth_names = ['PureCloud Auth']
77
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
78
+ :header_params => header_params,
79
+ :query_params => query_params,
80
+ :form_params => form_params,
81
+ :body => post_body,
82
+ :auth_names => auth_names,
83
+ :return_type => 'SignedData')
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: SignedDataApi#post_signeddata\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+ end
90
+ end
@@ -739,6 +739,69 @@ module PureCloud
739
739
  return data, status_code, headers
740
740
  end
741
741
 
742
+ # Get the management units to which the agents belong
743
+ #
744
+ # @param [Hash] opts the optional parameters
745
+ # @option opts [Array<String>] :body body
746
+ # @return [Array<AgentManagementUnitReference>]
747
+ def post_workforcemanagement_agents_managementunits(opts = {})
748
+ data, _status_code, _headers = post_workforcemanagement_agents_managementunits_with_http_info(opts)
749
+ return data
750
+ end
751
+
752
+ # Get the management units to which the agents belong
753
+ #
754
+ # @param [Hash] opts the optional parameters
755
+ # @option opts [Array<String>] :body body
756
+ # @return [Array<(Array<AgentManagementUnitReference>, Fixnum, Hash)>] Array<AgentManagementUnitReference> data, response status code and response headers
757
+ def post_workforcemanagement_agents_managementunits_with_http_info(opts = {})
758
+ if @api_client.config.debugging
759
+ @api_client.config.logger.debug "Calling API: WorkforceManagementApi.post_workforcemanagement_agents_managementunits ..."
760
+ end
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+ # resource path
769
+ local_var_path = "/api/v2/workforcemanagement/agents/managementunits".sub('{format}','json')
770
+
771
+ # query parameters
772
+ query_params = {}
773
+
774
+ # header parameters
775
+ header_params = {}
776
+
777
+ # HTTP header 'Accept' (if needed)
778
+ local_header_accept = ['application/json']
779
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
780
+
781
+ # HTTP header 'Content-Type'
782
+ local_header_content_type = ['application/json']
783
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
784
+
785
+ # form parameters
786
+ form_params = {}
787
+
788
+ # http body (model)
789
+ post_body = @api_client.object_to_http_body(opts[:'body'])
790
+
791
+ auth_names = ['PureCloud Auth']
792
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
793
+ :header_params => header_params,
794
+ :query_params => query_params,
795
+ :form_params => form_params,
796
+ :body => post_body,
797
+ :auth_names => auth_names,
798
+ :return_type => 'Array<AgentManagementUnitReference>')
799
+ if @api_client.config.debugging
800
+ @api_client.config.logger.debug "API called: WorkforceManagementApi#post_workforcemanagement_agents_managementunits\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
801
+ end
802
+ return data, status_code, headers
803
+ end
804
+
742
805
  # Request a historical adherence report
743
806
  #
744
807
  # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
@@ -76,7 +76,7 @@ module PureCloud
76
76
  http_method = http_method.to_sym.downcase
77
77
 
78
78
  header_params = @default_headers.merge(opts[:header_params] || {})
79
- header_params['purecloud-sdk'] = '20.0.0'
79
+ header_params['purecloud-sdk'] = '21.0.0'
80
80
  query_params = opts[:query_params] || {}
81
81
  form_params = opts[:form_params] || {}
82
82
 
@@ -0,0 +1,335 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # Schedule Adherence Configuration
21
+ class AdherenceSettings
22
+ # The threshold in minutes where an alert will be triggered when an agent is considered severely out of adherence
23
+ attr_accessor :severe_alert_threshold_minutes
24
+
25
+ # Target adherence percentage
26
+ attr_accessor :adherence_target_percent
27
+
28
+ # The threshold in seconds for which agents should not be penalized for being momentarily out of adherence
29
+ attr_accessor :adherence_exception_threshold_seconds
30
+
31
+ # Whether to treat all non-on-queue activities as equivalent for adherence purposes
32
+ attr_accessor :non_on_queue_activities_equivalent
33
+
34
+ # Whether to track on-queue activities
35
+ attr_accessor :track_on_queue_activity
36
+
37
+ # Activity categories that should be ignored for adherence purposes
38
+ attr_accessor :ignored_activity_categories
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+
44
+ :'severe_alert_threshold_minutes' => :'severeAlertThresholdMinutes',
45
+
46
+ :'adherence_target_percent' => :'adherenceTargetPercent',
47
+
48
+ :'adherence_exception_threshold_seconds' => :'adherenceExceptionThresholdSeconds',
49
+
50
+ :'non_on_queue_activities_equivalent' => :'nonOnQueueActivitiesEquivalent',
51
+
52
+ :'track_on_queue_activity' => :'trackOnQueueActivity',
53
+
54
+ :'ignored_activity_categories' => :'ignoredActivityCategories'
55
+
56
+ }
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.swagger_types
61
+ {
62
+
63
+ :'severe_alert_threshold_minutes' => :'Integer',
64
+
65
+ :'adherence_target_percent' => :'Integer',
66
+
67
+ :'adherence_exception_threshold_seconds' => :'Integer',
68
+
69
+ :'non_on_queue_activities_equivalent' => :'BOOLEAN',
70
+
71
+ :'track_on_queue_activity' => :'BOOLEAN',
72
+
73
+ :'ignored_activity_categories' => :'Array<String>'
74
+
75
+ }
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ return unless attributes.is_a?(Hash)
82
+
83
+ # convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
85
+
86
+
87
+ if attributes.has_key?(:'severeAlertThresholdMinutes')
88
+
89
+
90
+ self.severe_alert_threshold_minutes = attributes[:'severeAlertThresholdMinutes']
91
+
92
+
93
+ end
94
+
95
+
96
+ if attributes.has_key?(:'adherenceTargetPercent')
97
+
98
+
99
+ self.adherence_target_percent = attributes[:'adherenceTargetPercent']
100
+
101
+
102
+ end
103
+
104
+
105
+ if attributes.has_key?(:'adherenceExceptionThresholdSeconds')
106
+
107
+
108
+ self.adherence_exception_threshold_seconds = attributes[:'adherenceExceptionThresholdSeconds']
109
+
110
+
111
+ end
112
+
113
+
114
+ if attributes.has_key?(:'nonOnQueueActivitiesEquivalent')
115
+
116
+
117
+ self.non_on_queue_activities_equivalent = attributes[:'nonOnQueueActivitiesEquivalent']
118
+
119
+
120
+ end
121
+
122
+
123
+ if attributes.has_key?(:'trackOnQueueActivity')
124
+
125
+
126
+ self.track_on_queue_activity = attributes[:'trackOnQueueActivity']
127
+
128
+
129
+ end
130
+
131
+
132
+ if attributes.has_key?(:'ignoredActivityCategories')
133
+
134
+ if (value = attributes[:'ignoredActivityCategories']).is_a?(Array)
135
+ self.ignored_activity_categories = value
136
+ end
137
+
138
+
139
+
140
+ end
141
+
142
+
143
+ end
144
+
145
+ # Show invalid properties with the reasons. Usually used together with valid?
146
+ # @return Array for valid properies with the reasons
147
+ def list_invalid_properties
148
+ invalid_properties = Array.new
149
+
150
+
151
+ return invalid_properties
152
+ end
153
+
154
+ # Check to see if the all the properties in the model are valid
155
+ # @return true if the model is valid
156
+ def valid?
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+ end
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ # Checks equality by comparing each attribute.
216
+ # @param [Object] Object to be compared
217
+ def ==(o)
218
+ return true if self.equal?(o)
219
+ self.class == o.class &&
220
+ severe_alert_threshold_minutes == o.severe_alert_threshold_minutes &&
221
+ adherence_target_percent == o.adherence_target_percent &&
222
+ adherence_exception_threshold_seconds == o.adherence_exception_threshold_seconds &&
223
+ non_on_queue_activities_equivalent == o.non_on_queue_activities_equivalent &&
224
+ track_on_queue_activity == o.track_on_queue_activity &&
225
+ ignored_activity_categories == o.ignored_activity_categories
226
+ end
227
+
228
+ # @see the `==` method
229
+ # @param [Object] Object to be compared
230
+ def eql?(o)
231
+ self == o
232
+ end
233
+
234
+ # Calculates hash code according to all attributes.
235
+ # @return [Fixnum] Hash code
236
+ def hash
237
+ [severe_alert_threshold_minutes, adherence_target_percent, adherence_exception_threshold_seconds, non_on_queue_activities_equivalent, track_on_queue_activity, ignored_activity_categories].hash
238
+ end
239
+
240
+ # build the object from hash
241
+ def build_from_hash(attributes)
242
+ return nil unless attributes.is_a?(Hash)
243
+ self.class.swagger_types.each_pair do |key, type|
244
+ if type =~ /^Array<(.*)>/i
245
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
246
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
247
+ else
248
+ #TODO show warning in debug mode
249
+ end
250
+ elsif !attributes[self.class.attribute_map[key]].nil?
251
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
252
+ else
253
+ # data not found in attributes(hash), not an issue as the data can be optional
254
+ end
255
+ end
256
+
257
+ self
258
+ end
259
+
260
+ def _deserialize(type, value)
261
+ case type.to_sym
262
+ when :DateTime
263
+ DateTime.parse(value)
264
+ when :Date
265
+ Date.parse(value)
266
+ when :String
267
+ value.to_s
268
+ when :Integer
269
+ value.to_i
270
+ when :Float
271
+ value.to_f
272
+ when :BOOLEAN
273
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
274
+ true
275
+ else
276
+ false
277
+ end
278
+ when :Object
279
+ # generic object (usually a Hash), return directly
280
+ value
281
+ when /\AArray<(?<inner_type>.+)>\z/
282
+ inner_type = Regexp.last_match[:inner_type]
283
+ value.map { |v| _deserialize(inner_type, v) }
284
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
285
+ k_type = Regexp.last_match[:k_type]
286
+ v_type = Regexp.last_match[:v_type]
287
+ {}.tap do |hash|
288
+ value.each do |k, v|
289
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
290
+ end
291
+ end
292
+ else # model
293
+ _model = Object.const_get("PureCloud").const_get(type).new
294
+ _model.build_from_hash(value)
295
+ end
296
+ end
297
+
298
+ def to_s
299
+ to_hash.to_s
300
+ end
301
+
302
+ # to_body is an alias to to_body (backward compatibility))
303
+ def to_body
304
+ to_hash
305
+ end
306
+
307
+ # return the object in the form of hash
308
+ def to_hash
309
+ hash = {}
310
+ self.class.attribute_map.each_pair do |attr, param|
311
+ value = self.send(attr)
312
+ next if value.nil?
313
+ hash[param] = _to_hash(value)
314
+ end
315
+ hash
316
+ end
317
+
318
+ # Method to output non-array value in the form of hash
319
+ # For object, use to_hash. Otherwise, just return the value
320
+ def _to_hash(value)
321
+ if value.is_a?(Array)
322
+ value.compact.map{ |v| _to_hash(v) }
323
+ elsif value.is_a?(Hash)
324
+ {}.tap do |hash|
325
+ value.each { |k, v| hash[k] = _to_hash(v) }
326
+ end
327
+ elsif value.respond_to? :to_hash
328
+ value.to_hash
329
+ else
330
+ value
331
+ end
332
+ end
333
+
334
+ end
335
+ end