purecloudplatformclientv2 70.0.0 → 71.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsSession.md +1 -0
  4. data/docs/BuSearchAgentSchedulesRequest.md +15 -0
  5. data/docs/ConversationsApi.md +198 -0
  6. data/docs/ManagementUnitReference.md +14 -0
  7. data/docs/RoutingApi.md +126 -0
  8. data/docs/SCIMApi.md +270 -0
  9. data/docs/ScimServiceProviderConfigAuthenticationScheme.md +1 -1
  10. data/docs/ScimV2Group.md +2 -1
  11. data/docs/SendAgentlessOutboundMessageRequest.md +16 -0
  12. data/docs/SendAgentlessOutboundMessageResponse.md +21 -0
  13. data/docs/ShiftTradeSettings.md +1 -0
  14. data/docs/TranscriptionSettings.md +14 -0
  15. data/docs/WhatsAppIntegrationRequest.md +17 -0
  16. data/docs/WorkPlanReference.md +3 -1
  17. data/docs/WorkforceManagementApi.md +74 -3
  18. data/lib/purecloudplatformclientv2.rb +6 -0
  19. data/lib/purecloudplatformclientv2/api/conversations_api.rb +195 -0
  20. data/lib/purecloudplatformclientv2/api/routing_api.rb +120 -0
  21. data/lib/purecloudplatformclientv2/api/scim_api.rb +276 -0
  22. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +73 -0
  23. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  24. data/lib/purecloudplatformclientv2/models/analytics_session.rb +30 -4
  25. data/lib/purecloudplatformclientv2/models/bu_search_agent_schedules_request.rb +266 -0
  26. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +2 -2
  27. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +2 -2
  28. data/lib/purecloudplatformclientv2/models/management_unit_reference.rb +229 -0
  29. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_authentication_scheme.rb +1 -1
  30. data/lib/purecloudplatformclientv2/models/scim_v2_group.rb +32 -1
  31. data/lib/purecloudplatformclientv2/models/segment_detail_query_predicate.rb +2 -2
  32. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_request.rb +314 -0
  33. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_response.rb +424 -0
  34. data/lib/purecloudplatformclientv2/models/shift_trade_settings.rb +27 -1
  35. data/lib/purecloudplatformclientv2/models/transcription_settings.rb +252 -0
  36. data/lib/purecloudplatformclientv2/models/whats_app_integration_request.rb +321 -0
  37. data/lib/purecloudplatformclientv2/models/work_plan_reference.rb +57 -9
  38. data/lib/purecloudplatformclientv2/version.rb +1 -1
  39. metadata +14 -2
@@ -3811,6 +3811,79 @@ module PureCloud
3811
3811
  return data, status_code, headers
3812
3812
  end
3813
3813
 
3814
+ # Query published schedules for given given time range for set of users
3815
+ #
3816
+ # @param mu_id The management unit ID of the management unit, or 'mine' for the management unit of the logged-in user.
3817
+ # @param [Hash] opts the optional parameters
3818
+ # @option opts [BuSearchAgentSchedulesRequest] :body body
3819
+ # @return [UserScheduleContainer]
3820
+ def post_workforcemanagement_managementunit_agentschedules_search(mu_id, opts = {})
3821
+ data, _status_code, _headers = post_workforcemanagement_managementunit_agentschedules_search_with_http_info(mu_id, opts)
3822
+ return data
3823
+ end
3824
+
3825
+ # Query published schedules for given given time range for set of users
3826
+ #
3827
+ # @param mu_id The management unit ID of the management unit, or 'mine' for the management unit of the logged-in user.
3828
+ # @param [Hash] opts the optional parameters
3829
+ # @option opts [BuSearchAgentSchedulesRequest] :body body
3830
+ # @return [Array<(UserScheduleContainer, Fixnum, Hash)>] UserScheduleContainer data, response status code and response headers
3831
+ def post_workforcemanagement_managementunit_agentschedules_search_with_http_info(mu_id, opts = {})
3832
+ if @api_client.config.debugging
3833
+ @api_client.config.logger.debug "Calling API: WorkforceManagementApi.post_workforcemanagement_managementunit_agentschedules_search ..."
3834
+ end
3835
+
3836
+
3837
+ # verify the required parameter 'mu_id' is set
3838
+ fail ArgumentError, "Missing the required parameter 'mu_id' when calling WorkforceManagementApi.post_workforcemanagement_managementunit_agentschedules_search" if mu_id.nil?
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+
3848
+
3849
+
3850
+ # resource path
3851
+ local_var_path = "/api/v2/workforcemanagement/managementunits/{muId}/agentschedules/search".sub('{format}','json').sub('{' + 'muId' + '}', mu_id.to_s)
3852
+
3853
+ # query parameters
3854
+ query_params = {}
3855
+
3856
+ # header parameters
3857
+ header_params = {}
3858
+
3859
+ # HTTP header 'Accept' (if needed)
3860
+ local_header_accept = ['application/json']
3861
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
3862
+
3863
+ # HTTP header 'Content-Type'
3864
+ local_header_content_type = ['application/json']
3865
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
3866
+
3867
+ # form parameters
3868
+ form_params = {}
3869
+
3870
+ # http body (model)
3871
+ post_body = @api_client.object_to_http_body(opts[:'body'])
3872
+
3873
+ auth_names = ['PureCloud OAuth']
3874
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
3875
+ :header_params => header_params,
3876
+ :query_params => query_params,
3877
+ :form_params => form_params,
3878
+ :body => post_body,
3879
+ :auth_names => auth_names,
3880
+ :return_type => 'UserScheduleContainer')
3881
+ if @api_client.config.debugging
3882
+ @api_client.config.logger.debug "API called: WorkforceManagementApi#post_workforcemanagement_managementunit_agentschedules_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3883
+ end
3884
+ return data, status_code, headers
3885
+ end
3886
+
3814
3887
  # Request a historical adherence report
3815
3888
  # The maximum supported range for historical adherence queries is 31 days, or 7 days with includeExceptions = true
3816
3889
  # @param mu_id The management unit ID of the management unit
@@ -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'] = '70.0.0'
79
+ header_params['purecloud-sdk'] = '71.0.0'
80
80
  query_params = opts[:query_params] || {}
81
81
  form_params = opts[:form_params] || {}
82
82
 
@@ -161,6 +161,9 @@ module PureCloud
161
161
  # The source provider for the communication
162
162
  attr_accessor :provider
163
163
 
164
+ # Name, phone number, or email address of the remote party.
165
+ attr_accessor :remote
166
+
164
167
  # Attribute mapping from ruby-style variable name to JSON key.
165
168
  def self.attribute_map
166
169
  {
@@ -263,7 +266,9 @@ module PureCloud
263
266
 
264
267
  :'protocol_call_id' => :'protocolCallId',
265
268
 
266
- :'provider' => :'provider'
269
+ :'provider' => :'provider',
270
+
271
+ :'remote' => :'remote'
267
272
 
268
273
  }
269
274
  end
@@ -370,7 +375,9 @@ module PureCloud
370
375
 
371
376
  :'protocol_call_id' => :'String',
372
377
 
373
- :'provider' => :'String'
378
+ :'provider' => :'String',
379
+
380
+ :'remote' => :'String'
374
381
 
375
382
  }
376
383
  end
@@ -842,6 +849,15 @@ module PureCloud
842
849
  end
843
850
 
844
851
 
852
+ if attributes.has_key?(:'remote')
853
+
854
+
855
+ self.remote = attributes[:'remote']
856
+
857
+
858
+ end
859
+
860
+
845
861
  end
846
862
 
847
863
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -1067,6 +1083,10 @@ module PureCloud
1067
1083
 
1068
1084
 
1069
1085
 
1086
+
1087
+
1088
+
1089
+
1070
1090
 
1071
1091
 
1072
1092
 
@@ -1346,6 +1366,11 @@ module PureCloud
1346
1366
 
1347
1367
 
1348
1368
 
1369
+
1370
+
1371
+
1372
+
1373
+
1349
1374
 
1350
1375
 
1351
1376
 
@@ -1406,7 +1431,8 @@ module PureCloud
1406
1431
  journey_action_map_id == o.journey_action_map_id &&
1407
1432
  journey_action_map_version == o.journey_action_map_version &&
1408
1433
  protocol_call_id == o.protocol_call_id &&
1409
- provider == o.provider
1434
+ provider == o.provider &&
1435
+ remote == o.remote
1410
1436
  end
1411
1437
 
1412
1438
  # @see the `==` method
@@ -1418,7 +1444,7 @@ module PureCloud
1418
1444
  # Calculates hash code according to all attributes.
1419
1445
  # @return [Fixnum] Hash code
1420
1446
  def hash
1421
- [media_type, session_id, address_other, address_self, address_from, address_to, message_type, ani, direction, dnis, session_dnis, outbound_campaign_id, outbound_contact_id, outbound_contact_list_id, disposition_analyzer, disposition_name, edge_id, remote_name_displayable, room_id, monitored_session_id, monitored_participant_id, callback_user_name, callback_numbers, callback_scheduled_time, script_id, peer_id, skip_enabled, timeout_seconds, cobrowse_role, cobrowse_room_id, media_bridge_id, screen_share_address_self, sharing_screen, screen_share_room_id, video_room_id, video_address_self, segments, metrics, flow, media_endpoint_stats, recording, journey_customer_id, journey_customer_id_type, journey_customer_session_id, journey_customer_session_id_type, journey_action_id, journey_action_map_id, journey_action_map_version, protocol_call_id, provider].hash
1447
+ [media_type, session_id, address_other, address_self, address_from, address_to, message_type, ani, direction, dnis, session_dnis, outbound_campaign_id, outbound_contact_id, outbound_contact_list_id, disposition_analyzer, disposition_name, edge_id, remote_name_displayable, room_id, monitored_session_id, monitored_participant_id, callback_user_name, callback_numbers, callback_scheduled_time, script_id, peer_id, skip_enabled, timeout_seconds, cobrowse_role, cobrowse_room_id, media_bridge_id, screen_share_address_self, sharing_screen, screen_share_room_id, video_room_id, video_address_self, segments, metrics, flow, media_endpoint_stats, recording, journey_customer_id, journey_customer_id_type, journey_customer_session_id, journey_customer_session_id_type, journey_action_id, journey_action_map_id, journey_action_map_version, protocol_call_id, provider, remote].hash
1422
1448
  end
1423
1449
 
1424
1450
  # build the object from hash
@@ -0,0 +1,266 @@
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: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class BuSearchAgentSchedulesRequest
21
+ # Start date of the range to search. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
22
+ attr_accessor :start_date
23
+
24
+ # End date of the range to search. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
25
+ attr_accessor :end_date
26
+
27
+ # IDs of the users for whose schedules to search
28
+ attr_accessor :user_ids
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+
34
+ :'start_date' => :'startDate',
35
+
36
+ :'end_date' => :'endDate',
37
+
38
+ :'user_ids' => :'userIds'
39
+
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+
47
+ :'start_date' => :'DateTime',
48
+
49
+ :'end_date' => :'DateTime',
50
+
51
+ :'user_ids' => :'Array<String>'
52
+
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
63
+
64
+
65
+ if attributes.has_key?(:'startDate')
66
+
67
+
68
+ self.start_date = attributes[:'startDate']
69
+
70
+
71
+ end
72
+
73
+
74
+ if attributes.has_key?(:'endDate')
75
+
76
+
77
+ self.end_date = attributes[:'endDate']
78
+
79
+
80
+ end
81
+
82
+
83
+ if attributes.has_key?(:'userIds')
84
+
85
+ if (value = attributes[:'userIds']).is_a?(Array)
86
+ self.user_ids = value
87
+ end
88
+
89
+
90
+
91
+ end
92
+
93
+
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properies with the reasons
98
+ def list_invalid_properties
99
+ invalid_properties = Array.new
100
+
101
+
102
+ return invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+
109
+
110
+ if @start_date.nil?
111
+ return false
112
+ end
113
+
114
+
115
+
116
+
117
+
118
+
119
+ if @end_date.nil?
120
+ return false
121
+ end
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ end
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ # Checks equality by comparing each attribute.
150
+ # @param [Object] Object to be compared
151
+ def ==(o)
152
+ return true if self.equal?(o)
153
+ self.class == o.class &&
154
+ start_date == o.start_date &&
155
+ end_date == o.end_date &&
156
+ user_ids == o.user_ids
157
+ end
158
+
159
+ # @see the `==` method
160
+ # @param [Object] Object to be compared
161
+ def eql?(o)
162
+ self == o
163
+ end
164
+
165
+ # Calculates hash code according to all attributes.
166
+ # @return [Fixnum] Hash code
167
+ def hash
168
+ [start_date, end_date, user_ids].hash
169
+ end
170
+
171
+ # build the object from hash
172
+ def build_from_hash(attributes)
173
+ return nil unless attributes.is_a?(Hash)
174
+ self.class.swagger_types.each_pair do |key, type|
175
+ if type =~ /^Array<(.*)>/i
176
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
177
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
178
+ else
179
+ #TODO show warning in debug mode
180
+ end
181
+ elsif !attributes[self.class.attribute_map[key]].nil?
182
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
183
+ else
184
+ # data not found in attributes(hash), not an issue as the data can be optional
185
+ end
186
+ end
187
+
188
+ self
189
+ end
190
+
191
+ def _deserialize(type, value)
192
+ case type.to_sym
193
+ when :DateTime
194
+ DateTime.parse(value)
195
+ when :Date
196
+ Date.parse(value)
197
+ when :String
198
+ value.to_s
199
+ when :Integer
200
+ value.to_i
201
+ when :Float
202
+ value.to_f
203
+ when :BOOLEAN
204
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
205
+ true
206
+ else
207
+ false
208
+ end
209
+ when :Object
210
+ # generic object (usually a Hash), return directly
211
+ value
212
+ when /\AArray<(?<inner_type>.+)>\z/
213
+ inner_type = Regexp.last_match[:inner_type]
214
+ value.map { |v| _deserialize(inner_type, v) }
215
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
216
+ k_type = Regexp.last_match[:k_type]
217
+ v_type = Regexp.last_match[:v_type]
218
+ {}.tap do |hash|
219
+ value.each do |k, v|
220
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
221
+ end
222
+ end
223
+ else # model
224
+ _model = Object.const_get("PureCloud").const_get(type).new
225
+ _model.build_from_hash(value)
226
+ end
227
+ end
228
+
229
+ def to_s
230
+ to_hash.to_s
231
+ end
232
+
233
+ # to_body is an alias to to_body (backward compatibility))
234
+ def to_body
235
+ to_hash
236
+ end
237
+
238
+ # return the object in the form of hash
239
+ def to_hash
240
+ hash = {}
241
+ self.class.attribute_map.each_pair do |attr, param|
242
+ value = self.send(attr)
243
+ next if value.nil?
244
+ hash[param] = _to_hash(value)
245
+ end
246
+ hash
247
+ end
248
+
249
+ # Method to output non-array value in the form of hash
250
+ # For object, use to_hash. Otherwise, just return the value
251
+ def _to_hash(value)
252
+ if value.is_a?(Array)
253
+ value.compact.map{ |v| _to_hash(v) }
254
+ elsif value.is_a?(Hash)
255
+ {}.tap do |hash|
256
+ value.each { |k, v| hash[k] = _to_hash(v) }
257
+ end
258
+ elsif value.respond_to? :to_hash
259
+ value.to_hash
260
+ else
261
+ value
262
+ end
263
+ end
264
+
265
+ end
266
+ end
@@ -147,7 +147,7 @@ module PureCloud
147
147
 
148
148
 
149
149
 
150
- allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
150
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
151
151
  if @dimension && !allowed_values.include?(@dimension)
152
152
  return false
153
153
  end
@@ -192,7 +192,7 @@ module PureCloud
192
192
  # Custom attribute writer method checking allowed values (enum).
193
193
  # @param [Object] dimension Object to be assigned
194
194
  def dimension=(dimension)
195
- allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
195
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
196
196
  if dimension && !allowed_values.include?(dimension)
197
197
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
198
198
  end