purecloudplatformclientv2 70.0.0 → 71.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "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", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
150
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "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", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "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", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "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", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
195
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "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", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "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
@@ -0,0 +1,229 @@
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
+ # Management unit reference object for Workforce Management (ID/selfUri only)
21
+ class ManagementUnitReference
22
+ # The globally unique identifier for the object.
23
+ attr_accessor :id
24
+
25
+ # The URI for this object
26
+ attr_accessor :self_uri
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+
32
+ :'id' => :'id',
33
+
34
+ :'self_uri' => :'selfUri'
35
+
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+
43
+ :'id' => :'String',
44
+
45
+ :'self_uri' => :'String'
46
+
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
57
+
58
+
59
+ if attributes.has_key?(:'id')
60
+
61
+
62
+ self.id = attributes[:'id']
63
+
64
+
65
+ end
66
+
67
+
68
+ if attributes.has_key?(:'selfUri')
69
+
70
+
71
+ self.self_uri = attributes[:'selfUri']
72
+
73
+
74
+ end
75
+
76
+
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properies with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+
84
+
85
+ return invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ end
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] Object to be compared
115
+ def ==(o)
116
+ return true if self.equal?(o)
117
+ self.class == o.class &&
118
+ id == o.id &&
119
+ self_uri == o.self_uri
120
+ end
121
+
122
+ # @see the `==` method
123
+ # @param [Object] Object to be compared
124
+ def eql?(o)
125
+ self == o
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Fixnum] Hash code
130
+ def hash
131
+ [id, self_uri].hash
132
+ end
133
+
134
+ # build the object from hash
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.swagger_types.each_pair do |key, type|
138
+ if type =~ /^Array<(.*)>/i
139
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
140
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
141
+ else
142
+ #TODO show warning in debug mode
143
+ end
144
+ elsif !attributes[self.class.attribute_map[key]].nil?
145
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
146
+ else
147
+ # data not found in attributes(hash), not an issue as the data can be optional
148
+ end
149
+ end
150
+
151
+ self
152
+ end
153
+
154
+ def _deserialize(type, value)
155
+ case type.to_sym
156
+ when :DateTime
157
+ DateTime.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value.to_s
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :BOOLEAN
167
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+ when :Object
173
+ # generic object (usually a Hash), return directly
174
+ value
175
+ when /\AArray<(?<inner_type>.+)>\z/
176
+ inner_type = Regexp.last_match[:inner_type]
177
+ value.map { |v| _deserialize(inner_type, v) }
178
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
179
+ k_type = Regexp.last_match[:k_type]
180
+ v_type = Regexp.last_match[:v_type]
181
+ {}.tap do |hash|
182
+ value.each do |k, v|
183
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
184
+ end
185
+ end
186
+ else # model
187
+ _model = Object.const_get("PureCloud").const_get(type).new
188
+ _model.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_body (backward compatibility))
197
+ def to_body
198
+ to_hash
199
+ end
200
+
201
+ # return the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ next if value.nil?
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Method to output non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ def _to_hash(value)
215
+ if value.is_a?(Array)
216
+ value.compact.map{ |v| _to_hash(v) }
217
+ elsif value.is_a?(Hash)
218
+ {}.tap do |hash|
219
+ value.each { |k, v| hash[k] = _to_hash(v) }
220
+ end
221
+ elsif value.respond_to? :to_hash
222
+ value.to_hash
223
+ else
224
+ value
225
+ end
226
+ end
227
+
228
+ end
229
+ end
@@ -34,7 +34,7 @@ module PureCloud
34
34
  # The type of authentication scheme.
35
35
  attr_accessor :type
36
36
 
37
- # Indicates the primary method of authentication.
37
+ # Indicates whether this authentication scheme is the primary method of authentication.
38
38
  attr_accessor :primary
39
39
 
40
40
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -28,6 +28,9 @@ module PureCloud
28
28
  # The display name of the group.
29
29
  attr_accessor :display_name
30
30
 
31
+ # The external ID of the group. Set by the provisioning client. \"caseExact\" is set to \"true\". \"mutability\" is set to \"readWrite\".
32
+ attr_accessor :external_id
33
+
31
34
  # The list of members in the group.
32
35
  attr_accessor :members
33
36
 
@@ -44,6 +47,8 @@ module PureCloud
44
47
 
45
48
  :'display_name' => :'displayName',
46
49
 
50
+ :'external_id' => :'externalId',
51
+
47
52
  :'members' => :'members',
48
53
 
49
54
  :'meta' => :'meta'
@@ -61,6 +66,8 @@ module PureCloud
61
66
 
62
67
  :'display_name' => :'String',
63
68
 
69
+ :'external_id' => :'String',
70
+
64
71
  :'members' => :'Array<ScimV2MemberReference>',
65
72
 
66
73
  :'meta' => :'ScimMetadata'
@@ -106,6 +113,15 @@ module PureCloud
106
113
  end
107
114
 
108
115
 
116
+ if attributes.has_key?(:'externalId')
117
+
118
+
119
+ self.external_id = attributes[:'externalId']
120
+
121
+
122
+ end
123
+
124
+
109
125
  if attributes.has_key?(:'members')
110
126
 
111
127
  if (value = attributes[:'members']).is_a?(Array)
@@ -150,6 +166,15 @@ module PureCloud
150
166
 
151
167
 
152
168
 
169
+ if @display_name.nil?
170
+ return false
171
+ end
172
+
173
+
174
+
175
+
176
+
177
+
153
178
 
154
179
 
155
180
 
@@ -183,6 +208,11 @@ module PureCloud
183
208
 
184
209
 
185
210
 
211
+
212
+
213
+
214
+
215
+
186
216
 
187
217
 
188
218
 
@@ -197,6 +227,7 @@ module PureCloud
197
227
  id == o.id &&
198
228
  schemas == o.schemas &&
199
229
  display_name == o.display_name &&
230
+ external_id == o.external_id &&
200
231
  members == o.members &&
201
232
  meta == o.meta
202
233
  end
@@ -210,7 +241,7 @@ module PureCloud
210
241
  # Calculates hash code according to all attributes.
211
242
  # @return [Fixnum] Hash code
212
243
  def hash
213
- [id, schemas, display_name, members, meta].hash
244
+ [id, schemas, display_name, external_id, members, meta].hash
214
245
  end
215
246
 
216
247
  # build the object from hash
@@ -195,7 +195,7 @@ module PureCloud
195
195
 
196
196
 
197
197
 
198
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
198
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "remote", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
199
199
  if @dimension && !allowed_values.include?(@dimension)
200
200
  return false
201
201
  end
@@ -262,7 +262,7 @@ module PureCloud
262
262
  # Custom attribute writer method checking allowed values (enum).
263
263
  # @param [Object] dimension Object to be assigned
264
264
  def dimension=(dimension)
265
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
265
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "remote", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
266
266
  if dimension && !allowed_values.include?(dimension)
267
267
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
268
268
  end
@@ -0,0 +1,314 @@
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 SendAgentlessOutboundMessageRequest
21
+ # The messaging address of the sender of the message. For an SMS messenger type, this must be a currently provisioned sms phone number. The phone number address must be in E.164 format. E.g. +13175555555 or +34234234234
22
+ attr_accessor :from_address
23
+
24
+ # The messaging address of the recipient of the message. For an SMS messenger type, the phone number address must be in E.164 format. E.g. +13175555555 or +34234234234
25
+ attr_accessor :to_address
26
+
27
+ # The recipient messaging address messenger type.
28
+ attr_accessor :to_address_messenger_type
29
+
30
+ # The text of the message to send
31
+ attr_accessor :text_body
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+
37
+ :'from_address' => :'fromAddress',
38
+
39
+ :'to_address' => :'toAddress',
40
+
41
+ :'to_address_messenger_type' => :'toAddressMessengerType',
42
+
43
+ :'text_body' => :'textBody'
44
+
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+
52
+ :'from_address' => :'String',
53
+
54
+ :'to_address' => :'String',
55
+
56
+ :'to_address_messenger_type' => :'String',
57
+
58
+ :'text_body' => :'String'
59
+
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ def initialize(attributes = {})
66
+ return unless attributes.is_a?(Hash)
67
+
68
+ # convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
70
+
71
+
72
+ if attributes.has_key?(:'fromAddress')
73
+
74
+
75
+ self.from_address = attributes[:'fromAddress']
76
+
77
+
78
+ end
79
+
80
+
81
+ if attributes.has_key?(:'toAddress')
82
+
83
+
84
+ self.to_address = attributes[:'toAddress']
85
+
86
+
87
+ end
88
+
89
+
90
+ if attributes.has_key?(:'toAddressMessengerType')
91
+
92
+
93
+ self.to_address_messenger_type = attributes[:'toAddressMessengerType']
94
+
95
+
96
+ end
97
+
98
+
99
+ if attributes.has_key?(:'textBody')
100
+
101
+
102
+ self.text_body = attributes[:'textBody']
103
+
104
+
105
+ end
106
+
107
+
108
+ end
109
+
110
+ # Show invalid properties with the reasons. Usually used together with valid?
111
+ # @return Array for valid properies with the reasons
112
+ def list_invalid_properties
113
+ invalid_properties = Array.new
114
+
115
+
116
+ return invalid_properties
117
+ end
118
+
119
+ # Check to see if the all the properties in the model are valid
120
+ # @return true if the model is valid
121
+ def valid?
122
+
123
+
124
+ if @from_address.nil?
125
+ return false
126
+ end
127
+
128
+
129
+
130
+
131
+
132
+
133
+ if @to_address.nil?
134
+ return false
135
+ end
136
+
137
+
138
+
139
+
140
+
141
+
142
+ if @to_address_messenger_type.nil?
143
+ return false
144
+ end
145
+
146
+
147
+
148
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
149
+ if @to_address_messenger_type && !allowed_values.include?(@to_address_messenger_type)
150
+ return false
151
+ end
152
+
153
+
154
+
155
+
156
+ if @text_body.nil?
157
+ return false
158
+ end
159
+
160
+
161
+
162
+
163
+
164
+ end
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] to_address_messenger_type Object to be assigned
180
+ def to_address_messenger_type=(to_address_messenger_type)
181
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
182
+ if to_address_messenger_type && !allowed_values.include?(to_address_messenger_type)
183
+ fail ArgumentError, "invalid value for 'to_address_messenger_type', must be one of #{allowed_values}."
184
+ end
185
+ @to_address_messenger_type = to_address_messenger_type
186
+ end
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+ # Checks equality by comparing each attribute.
197
+ # @param [Object] Object to be compared
198
+ def ==(o)
199
+ return true if self.equal?(o)
200
+ self.class == o.class &&
201
+ from_address == o.from_address &&
202
+ to_address == o.to_address &&
203
+ to_address_messenger_type == o.to_address_messenger_type &&
204
+ text_body == o.text_body
205
+ end
206
+
207
+ # @see the `==` method
208
+ # @param [Object] Object to be compared
209
+ def eql?(o)
210
+ self == o
211
+ end
212
+
213
+ # Calculates hash code according to all attributes.
214
+ # @return [Fixnum] Hash code
215
+ def hash
216
+ [from_address, to_address, to_address_messenger_type, text_body].hash
217
+ end
218
+
219
+ # build the object from hash
220
+ def build_from_hash(attributes)
221
+ return nil unless attributes.is_a?(Hash)
222
+ self.class.swagger_types.each_pair do |key, type|
223
+ if type =~ /^Array<(.*)>/i
224
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
225
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
226
+ else
227
+ #TODO show warning in debug mode
228
+ end
229
+ elsif !attributes[self.class.attribute_map[key]].nil?
230
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
231
+ else
232
+ # data not found in attributes(hash), not an issue as the data can be optional
233
+ end
234
+ end
235
+
236
+ self
237
+ end
238
+
239
+ def _deserialize(type, value)
240
+ case type.to_sym
241
+ when :DateTime
242
+ DateTime.parse(value)
243
+ when :Date
244
+ Date.parse(value)
245
+ when :String
246
+ value.to_s
247
+ when :Integer
248
+ value.to_i
249
+ when :Float
250
+ value.to_f
251
+ when :BOOLEAN
252
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
253
+ true
254
+ else
255
+ false
256
+ end
257
+ when :Object
258
+ # generic object (usually a Hash), return directly
259
+ value
260
+ when /\AArray<(?<inner_type>.+)>\z/
261
+ inner_type = Regexp.last_match[:inner_type]
262
+ value.map { |v| _deserialize(inner_type, v) }
263
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
264
+ k_type = Regexp.last_match[:k_type]
265
+ v_type = Regexp.last_match[:v_type]
266
+ {}.tap do |hash|
267
+ value.each do |k, v|
268
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
269
+ end
270
+ end
271
+ else # model
272
+ _model = Object.const_get("PureCloud").const_get(type).new
273
+ _model.build_from_hash(value)
274
+ end
275
+ end
276
+
277
+ def to_s
278
+ to_hash.to_s
279
+ end
280
+
281
+ # to_body is an alias to to_body (backward compatibility))
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # return the object in the form of hash
287
+ def to_hash
288
+ hash = {}
289
+ self.class.attribute_map.each_pair do |attr, param|
290
+ value = self.send(attr)
291
+ next if value.nil?
292
+ hash[param] = _to_hash(value)
293
+ end
294
+ hash
295
+ end
296
+
297
+ # Method to output non-array value in the form of hash
298
+ # For object, use to_hash. Otherwise, just return the value
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map{ |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+
313
+ end
314
+ end